---
title: Descoberta e mapas
slug: descoberta-e-mapas
docTags: 
createdAt: 2026-10-23T16:59:09.277Z
---

## <font color="#22C55E">Estrutura organizacional</font>

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/_LQ-QuzXMwl-4A60STGVm_image.png" size="67" isUploading="false" width="672" height="423" darkWidth="672" darkHeight="423" showCaption="false"}

Tela: Estrutura organizacional

A estrutura organizacional guarda duas árvores que agrupam tudo no Hive: **Locais** (Empresa ›Localidade › Prédio › Andar › Sala) e **Departamentos** (por exemplo Diretoria › Financeiro › Contas a pagar, com centro de custo). As máquinas se encaixam sozinhas, e a estrutura é usada pelo mapa físico, pelos alvos das implantações e para definir quem vê cada item na Loja. Fica em **Descoberta ›Estrutura**.

### O que você pode fazer aqui

&#x20;Criar a empresa e as localidades com **Nova empresa ou localidade**, e montar a árvore com **Adicionar dentro**.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/TICFvhevmZG_LaB0LczMr_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Criar departamentos com **Novo departamento**, ligados a nomes do diretório e a OUs.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/xnHkZZGgbj0PqlJDebkNV_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;**Editar** um nó (nome, código, dentro de onde ele fica, tags de vínculo) ou **Remover**.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/UpanH6SL_bBELJG3zvaDD_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Alternar entre **Lista** e **Mapa** para ver a árvore.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/iSpMUbIVqTONdsyZlD9e1_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Ver quantas máquinas há em cada nó (**Máquinas**, com "n direto") e abri-las no inventário.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/_aWAU07MzOJ8ISyjJ2yFz_image.png" size="10" isUploading="false" width="5" height="4" darkWidth="5" darkHeight="4" showCaption="false"}

### Passo a passo: montar a árvore de locais

1. Abra **Descoberta › Estrutura**, aba **Locais**.
2. Clique em **Nova empresa ou localidade** (exige assets\:write ). Escolha o **Tipo** (Empresa ou Localidade), preencha **Nome** e, se quiser, **Código**, e clique em **Salvar**.
3. Numa linha, clique em **Adicionar dentro** para criar o nível de baixo. Cada nível só fica dentro de um nível mais alto: prédios, andares e salas ficam dentro de uma localidade (um andar pode ficar direto na localidade, ou dentro de um prédio).
4. Para vincular máquinas pela origem, edite um local e preencha **Vincular automaticamente pela tag**, ou escolha em **Ou escolha uma tag já em uso** (a lista mostra quantas máquinas têm cada tag).
5. Para mover um nó, clique em **Editar** e mude **Dentro de**.

Uma localidade também vira o site usado nas implantações para fuso, janela de manutenção e ponto de distribuição, e os sites que já existiam aparecem como nós da árvore.

### Como uma máquina cai no lugar certo

Local, da regra mais forte para a mais fraca:

1. **Tag de vínculo**: uma máquina com uma das tags do local cai nele (o nível mais fundo ganha). Tags úteis são as da varredura (passo 5 do assistente de varredura ou "Descoberto por: ..."), as do token de instalação do agente e Agente: \<token> , Cluster: \<nome> , Nuvem: \<conta> e Hipervisor: \<conexão> .
2. **Rack**: a sala, o andar ou o prédio onde o rack dela está.
3. **Porta do switch**: o local do switch onde ela está ligada.
4. **Sub-rede**: a localidade da sub-rede dela (cadastrada em **Ativos › Tags › Tags pela origem**, campo **Site**).

Departamento: o departamento do usuário principal da máquina no diretório (o nome do departamento ou um dos **Nomes no diretório**); senão, o departamento cujas **OUs** batem com o caminho da OU da conta de computador.

Uma escolha feita à mão na máquina (painel **Onde fica** › **Trocar**) vale mais que qualquer regra; **Automático (pelas regras)** volta para as regras. A máquina herda as tags Empresa , Localidade , Prédio , Andar , Sala e Departamento com os nomes do caminho; quando ela muda de rack, porta, rede ou usuário, elas mudam sozinhas. A estrutura é aplicada quando uma varredura termina, quando o agente manda inventário, a cada 10 minutos e sempre que a árvore muda.

**Exemplo prático: localidade "São Paulo HQ" com dois andares e a sub-rede**

1. **Nova empresa ou localidade**, **Tipo** Empresa, **Nome**Aurora S.A. , **Salvar**.
2. Em Aurora S.A. , **Adicionar dentro**, **Tipo** Localidade, **Nome**São Paulo HQ , **Código**SPO , **Salvar**. 3. Em São Paulo HQ , **Adicionar dentro**, **Tipo** Andar, **Nome**Andar 1 , **Salvar**; repita para Andar 2 . 4. Abra **Ativos › Tags**, aba **Tags pela origem**, **Nova sub-rede**: **Rede (CIDR)**&#x31;0.10.0.0/16 , **Nome&#x20;**&#x53;P HQ , **Site**São Paulo HQ (o mesmo nome liga à mesma localidade), **Cadastrar e aplicar tags**.
3. De volta à **Estrutura**, São Paulo HQ mostra, por exemplo, **Máquinas** 312: toda máquina com endereço em 10.10.0.0/16 caiu ali e ganhou as tags Empresa: Aurora S.A. e Localidade: São Paulo HQ .
4. Para pôr máquinas num andar: edite Andar 2 e, em **Vincular automaticamente pela tag**, inclua Agente: SP-ANDAR2 (o token usado para instalar os agentes daquele andar). Ao salvar ("Salvo; as máquinas foram reposicionadas."), essas máquinas vão para Andar 2 e ganham Andar: Andar 2 .

São Paulo HQ continua contando-as, agora com "(n direto)" para as que estão só na localidade. 7. Um notebook que é do Andar 1 mas foi instalado com o token errado: abra-o, painel **Onde fica**, **Trocar**, escolha Andar 1 . Agora ele mostra "escolhido à mão".

### Exemplo prático: departamento Financeiro pelo diretório

1. Aba **Departamentos**, **Novo departamento**, **Nome**Financeiro , **Centro de custo**CC-2100 , **Nomes no diretório**Finance, FIN , **OUs**OU=Financeiro , **Salvar**.
2. Máquinas cujo usuário principal tem o atributo "department" Finance (ou cuja conta de computador está sob OU=Financeiro ) caem em Financeiro e ganham a tag Departamento: Financeiro .
3. Dentro de Financeiro , **Adicionar dentro**Contas a pagar . Em **Ativos › Todos os ativos**, o filtro **Departamento**Financeiro também inclui Contas a pagar .

### Onde a estrutura é usada

&#x20;**Implantações, patches e playbooks**: escolha um nó e todas as máquinas da subárvore entram.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/zpm_1wHOGYzIXs_eLirk2_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;**Loja**: quem vê cada item.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/sfmGD22U3Bjh44blOdcyw_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;**Mapa físico**: as máquinas agrupadas pelo caminho do local.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/PGpTh5M8Zp3zPu8MGvtXZ_image.png" size="10" isUploading="false" width="5" height="4" darkWidth="5" darkHeight="4" showCaption="false"}

&#x20;**Racks**: cada rack fica numa sala, andar ou prédio.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/vaGFO-_UDJ--zqWk6cZ8m_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;**Inventário**: os filtros **Local** e **Departamento** incluem a subárvore.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/k7HsepSbD-w7AN6OMiE7f_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

### Cuidados e limites

&#x20;Criar, editar e remover nós exige assets\:write .

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/h4t0fZh5Q-GcN4rMGdC9C_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;**Remover** apaga também tudo o que está dentro; as máquinas voltam às regras automáticas.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/BVwdrOVb2Ws-kdjYcEH61_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Os nomes são únicos entre irmãos ("There is already a location with this name here.").

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/RI2GeS8rQqy2rLjR4MOIx_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Uma tag tem até 200 caracteres.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/LskrANq1sBRqmbz79dlA2_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Só os locais têm tags de vínculo; os departamentos usam nomes do diretório e OUs.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/TJdBK4YBh-c181qSdLqXK_image.png" size="10" isUploading="false" width="5" height="4" darkWidth="5" darkHeight="4" showCaption="false"}

### Relacionados

&#x20;Tags e grupos

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/OdJwhKJVmG976utWjhScm_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Descoberta

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/NJS8IFSlSe3RKGTdbKgch_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Mapa de rede

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/vugnN24cNk6oOPQ0C0RSy_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Implantações

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/ijV_FHEwBIOpAddFZnaDt_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Inventário

***

## <font color="#22C55E">Área de Descoberta</font>

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/WXowsTZmEp2yW87aPy2d8_image.png" size="67" isUploading="false" width="672" height="426" darkWidth="672" darkHeight="426" showCaption="false"}

Tela: Área de Descoberta (1/3)

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/SYW8gEK9n40RxaLSZ7Lnu_image.png" size="67" isUploading="false" width="672" height="423" darkWidth="672" darkHeight="423" showCaption="false"}

Tela: Área de Descoberta (2/3)

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/kbvfac8xK48K4D_za-316_image.png" size="67" isUploading="false" width="672" height="426" darkWidth="672" darkHeight="426" showCaption="false"}

Tela: Área de Descoberta (3/3)

Em **Descoberta › Descoberta** você varre redes a partir de um coletor para achar o que não tem agente: estações, servidores, impressoras, câmeras, telefones e equipamentos de rede. Cada varredura diz quais faixas, métodos, credenciais, coletor, intensidade, tags e agendamento usa; cada execução mostra o que é novo, o que mudou, o que sumiu e o que continua sem agente. Senhas, chaves e comunidades SNMP ficam no **Cofre de credenciais** (**Integrações › Credenciais**, também uma aba da Descoberta). Nada abre da internet para dentro: o coletor só faz chamadas de saída. Criar e rodar varreduras pede **Administrar agentes**.

### O que você pode fazer aqui

&#x20;**Varreduras**: ver cada varredura com escopo, métodos, última execução (responderam, novos, sem agente) e próxima execução; **Rodar agora**, **Editar** ou remover.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/RcKNaRRpcmb_DDcwRLEoM_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;**Nova varredura**: o assistente de sete passos com uma estimativa antes de salvar.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/VqRKixjxX_mlNu0GjdVbx_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;**Cofre de credenciais**: criar, editar, testar e remover credenciais de WinRM, SSH e SNMP; ver quantas varreduras usam cada uma.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/eSENsD8Y6Tl8HyQXcE1LK_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;**Tela da execução**: acompanhar uma execução ao vivo, comparar com a anterior, ler os erros e instalar o agente nas máquinas Windows achadas sem ele.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/TBrWDsF0a93QPgfHtpq8f_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;No detalhe do ativo, **Descoberto por** mostra qual método, coletor e varredura trouxe cada dado.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/s3BipV8mRexieQGV5rPFW_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

### Criando uma varredura

**Escopo.** Marque **Redes conhecidas** (as cadastradas e as vistas pelos agentes, com a contagem de ativos) ou acrescente **Outras faixas** como rede (CIDR, como 10.20.0.0/24 ) ou **De**/**Até**. Em **Exclusões**,

tire faixas sensíveis como automação industrial (OT) ou equipamentos médicos. Até 65.536 endereços por varredura.

**Métodos.** Ligue o que esta varredura usa: ICMP (ping), ARP (MAC na mesma rede), portas TCP comuns (30 portas), certificados TLS, NetBIOS (nome do Windows), mDNS / SSDP (impressoras, TVs, IoT), WMI / WinRM (inventário do Windows sem agente, inclusive Windows 2008 R2), SSH (Linux, Unix e appliances), SNMP v1/v2c/v3 (switches, roteadores, impressoras: portas, VLANs e a tabela de MACs), LLDP e CDP (vizinhos, lidos por SNMP). NetFlow / sFlow / IPFIX não é método de varredura: o coletor recebe fluxos o tempo todo.

**Credenciais.** Para cada método com credencial (WinRM, SSH, SNMP), marque uma ou mais credenciais do cofre ou crie uma **Nova credencial** ali mesmo. A senha fica no cofre e só vai ao coletor junto com a tarefa.

**Coletor e intensidade.** Escolha o coletor dentro da rede e a intensidade: **Leve** (50 pacotes/s, 32 de cada vez), **Normal** (200 pacotes/s, 128 de cada vez) ou **Rápida** (1000 pacotes/s, 256 de cada vez, pede confirmação). A varredura pausa sozinha se a rede ficar lenta. Se quiser, **Rodar só nesta janela de horário** (por exemplo das 22:00 às 06:00).

**Tags de origem.** Todo ativo achado recebe a tag Descoberto por: \<método> · \<coletor> · \<varredura> (sempre com este nome, em qualquer idioma) e as tags que você incluir aqui (tecle Enter depois de cada uma).

**Agendamento.Só quando eu pedir**, **Todo dia** ou **Alguns dias da semana**, num horário do seu fuso. **Rodar agora, depois de salvar** começa a primeira execução na hora.

**Revisão.** Dê o **Nome da varredura** e confira a estimativa: endereços, duração estimada e carga na rede, com avisos para intensidade rápida, credenciais e escopos grandes. Depois, **Salvar varredura**.

### Cofre de credenciais

Em **Integrações › Credenciais**, **Nova credencial** pede um **Nome**, o **Tipo** e:

&#x20;**WMI / WinRM**: usuário como DOMÍNIO\usuário ou usuário\@domínio , senha, **Transporte do WinRM&#x20;**&#x48;TTPS (5986) ou HTTP (5985).

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/myPhl_n1jQ-p6N4T87RgC_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;**SSH**: usuário, senha e a porta, se não for a 22.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/_o2PuINLDUwexN5Rpq5KS_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;**SNMP**: a versão — v1 ou v2c com a **Comunidade**, ou v3 com o **Usuário SNMP v3**, o **Nível de segurança** (authPriv, authNoPriv ou noAuthNoPriv), o **Protocolo de autenticação** (SHA-1 a SHA-512, ou MD5) e a senha, e o **Protocolo de privacidade** (AES-128, AES-192, AES-256 ou DES) e a senha (em branco usa a senha de autenticação).

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/-jQwxwySJl9HAwj0h6p2N_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;**Só nestas redes (opcional)**: limita onde a credencial pode ser usada, como 10.20.0.0/16 .

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/NTjOsTxvPid9h8VlW1r6U_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

**Testar** roda por um coletor contra uma máquina em três etapas — **Alcançar a porta**, **Entrar**, **Coletar**— e mostra o que o método traz (sistema, nome da máquina, programas, serviços). Editar uma credencial atualiza todas as varreduras que a usam; o segredo nunca volta a ser exibido.

### Lendo uma execução

A página da execução mostra o estado (**Esperando o coletor**, **Rodando**, **Concluída**, **Falhou**, **Cancelada**), o andamento em endereços e os números **Responderam**, **Novos**, **Alterados**,
**Desaparecidos** (vistos na execução anterior e não nesta), **Sem agente** e **Pausas (rede lenta)**. As abas listam os aparelhos de cada tipo com IP, nome, MAC, fabricante, sistema, tipo, métodos e portas abertas, e **Erros** explica cada falha (credencial recusada, porta fechada). Em **Sem agente**, selecione máquinas Windows e clique em **Instalar agente**: o coletor da varredura instala por WinRM com uma credencial do cofre. **Cancelar execução** para a execução; **Execuções** lista o histórico.

### Como a descoberta reconhece um aparelho conhecido

Um aparelho achado por uma varredura entra no inventário pela mesma conciliação do agente. Do mais confiável para o menos:

1. Número de série ou UUID de hardware lido de dentro do aparelho (WinRM, SSH).
2. Endereços MAC que o próprio aparelho informa (inventário, NetBIOS).
3. O nome que o aparelho informa.
4. O endereço IP — primeiro um aparelho com agente, depois o visto mais recentemente. 5. Último recurso: o MAC da tabela ARP do coletor, e só quando exatamente um aparelho o tem.

Tabelas ARP e DNS que ninguém limpa guardam MACs e IPs de aparelhos que já saíram, então o Hive as trata com cuidado: um MAC de ARP ambíguo nunca une dois registros, um MAC de ARP que jápertence a outro aparelho não é copiado, e os nomes vêm só do que o aparelho informa (sem DNS reverso). Quando um IP passa a responder por um aparelho, ele sai dos outros registros sem agente que ainda o guardavam. Se a máquina já tem agente, a descoberta só registra que a viu.

**Exemplo prático: varredura semanal de 10.10.0.0/16 com SNMP v3, SSH e WinRM**

1. Em **Integrações › Credenciais**, crie três credenciais e teste cada uma contra um aparelho conhecido:
   2\. "SNMP core" — SNMP v3, usuário hive-ro , authPriv, SHA-256, AES-128, testada contra o switch 10.10.0.2 .
2. "SSH Linux" — SSH, usuário hive-scan , porta 22, testada contra 10.10.20.15 .
3. "WinRM CORP" — WMI / WinRM, CORP\svc-hive-scan , HTTPS (5986), testada contra 10.10.4.20 . 5. Abra **Descoberta › Descoberta** e clique em **Nova varredura**.
4. **Escopo**: acrescente 10.10.0.0/16 e a exclusão 10.10.250.0/24 (automação da fábrica).
5. **Métodos**: mantenha ICMP, ARP, portas, TLS, NetBIOS e mDNS; ligue WMI / WinRM, SSH, SNMP, LLDP e CDP.
6. **Credenciais**: marque "WinRM CORP", "SSH Linux" e "SNMP core".
7. **Coletor e intensidade**: COL-SP-01 , **Normal**, janela das 22:00 às 06:00.
8. **Tags de origem**: Office SP .
9. **Agendamento**: **Alguns dias da semana**, só Sáb, às 22:00.
10. **Revisão**: nome "SP semanal". A estimativa mostra 65.280 endereços, cerca de 247 min, 200 pacotes/s · 102 kbit/s, e os avisos de credenciais e de escopo grande. **Salvar varredura**.

### Exemplo prático: revisar uma execução

Domingo de manhã, abra a última execução da varredura em **Varreduras** (clique na entrada em **Última execução**).

1. Os números dizem Responderam 1.834 · Novos 57 · Alterados 112 · Desaparecidos 9 · Sem agente 41 · Pausas 2. As duas pausas aconteceram quando a rede ficou lenta; o coletor baixou o ritmo sozinho.
2. **Novos**: 57 aparelhos, entre eles 12 câmeras IP achadas por portas e TLS e dois switches lidos por SNMP. Agora são ativos com as tags Descoberto por: … e Office SP .
3. **Desaparecidos**: 9 aparelhos vistos na semana passada e não agora — confira se foram aposentados.
4. **Erros**: 10.10.20.31 · SSH — a credencial foi recusada . Corrija a conta naquele servidor ou a credencial no cofre.
5. **Sem agente**: 41 computadores, 33 deles Windows. Marque os 33, clique em **Instalar agente (33)**, escolha "WinRM CORP" e confirme. Os novos agentes aparecem em **Ativos › Agentes**.

### Exemplo prático: a regra do ARP na prática

&#x20;Dois notebooks já compartilham o MAC 00:1a:2b:3c:4d:5e no inventário (um adaptador de rede USB antigo). A varredura vê 10.10.8.12 só com esse MAC, vindo da tabela ARP. O Hive não escolhe um dos dois: o aparelho entra como ativo novo pelo IP, e o MAC não é copiado para ele.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/rR9_VrjP0t3XaTDS3oTdx_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

WS-0231 (Windows sem agente, lido por WinRM) recebeu 10.10.4.20 por DHCP; esse IP ainda estava no registro de WS-0198 , também sem agente. A varredura casa WS-0231 pelo número de série, acrescenta 10.10.4.20 a ele e tira o IP de WS-0198 . Se WS-0198 tivesse agente, os endereços dele ficariam como estão.

### Cuidados e limites

&#x20;Até 65.536 endereços por varredura; divida escopos maiores. As exclusões não podem tirar todos os endereços.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/Ncaf5vKp9fgo946yJJINW_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Uma varredura não começa de novo enquanto a execução anterior ainda está esperando ou rodando.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/ovfSgEwq1mY5IcdHfZUJL_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;**Rápida** pode deixar a rede lenta e pede confirmação; prefira **Normal** com uma janela de horário.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/qtztH96IxpZAli-6zsZpw_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Sem um coletor online não há o que escolher no passo 4: instale um antes.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/8xOfQFPRU940zpHBRPdgZ_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Os nomes das varreduras são únicos (até 80 caracteres).

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/LLzogEeYYl_EchLPQw3n7_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;A instalação a partir de uma execução pega até 500 máquinas por vez e só máquinas Windows ainda sem agente.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/2OUnE4i8USWVf_bzFAIdY_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Remover uma varredura remove o histórico dela; os ativos que ela achou continuam no inventário.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/DIEKayxJHGYBR3MbvgIvQ_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

### Relacionados

&#x20;Rede e topologia

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/roZnw7GNx682LaZRqFJXw_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Distribuir o agente

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/ST5o_sAmPEmNcRIYGc9Sw_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Passo a passo: criar um coletor

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/-kMxU6VM_9fGtrf1j4QXz_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Agentes e coletores

***

## <font color="#22C55E">Rede e topologia</font>

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/5DRLWoiC807o-FbDjH-z7_image.png" size="67" isUploading="false" width="672" height="426" darkWidth="672" darkHeight="426" showCaption="false"}

Tela: Rede e topologia

**Mapas › Mapa de rede** mostra a rede como o Hive a lê: switches, roteadores e impressoras lidos por SNMP, as ligações entre eles achadas por LLDP e CDP, qual aparelho está ligado em cada porta (pela tabela de MACs do switch), o tráfego de cada porta e os racks e salas. Tem três abas: **Mapa físico**, **Portas** e **Racks**. Os dados vêm de varreduras da descoberta com SNMP ligado; os fluxos (NetFlow, sFlow, IPFIX) e as conexões informadas pelos próprios agentes acrescentam o tráfego entre as máquinas.

### O que você pode fazer aqui

&#x20;**Mapa físico**: ver o mapa de conexões da internet até cada máquina, filtrar por **Local**, **Destacar VLAN** e clicar em qualquer elemento para acender o caminho dele até a internet.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/teYTJx62pMI0mdWR352QX_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;**Portas**: escolher um equipamento e ver o painel frontal do switch, cada porta com estado, velocidade, VLAN, vizinho, aparelhos conectados, tráfego em Mb/s e o uso do link nas últimas 24 horas.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/QYdcGXsW3d5auMjPPgVi8_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;**Racks**: criar racks com sala, unidades e lugar na estrutura, e ver quantos aparelhos cada um tem.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/Szyi2Lud7bGleQyFVyw5B_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Em cada ativo (aba Hardware, **Rede física**): a porta em que está ligado, o histórico de portas, o rack e a unidade, o caminho até a internet e o mapa de dependências.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/QxLE7ojjrGqrG8RdFdqe6_image.png" size="10" isUploading="false" width="5" height="4" darkWidth="5" darkHeight="4" showCaption="false"}

### Lendo switches por SNMP

Crie uma credencial SNMP em **Integrações › Credenciais** (comunidade para v1/v2c, ou usuário, autenticação e privacidade para v3) e ligue SNMP, LLDP e CDP numa varredura com essa credencial.

A cada leitura, o coletor traz as portas (estado, velocidade, VLAN), os nomes das VLANs, a tabela de MACs e os vizinhos LLDP/CDP. Um aparelho é posto numa porta pela tabela de MACs, ignorando os uplinks (portas com vizinho ou com mais de 8 MACs). Ele passa a ter as tags Switch: \<switch> e Porta: \<switch> · \<porta> ; quando muda de porta, as tags mudam sozinhas e a mudança vai para o histórico de portas.

### Mapa físico

O **Mapa de conexões** é uma árvore: a internet no topo, cada switch pendurado no seu uplink (o vizinho LLDP/CDP mais rápido), as máquinas na porta em que estão ligadas (com porta e VLAN) e as VMs tracejadas abaixo do host. Linha grossa é um link agregado (**LAG ×N** com a velocidade somada); tracejada é um link desligado ou virtual; vermelha tem erros; vizinhos que o Hive ainda não lê ficam agrupados à parte. Pontos em movimento mostram o tráfego em direção à internet. Os aparelhos são agrupados pelo lugar na estrutura; **Local** mostra só aquele lugar, o que está abaixo dele e o caminho até a saída, e os aparelhos cujas portas têm erros novos desde a última leitura ficam destacados. **Destacar VLAN** apaga todo aparelho que não leva a VLAN escolhida.

### Portas e tráfego

Em **Portas**, escolha o **Equipamento**. O **Painel frontal do switch** desenha as portas como no aparelho: verde ligada, cinza desligada, laranja com erros novos e borda azul no uplink; passe o mouse para ver porta, velocidade, VLAN e quem está conectado. Abaixo, cada porta mostra o estado, o vizinho, os aparelhos ligados nela e o **Tráfego** (↓ entrada · ↑ saída em Mb/s e % do link), calculado comparando os contadores de bytes de duas leituras SNMP. Clicar na taxa abre **Uso do link nasúltimas 24 h (contadores SNMP)**.

### Racks e posição

Em **Racks**, **Novo rack** pede o nome, a **Sala**, as **Unidades (U)** (1 a 60, padrão 42) e o **Lugar na estrutura (sala, andar ou prédio)**. Num aparelho (aba Hardware, **Rede física**), escolha o **Rack** e a **Unidade**: ele herda as tags Rack: \<rack> e Sala: \<sala> . Implantações, patches e playbooks podem mirar um switch, um rack ou uma sala por essas tags.

### Fluxos entre máquinas

O coletor sempre escuta fluxos: aponte switches, roteadores e firewalls para o IP dele — NetFlow v5/v9 e IPFIX na UDP 2055, sFlow v5 na UDP 6343 (cada amostra conta o tamanho do quadro × a taxa de amostragem). Os agentes também informam as conexões da própria máquina (quem falou com quem, em qual porta), sem nada para configurar no switch; quando as duas pontas têm agente, só o lado servidor conta, então nada é contado em dobro. Os fluxos são somados por minuto e alimentam o mapa lógico e o caminho do serviço.

**Exemplo prático: achar onde um notebook está ligado e seguir o caminho dele**

1. Em **Integrações › Credenciais**, crie "SNMP core" (v3, usuário hive-ro , authPriv, SHA-256, AES- 128) e teste contra 10.10.0.2 .
2. Em **Descoberta**, edite a varredura "SP semanal", ligue SNMP, LLDP e CDP com "SNMP core" e clique em **Rodar agora**.
3. Depois da execução, abra **Mapas › Mapa de rede**. O switch de núcleo SW-CORE-01 fica pendurado na internet; SW-3F-01 fica pendurado nele por uma linha **LAG ×2 · 2 Gb/s**.
4. Procure o notebook NB-SALES-12 em **Ativos** e abra a aba Hardware: **Ligada em** diz SW-3F-01 · Gi1/0/14 , VLAN 30. O ativo tem as tags Switch: SW-3F-01 e Porta: SW-3F-01 · Gi1/0/14 .
5. **Caminho até a internet (pelos uplinks)** lista NB-SALES-12 → SW-3F-01 (entra na Gi1/0/14, sai na Te1/1/1) → SW-CORE-01 → o firewall de borda.
6. De volta ao mapa, escolha **Destacar VLAN** 30: só os aparelhos que levam a VLAN de vendas ficam acesos.
7. Na semana seguinte o notebook muda de mesa: depois da próxima leitura ele mostra Gi1/0/22 , as tags mudam e o **Histórico de portas** guarda os dois períodos.

**Exemplo prático: um rack para o 3º andar e o tráfego de um uplink**

1. Em **Racks**, clique em **Novo rack**: nome R-3F-01 , sala IT room 3F , 42 unidades, lugar "Matriz / 3º andar".
2. Abra o ativo SW-3F-01 , aba Hardware, **Rede física**: escolha o rack R-3F-01 , unidade 40. O switch ganha Rack: R-3F-01 e Sala: IT room 3F .
3. Em **Portas**, escolha SW-3F-01 . O uplink Te1/1/1 mostra ↓ 640 · ↑ 210 Mb/s, 64% do link; clique na taxa para ver as últimas 24 horas e achar o pico das 9:00.
4. Aponte o firewall do andar para o coletor na UDP 2055 para ver quem gera esse tráfego no mapa lógico e no caminho do serviço.

### Cuidados e limites

&#x20;Nada aparece até uma varredura ler pelo menos um equipamento por SNMP ("Nenhum equipamento de rede lido por SNMP ainda.").

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/35X7Mu-ya8EpQN9X1m3PC_image.png" size="10" isUploading="false" width="5" height="4" darkWidth="5" darkHeight="4" showCaption="false"}

&#x20;O tráfego precisa de duas leituras SNMP para calcular uma taxa; a primeira leitura só mostra contadores.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/r9MFTqg9MTIpTCxZmGK3W_image.png" size="10" isUploading="false" width="5" height="4" darkWidth="5" darkHeight="4" showCaption="false"}

&#x20;Uma porta com mais de 8 MACs ou com vizinho é tratada como uplink e não posiciona aparelhos.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/tvAEJuqImGxHauMBDlK5J_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;O último salto do caminho pode ser um vizinho que o Hive ainda não lê: inclua-o numa varredura com SNMP para ir mais longe.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/GlAwtIV5xOH_UMjE8pnjR_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Os nomes das tags Porta e Sala são fixos, seja qual for o idioma do console.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/31xYcwq93_dRZHYJwGY3D_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

### Camadas: Rede · Virtualização · Kubernetes

No **Mapa físico**, os botões **Rede**, **Virtualização** e **Kubernetes** acrescentam camadas à árvore (a escolha fica guardada): switch → porta → host do hipervisor (ESXi, Hyper-V, Proxmox ou Nutanix, pela máquina do inventário do host) → as VMs dele → os nós do Kubernetes que rodam nessas VMs. Clicar num host abre a visão do hipervisor; clicar num nó abre o cluster. Host, VM ou nó sem porta de switch conhecida vai para o grupo **Sem porta de switch conhecida**, nunca para baixo de um switch qualquer. O atalho **Mapas › Virtualização** abre /network?layers=virt ; /network?layers=k8s abre a camada do Kubernetes.

### Exemplo prático: onde rodam os nós do cluster

1. Abra **Mapas › Virtualização**: esx02 aparece sob SW-DC-01 · Te1/0/7 com as VMs dele. 2. Ligue **Kubernetes**: k8s-node-02 aparece sob a VM de mesmo nome.
2. esx05 ainda não tem porta lida: fica em **Sem porta de switch conhecida**; leia o SW-DC-02 por SNMP para posicioná-lo.

### Relacionados

&#x20;Área de Descoberta

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/AxjDjuqER82QGBwWANNoe_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Caminho do serviço e mapa lógico

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/wYrbl5zHdnwZJ8JkAqx8P_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Estrutura organizacional

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/6IJbZFZIgYfwrD2WApg7V_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Passo a passo: criar um coletor

***

## <font color="#22C55E">IPAM, DNS e DHCP</font>

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/MLsHJbmOOcEfHmyry-y4G_image.png" size="67" isUploading="false" width="672" height="426" darkWidth="672" darkHeight="426" showCaption="false"}

Tela: IPAM, DNS e DHCP

**Mapas › Mapa físico**, aba **IPAM**, mostra as suas sub-redes e o uso de cada endereço. "Em uso" vem do que o Hive já vê — os IPs dos ativos, as varreduras da descoberta dos últimos 30 dias e as concessões de DHCP ativas — e "reservado" das reservas feitas à mão (pela API) ou importadas do DHCP. Zonas de DNS e escopos e concessões de DHCP são importados de arquivos (BIND, Windows, ISC, Kea). O IPAM só lê: nunca cria nem junta ativos.

### O que você pode fazer aqui

&#x20;**Sub-redes**: adicione uma sub-rede à mão com **Adicionar sub-rede** ou clique em **Achar sub-** **redes** (faixas da descoberta, escopos de DHCP importados e as redes /24 com pelo menos 2 IPs de ativos). Cada sub-rede mostra a barra de ocupação, os endereços em uso, reservados e livres e quando um endereço foi visto por último. Clique na sub-rede para ver a grade de endereços (até /22) e a tabela com MAC, nome, ativo e origem.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/LEKb7CbD7uJsaAre7ByMj_image.png" size="10" isUploading="false" width="5" height="4" darkWidth="5" darkHeight="4" showCaption="false"}

&#x20;**Conflitos**: o mesmo IP visto com MACs diferentes nos últimos 7 dias (varreduras e DHCP), o mesmo IP reservado mais de uma vez (à mão e num servidor DHCP, ou em dois servidores) e um MAC reservado em dois endereços.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/d_NhJJN7ehAIC7rRE9pAL_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;**DNS**: importe uma zona e veja **Velho: sem máquina viva** (registro A cujo endereço não foi visto em 7 dias) e **Reverso não bate** (o PTR do endereço aponta para outro nome).

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/wz_QJ8reH4MbYVzY20RoA_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;**DHCP**: importe escopos e concessões e veja, em cada concessão, o ativo que tem aquele MAC.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/P7G6Xjn7HnZvIWO6YaarE_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

### Importar DNS e DHCP

&#x20;**Arquivo de zona do BIND**: cole ou escolha o arquivo da zona ( $ORIGIN , $TTL , nomes relativos e SOA em várias linhas são entendidos).

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/w2Z9YDLqqQmNe4sKsgHH-_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;**DNS do Windows**: Get-DnsServerResourceRecord -ZoneName corp.local exportado com as colunas HostName , RecordType , RecordData e TimeToLive ( Export-Csv ).

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/AAbVug2B6v2KEwZCXfZxU_image.png" size="10" isUploading="false" width="5" height="4" darkWidth="5" darkHeight="4" showCaption="false"}

&#x20;**ISC**: dhcpd.leases (vale a última entrada de cada endereço) e, no mesmo conteúdo, o dhcpd.conf com os escopos subnet … netmask … \{ range … } .

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/nPl7dwq6k2gokNSTKH_Ui_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

| :inlineImage[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/jzt3w0pEza2Q4dohrML2k_image.png" alt caption size="10" width="5" height="5"} | **Kea**: o CSV de concessões do memfile ( kea-leases4.csv ).                                     |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ |
| :inlineImage[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/17sYlLYmRTh8IIPtosjfD_image.png" alt caption size="10" width="5" height="5"} | **DHCP do Windows**: Get-DhcpServerv4Scope \| Export-Csv para os escopos e Get-DhcpServerv4Scope |

\| Get-DhcpServerv4Lease | Export-Csv para as concessões; as reservas ( ActiveReservation ) viram reservas daquele servidor.

Abra **Importar uma zona de DNS** (em **DNS**) ou **Importar escopos e concessões de DHCP** (em **DHCP**), preencha **Servidor** (e **Zona**, no DNS), escolha o **Formato**, escolha o **Arquivo** ou cole em **Conteúdo** e clique em **Importar**. Importar de novo substitui os dados do mesmo servidor (e da zona, no DNS).

**Exemplo prático: achar um endereço livre e uma reserva duplicada na rede do escritório**

1. Abra **Mapas › Mapa físico**, aba **IPAM**, e clique em **Achar sub-redes**: aparece 10.50.0.0/24 com origem **IPs dos ativos**.
2. Escolha **DHCP**, abra **Importar escopos e concessões de DHCP**, preencha **Servidor**dc01 , escolha o **FormatoWindows (CSV do PowerShell)**, escolha em **Arquivo** o concessoes.csv exportado no servidor e clique em **Importar**. O aviso diz "Importado: 0 registros, 0 escopos, 212 concessões."
   3\. De volta a **Sub-redes**, 10.50.0.0/24 mostra 83% com "201 em uso · 11 reservados · 42 livres". Clique nela: a grade mostra os endereços livres em cor clara; passe o mouse em 10.50.0.77 para confirmar que está **Livre**.
3. Abra **Conflitos**: 10.50.0.40 é uma **Reserva duplicada** (origens manual e dhcp\:dc01 ) — a impressora foi reservada à mão com outro MAC. Remova a reserva manual pela API ( DELETE /api/v1/ipam/reservations/ ); a tela não tem botão para reservas.
4. Em **DNS**, abra **Importar uma zona de DNS** e importe a **Zona**corp.local do **Servidor**dc01 (**FormatoArquivo de zona do BIND** ou o CSV do Windows). O achado gone.corp.local ·10.50.0.99 · Velho: sem máquina viva mostra o registro de uma máquina que saiu; apague-o no servidor DNS.

### Cuidados e limites

&#x20;Só IPv4. Sub-redes de /16 a /32; a grade de endereços é desenhada até /22.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/SrArJcxGsWdP9VewfiG0V_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Adicionar, achar e remover sub-redes e importar DNS ou DHCP exigem assets\:write ; ler exige assets\:read . Arquivos importados acima de 20 MB são recusados.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/RVpSSRUoRjt_kGsJZQidm_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Reservas à mão só são feitas pela API ( POST /api/v1/ipam/reservations ); a tela as mostra, mas não tem botão para criar nem remover.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/s2bYPomAb_Oyr2ewH-XL5_image.png" size="10" isUploading="false" width="5" height="4" darkWidth="5" darkHeight="4" showCaption="false"}

&#x20;A concessão só aponta para um ativo pelo MAC e só quando um único ativo tem aquele MAC; nome de máquina ou nome no DNS nunca liga (ARP e DNS são último recurso e dado ambíguo não junta ativos).

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/ui9klM3EI03zPZpzGHFwc_image.png" size="10" isUploading="false" width="5" height="4" darkWidth="5" darkHeight="4" showCaption="false"}

&#x20;"Velho" depende do que o Hive vê: o endereço de uma máquina que nenhuma varredura, agente ou concessão alcança parece velho.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/sjesglssveDWU7eNuBNNG_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;O conector do Infoblox (WAPI) e a leitura direta dos servidores DNS/DHCP do Windows pelo coletor ainda não existem: exporte os arquivos e importe.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/398Dfh6nDGDBEywxVFpLd_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Remover uma sub-rede não remove endereços, reservas nem os dados de DNS/DHCP.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/2r_mtvnW-kAH-vWQm5mY6_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

### Relacionados

&#x20;Rede e topologia

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/zKPZmyX0C2cU4UpexgaMw_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Linha do tempo do mapa e exportação

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/Fb4E32WJN08vMPcTbS1HT_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Área de descoberta

***

## <font color="#22C55E">Firewalls, Wi-Fi e backup de configuração</font>

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/nyiPR3_0Ot_RUl0nXmuiL_image.png" size="67" isUploading="false" width="672" height="426" darkWidth="672" darkHeight="426" showCaption="false"}

Tela: Firewalls, Wi-Fi e backup de configuração (1/2)

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/RauuZJ4GgekjrrXMpcAn0_image.png" size="67" isUploading="false" width="672" height="423" darkWidth="672" darkHeight="423" showCaption="false"}

Tela: Firewalls, Wi-Fi e backup de configuração (2/2)

**Mapas › Firewalls e Wi-Fi** lê FortiGate, Palo Alto, Cisco Meraki e Ubiquiti UniFi pelas APIs deles, com uma conta só leitura. Cada firewall, ponto de acesso e switch que a API devolve vira um equipamento de rede no inventário (o mesmo que a leitura SNMP e o mapa físico usam), com interfaces, versão do firmware, estado de HA, SSIDs, clientes do Wi-Fi e a porta do switch onde cada ponto de acesso estáligado. **Mapas › Backup de configuração** guarda cada versão da configuração de firewalls e switches, com os segredos mascarados, mostra a diferença entre duas versões e abre alerta quando a configuração muda fora de uma janela de mudança. O Hive nunca restaura uma configuração: vocêbaixa a versão e aplica você mesmo.

### O que você pode fazer aqui

&#x20;Adicionar uma fonte com **Adicionar fonte**: um FortiGate, um firewall Palo Alto, uma organização Meraki ou um controlador UniFi.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/CuX9t7PlKqQlD3Kk0f_v1_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Ver os equipamentos com firmware, HA, porta do switch, clientes do Wi-Fi, CVEs abertas e o último backup; e os SSIDs com segurança, banda, VLAN e clientes.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/dYFS-LpR2qIpmsUkWQUj6_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Ler a fonte de novo com **Ler agora**, ou removê-la com **Remover**.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/G76iFjoU6YdmLCJzzuhoN_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Abrir um equipamento em **Backup de configuração**, comparar uma versão com a anterior (**Lado a lado** ou **Unificada**) e **Baixar**.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/bNcNFWpKL5muEh-Ekvnt4_image.png" size="10" isUploading="false" width="5" height="4" darkWidth="5" darkHeight="4" showCaption="false"}

&#x20;Enviar a configuração de um switch com **Enviar configuração** e abrir uma janela com **Abrir janela** em **Janelas de mudança** para que mudanças planejadas não abram alerta.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/hm5ZGu0ztTxVbkDWo62Uw_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

### O que é lido de cada fabricante

| **Fabricante**    | **O que o Hive lê**                                                            | **Backup da**<br />**configuração** |
| ----------------- | ------------------------------------------------------------------------------ | ----------------------------------- |
| FortiGate         | estado do sistema, interfaces, modo e membros do HA                            | sim, pela API REST                  |
| Palo Alto         | informações do sistema, interfaces, estado do HA                               | sim, pela API XML (export)          |
| Cisco<br />Meraki | redes, equipamentos, SSIDs, clientes da última hora, LLDP/CDP dos APs          | não                                 |
| UniFi             | equipamentos (APs, switches, gateways), WLANs, clientes do Wi-Fi, uplink do AP | não                                 |

O firmware vira um software do equipamento com o CPE (FortiOS e PAN-OS), então a correlação de vulnerabilidades acha as CVEs daquela versão como faz com qualquer outro software.

### Exemplo prático: ler um FortiGate e acompanhar uma mudança

1. No FortiGate, crie um perfil de administrador só leitura e um administrador de API REST hive-ro com ele, limitado ao endereço do servidor do Hive (Trusted Hosts). Copie a chave da API.
2. Abra **Mapas › Firewalls e Wi-Fi** e clique em **Adicionar fonte** (precisa de agents\:admin ). 3. Preencha **Nome**FW-HQ , escolha **Fabricante** FortiGate, **Endereço**https\://10.20.0.1 , cole a chave em **Chave da API ou senha**, mantenha **Ler a cada (minutos)** em 360 (de 15 a 10080) e deixe **Fazer backup da configuração (FortiGate e Palo Alto)** marcado. Clique em **Adicionar**.
3. Clique em **Ler agora**. A fonte fica **Lido** e o equipamento FW-HQ-01 aparece com firmware 7.2.5 , HA a-p · primary · 2 members e as CVEs do FortiOS 7.2.5.
4. Abra **Mapas › Backup de configuração**: FW-HQ-01 tem 1 versão. Alguém muda uma política do firewall à noite; na leitura seguinte aparece uma segunda versão marcada **Mudou fora da janela&#x20;**&#x65; abre o alerta "Network configuration changed outside a change window".
5. Clique em FW-HQ-01 e em **Comparar com a anterior** na versão mais nova: as linhas da política alterada aparecem lado a lado, em vermelho à esquerda e verde à direita. Senhas aparecem como \<masked> .
6. Antes da próxima mudança planejada, no painel **Janelas de mudança** escolha o **Equipamento&#x20;**(ou **Todos os equipamentos**), preencha **Início**, **Fim** e **Observação (número da mudança)** e clique em **Abrir janela**: as mudanças dentro dela são gravadas sem alerta.

### Exemplo prático: backup de um switch e os APs nas portas

1. Leia o switch SW-CORE-01 por SNMP numa varredura da descoberta, para as portas dele serem conhecidas.
2. Adicione o controlador UniFi como fonte (**Endereço**https\://unifi.lab:8443 , **ID da organização ou site**default , o usuário só leitura e a senha).
3. Depois de **Ler agora**, AP-Lobby mostra **Porta do switch**SW-CORE-01 · Gi1/0/13 e aparece sob essa porta no mapa físico.
4. No switch, copie a saída de show running-config . Em **Backup de configuração**, abra o switch e clique em **Enviar configuração**, cole e clique em **Gravar versão**. O enable secret, as comunidades SNMP e as chaves são mascarados antes de gravar.

### Cuidados e limites

&#x20;A conta precisa ser só leitura: o Hive só lê (chamadas GET, op e export). Restaurar não é feito pelo Hive; **Baixar** entrega o arquivo mascarado, então os segredos precisam ser preenchidos à mão antes de aplicar.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/bdR9tGCP4QvG2Sb9xIn6d_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Adicionar fonte, **Ler agora** e **Remover** exigem agents\:admin ; **Baixar**, **Enviar configuração** e **Abrir janela** exigem assets\:write . O **Endereço** precisa começar com https\:// ; o Meraki exige o ID da organização e o UniFi o usuário.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/zQjeQrWW_uT5lCRypMhAc_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;O certificado do firewall ou do controlador precisa ser confiável para o servidor do Hive (importe a CA interna); certificado autoassinado é recusado.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/2FUAStrvnZ0gbi9zmvUZf_image.png" size="10" isUploading="false" width="5" height="4" darkWidth="5" darkHeight="4" showCaption="false"}

&#x20;O backup de switch por SSH pelo coletor ainda não é automático: use **Enviar configuração** (ou a API POST /api/v1/network/devices//config-versions ) com o texto lido por SSH.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/3mEVwC1q29wUod3xlJoBw_image.png" size="10" isUploading="false" width="5" height="4" darkWidth="5" darkHeight="4" showCaption="false"}

&#x20;Uma versão nova só é gravada quando o texto mascarado muda, então uma mudança só num segredo (senha nova) não é vista.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/1o3pPTWaJI2dwVJZV2fEW_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Os nomes de firmware do Meraki e do UniFi não têm CPE: as CVEs deles não são correlacionadas.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/Wu_Ca8htkMfBqs85LwTec_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Consoles UniFi OS (UDM, Cloud Key Gen2) que só respondem em /proxy/network ainda não são lidos.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/bNl4OQEb_6eC99qzm7FyY_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Configurações acima de 5 MB são recusadas.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/0hgoE9s_CBUMigqm0gNPu_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

### Relacionados

&#x20;Rede e topologia

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/A3gPMNZfFXUY85W6xd_dJ_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Vulnerabilidades

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/Xij6DIO4FXMIXmbo7KO_I_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Alertas

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/HQApwl4rqjJHDRucLdrv7_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Área de descoberta

***

## <font color="#22C55E">Linha do tempo do mapa e exportação para draw.io e Visio</font>

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/WHYEZVWDGXkPzN2MvIQfT_image.png" size="67" isUploading="false" width="672" height="426" darkWidth="672" darkHeight="426" showCaption="false"}

Tela: Linha do tempo do mapa e exportação para draw\.io e Visio

O Hive guarda o histórico dos mapas: sempre que o mapa muda, uma fotografia é guardada só com o que mudou (nós e ligações que entraram ou saíram). **Mapas › Mapa físico**, aba **Linha do tempo**, mostra o mapa como estava numa data e hora e o que mudou de lá até agora. Todo mapa também tem os botões **draw\.io** e **Visio**, ao lado de **Imagem (PNG)** e **Imagem (SVG)**, que baixam um diagrama editável.

### O que você pode fazer aqui

&#x20;Escolha o **Mapa** (mapa físico ou mapa de serviços) e mova o controle: **Como estava em …** mostra quantos nós e ligações o mapa tinha e lista, em verde, o que entrou desde então e, em vermelho, o que saiu.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/PWq7jioNnMClGLhYxoc-b_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;**Fotografar agora** (aparece só com o mapa físico escolhido) tira uma fotografia do mapa físico na hora (o Hive também tira uma a cada hora, a primeira uns 15 minutos depois de o núcleo subir); se nada mudou, nada é guardado.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/Ysuw5l-lXZ1bA23--a_Mp_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Em qualquer mapa, **draw\.io** baixa um arquivo .drawio (abra no draw\.io ou no diagrams.net) e **Visio** um arquivo .vdx (desenho XML do Visio).

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/l1mITe36FL6LM3_AgxFsP_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

**Exemplo prático: o que mudou na rede desde a segunda-feira passada**

1. Abra **Mapas › Mapa físico**, aba **Linha do tempo**, mapa **Mapa físico**.
2. Mova o controle até a fotografia de segunda às 08:00: "Como estava em 19/10/2026 08:00" e "143 nós e 151 ligações naquela hora".
3. Em **O que mudou de lá até agora**: + nó NB-VENDAS-31 , − ligação SW-3A-01 — NB-VENDAS-12 e + ligação SW-3A-02 — NB-VENDAS-12 — o notebook mudou de switch.
4. Vá à aba **Mapa físico** e clique em **draw\.io**: o arquivo mapa-fisico-20261022-1810.drawio abre no diagrams.net com os switches e as máquinas como caixas ligadas por linhas; mova-as e acrescente notas para a reunião de mudanças.
5. Clique em **Visio** e abra o .vdx no Visio; use **Salvar como**.vsdx para guardar no formato atual.

### Cuidados e limites

&#x20;O histórico começa quando o recurso é instalado: não há nada antes da primeira fotografia. Até lá a aba mostra **Nenhuma fotografia ainda**.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/xPEsbfRvgytkCldZIdMp6_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Os botões **draw\.io** e **Visio** somem em telas estreitas (celular); use uma janela mais larga ou **Imagem (PNG)**.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/ABnfLiDDS3WX-UAOWEGwe_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;O mapa físico é fotografado a cada hora, então uma mudança que veio e voltou dentro da hora pode não aparecer. O mapa de serviços só tem linha do tempo quando os nós e ligações são enviados pela API ( POST /api/v1/map-timeline/service/snapshot ); a console ainda não envia sozinha.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/opuH-JVWdebbBR5zzM9If_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;A exportação para o Visio é no formato de desenho XML ( .vdx ), não .vsdx : o Visio 2013 ou mais novo abre e salva como .vsdx ; o Visio para a web não abre .vdx .

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/ySgbjLFobT8JTN_aL7Feg_image.png" size="10" isUploading="false" width="5" height="4" darkWidth="5" darkHeight="4" showCaption="false"}

&#x20;A exportação lê o mapa desenhado: formas viram caixas ou elipses com o texto, linhas viram conectores presos às formas onde começam e terminam. Ícones, cores e tracejados não vão; use SVG para uma imagem fiel.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/eFFAWDgqtFE9wxyCQKJp1_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

### Relacionados

&#x20;Rede e topologia

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/oUpz47e9uJ1WZBE_kSGdY_image.png" size="10" isUploading="false" width="5" height="4" darkWidth="5" darkHeight="4" showCaption="false"}

&#x20;Mapa de serviços

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/bNfx2kA94Bk0CP7LmPYjX_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Montador de mapas

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/Z8Ajk75VYz03zLpGRY7hl_image.png" size="10" isUploading="false" width="5" height="4" darkWidth="5" darkHeight="4" showCaption="false"}

&#x20;IPAM, DNS e DHCP

***

## <font color="#22C55E">Virtualização</font>

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/QbnqkTja8T01txNb1iLEV_image.png" size="67" isUploading="false" width="672" height="426" darkWidth="672" darkHeight="426" showCaption="false"}

Tela: Virtualização

A Virtualização lê seus hipervisores por um coletor, com uma conta somente leitura, e mostra os hosts, as VMs (e qual máquina do inventário cada uma é), os switches virtuais, os datastores e os snapshots.

Fica em **Descoberta › Virtualização**. Existem quatro tipos de conexão: **vCenter / ESXi**, **Hyper-V**, **Proxmox VE** e **Nutanix (Prism Central)**.

### O que você pode fazer aqui

&#x20;Conectar um hipervisor com **Conectar hipervisor** e acompanhar a leitura na aba **Conexões**.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/YElFmXAcvm4TfF9-CYDh6_image.png" size="10" isUploading="false" width="5" height="4" darkWidth="5" darkHeight="4" showCaption="false"}

&#x20;Ler uma conexão de novo com **Ler agora**, ou removê-la com **Desconectar**.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/lHhYlmgPoWj0Nwh028wME_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Ver a topologia de uma conexão na aba **Mapa** (visões **Física** e **Lógica**).

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/k2iovtdcMdlpSpyvpl1PH_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Listar os **Hosts** (hardware, cluster, VMs ligadas e total) e as **VMs** (estado, sistema, placas de rede, máquina do inventário).

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/KFOVwFlE22D4PDrdJZ8VO_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Achar as VMs que não estão no inventário com **Só VMs fora do inventário**.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/jE6VD6QoQ_0rAR-u7JMBO_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Consultar a aba **Armazenamento** (datastores e snapshots das VMs) e a aba **Switches virtuais&#x20;**(uplinks e grupos de portas com a VLAN).

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/zYWGsdGyeX_ISfDcda75z_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

### Passo a passo: conectar um hipervisor

1. Abra **Descoberta › Virtualização** e clique em **Conectar hipervisor** (exige a permissão agents\:admin ).
2. Em **Hipervisor**, escolha vCenter / ESXi, Hyper-V, Proxmox VE ou Nutanix (Prism Central). A nota abaixo do campo diz qual conta somente leitura usar.
3. Preencha **Nome** (único, até 120 caracteres) e **Endereço** (nome ou IP do servidor, com a porta se quiser).
4. Preencha **Usuário** e **Senha**. No Proxmox os campos viram **ID do token de API&#x20;**( usuario\@realm!token ) e **Segredo do token**.
5. No Hyper-V escolha o **Transporte do WinRM**: HTTPS (5986) ou HTTP (5985). Nos outros tipos, um certificado autoassinado é aceito colando a **Impressão do certificado (SHA-256)** (64 dígitos hexadecimais) ou a **CA (PEM)** que o assinou; deixe os dois em branco para usar as CAs do sistema.
6. Escolha o **Coletor** que alcança o servidor e clique em **Conectar**.
7. Aparece "Hipervisor conectado: a primeira leitura começou." e a linha mostra **Lendo**. A lista se atualiza sozinha a cada poucos segundos enquanto a leitura roda; ao terminar, o estado é **Lido** e **Conteúdo** mostra "hosts · VMs · no inventário".

A senha ou o token vão para o cofre e só seguem para o coletor na hora da leitura. Cada conexão élida de novo a cada hora.

### Como uma VM ou um host é reconhecido no inventário

Cada VM e cada host é casado com uma máquina do inventário, da evidência mais confiável para a menos confiável: **UUID da BIOS** (também com os três primeiros campos invertidos, como o Windows mostra o UUID de algumas VMs VMware), **MAC**, **IP** e **nome**. A aba **VMs** diz como cada uma foi casada ("casada pelo UUID da BIOS", "casada pelo MAC"...).

&#x20;Um MAC, IP ou nome repetido em mais de uma máquina só decide se exatamente uma delas tem o agente; senão o item não é ligado (tabela ARP ou registro DNS velho não ganha).

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/VR2EuMsTQy-Tr8kaRvQmv_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Uma VM ou host que não casa com nenhuma máquina **vira ativo** com o hipervisor como origem ("incluída no inventário pelo hipervisor"). Isso vale para **VMs desligadas**: elas também entram no inventário e aparecem nos mapas com a relação host → VM. Quando várias VMs têm o mesmo UUID da BIOS (cópias restauradas de backup), as VMs ligadas escolhem primeiro.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/uqAK40Crhh6Ad-CEsb1b3_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Quando um ativo criado pelo hipervisor encontra depois o registro de verdade da máquina pelo UUID ou MAC (agente instalado, descoberta, integração), os dois são unidos sozinhos: fica o registro de verdade, que recebe as tags, os grupos e o histórico do criado pelo hipervisor. Se casarem só por IP ou nome, os dois ficam e podem aparecer como possíveis duplicados.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/N_kykpUIZU1qr22-k7Yyk_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Se a máquina já existe, o hipervisor só liga e preenche o que está vazio: o que o agente informa vale mais.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/Dgu34W525L-0fP2KfCnCu_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

A página da máquina mostra onde ela roda (VM em qual host e cluster) ou, num host, as VMs que rodam nele. É isso que liga o nó do Kubernetes e o servidor de banco à VM e ao host nos mapas.

### Exemplo prático: vCenter com três hosts

1. Clique em **Conectar hipervisor** e escolha **vCenter / ESXi**.
2. **Nome**vCenter SP , **Endereço**vcenter.corp.local , **Usuário**hive-read\@vsphere.local (conta do vCenter com o papel Read-only como permissão global), **Senha** a senha da conta.
3. O vCenter usa certificado autoassinado: cole o SHA-256 em **Impressão do certificado (SHA-** **256)**.
4. **Coletor**COL-SP01 e **Conectar**.
5. Alguns minutos depois a linha mostra **Lido** e "3 hosts · 48 VMs · 45 no inventário". Em **VMs**, marque **Só VMs fora do inventário**: as 3 VMs listadas não têm máquina ligada (por exemplo, duas VMs com o mesmo IP de outras máquinas e nenhuma delas com agente).
6. Abra **Mapa** e escolha vCenter SP : a visão **Física** mostra cluster → host → VM; clique num host para ver as VMs e os datastores dele.

### Exemplo prático: host Hyper-V

1. No host HV01 , inclua a conta CORP\svc-hive-hv no grupo local **Hyper-V Administrators** (só Get- VM, Get-VMNetworkAdapter e Get-VMSwitch são executados).
2. **Conectar hipervisor** › **Hyper-V**, **Nome**HV01 , **Endereço**hv01.corp.local , **Usuário**CORP\svc-hive- hv , **Senha**, **Transporte do WinRM** HTTPS (5986), **Coletor**COL-SP01 , **Conectar**.
3. Depois da leitura, **Hosts** mostra HV01 com "12 VMs (9 ligadas)" e **Switches virtuais** lista os switches virtuais do host.

### Exemplo prático: cluster Proxmox VE

1. No Proxmox, em Datacenter → Permissions → API Tokens, crie o token reader para o usuário hive\@pve com o papel **PVEAuditor**, sem separação de privilégios.
2. **Conectar hipervisor** › **Proxmox VE**, **Nome**PVE Lab , **Endereço**pve1.corp.local (qualquer nó do cluster, porta 8006), **ID do token de API**hive\@pve!reader , **Segredo do token** o segredo mostrado uma vez pelo Proxmox, **Coletor**, **Conectar**.
3. Depois da leitura, os contêineres LXC aparecem em **VMs** marcados "(contêiner)".

**Armazenamento** lista os storages de cada nó com capacidade, livre e % usado, e os snapshots das VMs com a idade.

### Exemplo prático: Nutanix Prism Central

1. No Prism Central, crie o usuário local hive-read com o papel **Viewer**.
2. **Conectar hipervisor** › **Nutanix (Prism Central)**, **Nome**Nutanix DC2 , **Endereço&#x20;**&#x70;c.corp.local:9440 , **Usuário**hive-read , **Senha**, **Coletor**, **Conectar**.
3. O coletor lista clusters, hosts, VMs e sub-redes pela API v3; a linha mostra as contagens quando a leitura termina.

### Exemplo prático: duas conexões com o mesmo hipervisor

A equipe conecta o vCenter SP e também, para um teste, o host ESXi esx03.corp.local direto, como ESX03 direto .

1. A VM app-erp-01 roda no esx03 e não tem agente. A primeira leitura ( vCenter SP ) cria o ativo dela. 2. A leitura do ESX03 direto vê a mesma VM com o mesmo UUID da BIOS e MAC: liga ao ativo já criado em vez de criar um segundo. Com hosts é igual.
2. Em **VMs**, app-erp-01 aparece uma vez por conexão, as duas apontando para a mesma máquina do inventário.

Só UUID ou MAC unem itens vistos por duas conexões; IP ou nome sozinhos nunca unem.

### Exemplo prático: desconectar uma conexão

1. Em **Conexões**, clique em **Desconectar** no ESX03 direto e confirme "Desconectar ESX03 direto?".
2. Os hosts, VMs, switches e datastores lidos por essa conexão e o segredo dela no cofre são apagados. Nada muda no hipervisor.
3. Os ativos que **só essa conexão criou** e que ninguém assumiu (sem agente, não vistos por outra conexão) saem do inventário ativo (são baixados, não apagados). app-erp-01 continua ativo porque o vCenter SP ainda o vê.

### Exemplo prático: VM desligada e snapshot antigo

1. A VM intranet-antiga está desligada no vCenter SP . Depois da leitura ela está em **VMs** com o estado **desligada** e é uma máquina do inventário ("incluída no inventário pelo hipervisor"), então aparece nos mapas e nos relatórios.
2. Em **Armazenamento**, o snapshot antes-do-upgrade da intranet-antiga mostra "212 dias" em destaque (mais de 7 dias), e o datastore DS-SAS-01 mostra 93% usado em vermelho (90% ou mais).
3. Apague o snapshot no vCenter; na próxima leitura (ou com **Ler agora**) ele sai da lista.

### Cuidados e limites

&#x20;Conectar, ler agora e desconectar exigem agents\:admin ; ver exige assets\:read .

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/onwy_K-mSVx1zxMliZlBG_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Uma nova leitura não começa enquanto outra roda ("The hypervisor is being read now.").

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/JI8ZoWULTW_ore8WlXoyI_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Se o coletor não terminar em uma hora, a conexão vai para **Erro** com "The collector did not finish the read." e a correção "Check that the collector is online and reaches the hypervisor." (o coletor está online e alcança o hipervisor?).

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/ftLkBl2m6C8cbt9Np2bXW_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Datastores e snapshots vêm do vCenter e do Proxmox. Hyper-V e Nutanix mostram hosts, VMs e redes.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/Ho-6juYNvXAJjzeyoFLU-_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;No Proxmox, o **ID do token de API** precisa ser usuario\@realm!token .

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/g-y6gqip7j-P50SiOYKlu_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;A impressão precisa ser o SHA-256 do certificado (64 dígitos hexadecimais, com ou sem ":").

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/apohBejC-dtYOXeU5H65i_image.png" size="10" isUploading="false" width="5" height="4" darkWidth="5" darkHeight="4" showCaption="false"}

&#x20;A tela não tem formulário de edição: para mudar o endereço, a conta ou o intervalo de leitura (15 a 1440 minutos, padrão 60) use a API ( PUT /api/v1/virtualization/connections/ ); senha ou token novos substituem os do cofre. Desconectar e conectar de novo baixaria os ativos criados pela conexão.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/8osIBHUs-7F6W0l63N71z_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

### Relacionados

&#x20;Descoberta

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/M1XEuWMPG5r03v9X8QysF_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Mapa de rede

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/5dzcdyxVZcTJ2XbWp2OOO_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Kubernetes

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/-x9lqJjS_2ZvXrvKZgAEU_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Caminho do serviço e mapa lógico

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/GoZ1-DMqLFMvVBLvwOrxM_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Inventário

***

## <font color="#22C55E">Kubernetes</font>

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/-wv3dBYoauKHvbpURbSQe_image.png" size="67" isUploading="false" width="672" height="426" darkWidth="672" darkHeight="426" showCaption="false"}

Tela: Kubernetes

O Kubernetes lê seus clusters por um coletor, com uma conta somente leitura: o que roda, as imagens e seus CVEs, as dependências e o mapa do serviço publicado até o banco. Fica em **Descoberta ›Kubernetes**. A lista mostra cada cluster com o estado, o conteúdo ("nós · cargas · pods"), as imagens com CVEs e a última leitura; clique num cluster para abrir o detalhe.

### O que você pode fazer aqui

&#x20;Conectar um cluster com **Conectar cluster** (um assistente de 3 passos).

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/0IMboQ5OGSYNdR91wDX_a_image.png" size="10" isUploading="false" width="5" height="4" darkWidth="5" darkHeight="4" showCaption="false"}

&#x20;Abrir um cluster e usar as abas: **Mapa lógico**, **Caminhos do serviço**, **Cargas**, **Imagens**, **Nós** e **Namespaces**.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/I7K4mS8bjLp6xaUnPjQZI_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Ler o cluster de novo com **Ler agora**, mudar como o Hive se autentica em **Acesso**, ou removê-lo com **Desconectar**.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/BzpYftCHIsaUzk2tqUvPG_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Clicar num objeto do mapa para ver do que ele depende, quem o usa e o que para se ele cair.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/HgSi8CsQFDVhNX24A7OKa_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

### Passo a passo: conectar um cluster

1. Abra **Descoberta › Kubernetes** e clique em **Conectar cluster** (exige agents\:admin ).
2. **Passo 1 de 3**: preencha **Nome do cluster**, escolha a **Distribuição** (k3s, Amazon EKS, Azure AKS, Google GKE, OpenShift, Rancher (RKE2) ou Outro Kubernetes) e o **Coletor** que alcança o servidor da API (clusters privados continuam privados). Clique em **Avançar**.
3. **Passo 2 de 3**: rode os comandos mostrados com uma conta de administrador do cluster. Eles criam a conta de serviço hive-reader em kube-system , um papel de cluster só com get, list e watch

(sem Secrets), a ligação, um token válido por um ano, e imprimem o endereço da API e a CA do cluster. Cada linha tem **Copiar**. Em **Opcional: Gateway API, Istio ou rotas do OpenShift** hámais dois comandos para ler esses objetos. Clique em **Avançar**.

4. **Passo 3 de 3**: cole o **Endereço da API** (como https\://api.cluster:6443 ). Em **Confiança no servidor da API** escolha **CA do cluster** (cole o PEM), **Impressão do certificado do servidor&#x20;**(SHA-256) ou **Certificado público** (APIs gerenciadas assinadas por autoridade pública). Em **Acesso** escolha **Usuário e token** (cole o token) ou **Certificado de cliente** (certificado seguido da chave).
5. Clique em **Conectar**. Aparece "Cluster conectado: a primeira leitura começou."; o cluster é lido de novo a cada hora, ou com **Ler agora**.

O token ou o certificado ficam no cofre e só vão ao coletor na hora da leitura.

### O que é lido

Nós, namespaces, cargas (Deployment, StatefulSet, DaemonSet), pods e contêineres (imagem e portas), Services, Endpoints, Ingress, políticas de rede, volumes e, só quando ligado, ConfigMaps; com os comandos opcionais, Gateway API, virtual services do Istio ou rotas do OpenShift. **Secrets nunca são lidos.** De variáveis de ambiente (e ConfigMaps, quando lidos) só os endereços (host\:porta, URLs sem senha) saem do cluster, para desenhar as dependências. Os nós são ligados às máquinas do inventário pelo nome ou IP.

Se a conta não consegue listar alguns tipos, o cluster mostra "Leitura parcial" com os tipos que faltam; informe o **Usuário (conta de serviço)** em **Acesso** para ver os comandos exatos que dão a leitura do resto.

### As abas do cluster

&#x20;**Mapa lógico**: da esquerda para a direita, o que é publicado (Ingress, rotas), Services, cargas, dados e destinos fora do cluster, e os nós (**Mostrar nós**). Cada ligação diz de onde veio (regra de Ingress, seletor de rótulos, Endpoints, variável de ambiente, ConfigMap, política de rede, service mesh ou conexão vista pelo agente) e a confiança: linha cheia alta, tracejada média, pontilhada baixa. Um destino que é máquina do inventário mostra o nome dela; um banco gerenciado de nuvem aparece como **Serviço de nuvem**. Quando o agente do nó vê a conexão, a dependência fica "confirmado pelo agente".

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/M4IumuruaQ5Rk_3N1sEBb_image.png" size="10" isUploading="false" width="5" height="5" showCaption="false"}

&#x20;**Caminhos do serviço**: uma linha por endereço publicado, da entrada até o fim da cadeia, com os dados em negrito.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/Bol8K47BufAUslXY-tQkB_image.png" size="10" isUploading="false" width="5" height="5" showCaption="false"}

&#x20;**Cargas** e **Nós**: o que roda, quantas réplicas estão prontas e a máquina do inventário de cada nó.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/vrxifJRNrV6u0YZH5_yNF_image.png" size="10" isUploading="false" width="5" height="5" showCaption="false"}

&#x20;**Imagens**: produto e versão vêm do nome e da tag da imagem (postgres:16.2 → PostgreSQL 16.2) e os CVEs são os dessa versão no NVD, com os explorados (KEV) em destaque. Imagens sem versão fixa mostram "sem versão fixa (latest ou digest)". Pacotes dentro da imagem não são lidos.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/Qq6ZHHMHpfVcMk_m57vb7_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;**Namespaces**: um cartão por namespace com o que roda nele; clique para abrir o mapa dele.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/zhmw9Rfb4vGeiCJOOkPBP_image.png" size="10" isUploading="false" width="5" height="4" darkWidth="5" darkHeight="4" showCaption="false"}

Clique em qualquer objeto do mapa para ver **Vai para**, **Usado por** e **Se cair**: o que para e o que sóperde capacidade (uma carga com réplicas em outros nós).

### Exemplo prático: conectar um cluster EKS

1. **Conectar cluster**, **Nome do cluster**eks-prod , **Distribuição** Amazon EKS, **Coletor**COL-AWS01 , **Avançar**.
2. Copie os seis comandos e rode-os com kubectl no eks-prod . O comando 4 imprime o token; os comandos 5 e 6 imprimem o endereço da API e a CA. **Avançar**.
3. **Endereço da API**https\://ABC123.gr7.us-east-1.eks.amazonaws.com , **Confiança no servidor da API** › **Certificado público**, **Acesso** › **Usuário e token**, cole o token, **Conectar**.
4. Um minuto depois a lista mostra eks-prod**Lido** com "6 nós · 41 cargas · 97 pods" e "58 imagens · 12 com CVEs", e a marca vermelha "2 explorados (KEV)".
5. Abra eks-prod › **Imagens**: nginx:1.21.6 mostra 9 CVEs. Abra **Caminhos do serviço**: shop.example.com → Service web → Deployment web → Service api → Deployment api → o banco RDS prod-orders (serviço de nuvem).

### Exemplo prático: impacto de um nó

1. Em eks-prod › **Mapa lógico**, marque **Mostrar nós** e clique no nó ip-10-0-3-21 .
2. **Se cair** mostra "Para: redis-cart." (uma réplica só, neste nó) e "Perde capacidade (réplicas em outro lugar): api, web."
   3\. Escale redis-cart para 2 réplicas em outros nós; depois da próxima leitura o nó não para mais nada.

### Exemplo prático: API autoassinada no k3s

1. Conecte k3s-lab sem conhecer o certificado: **Confiança no servidor da API** › **Certificado público**.
2. A primeira leitura falha (estado **Erro**) e a página do cluster mostra "O servidor da API mostrou este certificado (SHA-256), que nenhuma CA conhecida assina:" com a impressão.
3. Confira com quem administra o cluster ( openssl s\_client -connect host:6443 | openssl x509 -noout-fingerprint -sha256 ) e clique em **Confiar neste certificado**: "Certificado fixado; lendo o cluster de novo."

### Cuidados e limites

&#x20;Conectar, ler agora, mudar o acesso e desconectar exigem agents\:admin ; ver exige assets\:read .

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/sg2vW7bXTSUumHqXkNviw_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;O endereço da API precisa começar com https\:// . A CA precisa ser o PEM já decodificado (BEGIN CERTIFICATE).

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/wOhNwTKgxLh9dArcqLiPL_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Um certificado de cliente colado no campo do token é recusado com "This is a client certificate: choose that option." (escolha a opção de certificado).

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/osl-KqUeazFf3mjJiCcv9_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;**Desconectar** apaga o que foi lido e o token no cofre; o cluster em si não é alterado.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/nnZJVsKIYS1CVLAlpioxp_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;O intervalo de leitura (15 a 1440 minutos, padrão 60) só muda pela API.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/i0OZZTajmCiXdb87aEBQB_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

### Dependências e mapa lógico

O **mapa lógico** vai da esquerda para a direita (ou de cima para baixo: **Horizontal**, **Vertical** ou **Automática**, lembrada por pessoa): o que é publicado (Ingress, rotas), Services, cargas, dados e destinos fora do cluster, e os nós. Cada ligação diz de onde veio — regra do Ingress, seletor de rótulos,

Endpoints, variável de ambiente, ConfigMap, política de rede, malha de serviço ou conexão vista pelo agente — e a confiança (alta, média, baixa). Um destino que é máquina do inventário (um servidor de banco) aparece com o nome dela; um banco gerenciado na nuvem (RDS, Azure SQL, Cloud SQL) aparece como serviço de nuvem. Quando o agente do nó vê a conexão para o destino, a dependência fica confirmada.

Use **Níveis** para mostrar das entradas até o nível escolhido (1 = só o que é publicado; o último = tudo até os nós); ele começa num nível legível. Com mais de um namespace, cada namespace é uma caixa; no **Mapa do cluster inteiro** clique no nome para recolher ou expandir. Uma camada grande vira várias colunas, a ordem cruza o mínimo de linhas e **Ajustar** faz caber na tela. Clicar num objeto abre o painel ao lado do mapa: do que ele **depende**, quem ele **afeta** e o que para se ele cair.

### Caminho do serviço e impacto

**Caminhos do serviço** mostra, para cada endereço publicado, os saltos até o banco, agrupados por namespace (busca por nome ou host, filtro por namespace e host). Cada salto é um chip com o tipo, o nome e uma situação curta: host\:porta e TLS na entrada, tipo e portas no Service, réplicas
prontas/desejadas na carga e o endereço do dado no fim. Clique num caminho para ver o mini-mapa e o painel com o host público, os pods e os nós em que rodam, as imagens com CVEs/KEV e o que para se o fim da cadeia cair; **Abrir no mapa lógico** mostra o mapa inteiro com a cadeia em destaque (ou sóela). Clique num objeto no mapa para ver **o que para se ele cair**: quem depende dele para; uma carga com réplicas em outros nós perde capacidade quando um nó cai.

### Clusters gerenciados da nuvem (EKS, AKS, GKE)

Um cluster descoberto por uma conta de nuvem (**Nuvem → Recursos**, tipo Kubernetes) é lido com a **identidade da conta de nuvem**, sem token de conta de serviço: **Ler este cluster** pega o endereço da API e a CA no provedor e, a cada leitura, o núcleo gera um token de vida curta que vai ao coletor junto com a tarefa (nunca é guardado). Na conta, **Kubernetes** liga a leitura automática de todo cluster gerenciado, com o coletor que alcança a API. A lista do Kubernetes mostra o provedor e a conta; a página do cluster volta ao recurso na nuvem. Token ou certificado de cliente em **Acesso** continuam valendo para qualquer cluster.

**Exemplo — EKS.** A conta "AWS prod" (chave de acesso do usuário IAM hive-reader) acha o aurora-eks em us-east-1. **Ler este cluster** chama o DescribeCluster (endereço e CA) e cada leitura usa o mesmo token do aws eks get-token . Se o cluster responder 401 ou 403, a página mostra os comandos com o ARN da chave: aws eks create-access-entry --cluster-name aurora-eks --region us-east-1 --principal-arn arn\:aws\:iam\::123456789012\:user/hive-reader e aws eks associate-access-policy ... --policy-arn arn\:aws\:eks\::aws\:cluster-access-policy/AmazonEKSViewPolicy --access-scope type=cluster . Se nós ou volumes continuarem faltando, ligue o hive-read a um grupo e ponha o grupo na access entry ( --kubernetes-groups hive-readers ). Só clusters no modo CONFIG\_MAP (aws-auth) usam eksctl create iamidentitymapping .

**Exemplo — AKS.** A conta "Azure prod" (registro de aplicativo com Reader) acha o aurora-aks. O núcleo pega o endereço e a CA pelo listClusterUserCredential e entra com um token do Microsoft Entra para o aplicativo do servidor do AKS. Dê à entidade de serviço "Azure Kubernetes Service RBAC

Reader" e "Azure Kubernetes Service Cluster User Role" no cluster ( az role assignment create --assignee \<app id> --role ... --scope \<id do cluster> ) ou, com RBAC do Kubernetes, ligue o hive-read ao object id dela ( --user=\<object id> ). Cluster só com contas locais não aceita o token do Entra: conecte-o com token.

**Exemplo — GKE.** A conta "GCP lab" (chave da conta de serviço) acha o aurora-gke. O núcleo pega o endpoint e a CA pelo clusters.get e entra com o token OAuth da conta de serviço. Dê a ela
roles/container.viewer ( gcloud projects add-iam-policy-binding \<projeto> --member=serviceAccount:\<e-mail>--role=roles/container.viewer ) ou ligue o hive-read ao e-mail da conta de serviço.

### ConfigMaps: opcionais e desligados por padrão

ConfigMaps costumam guardar senhas, tokens e chaves, por isso o papel principal hive-read não os inclui mais. No assistente, **Opcional: ler ConfigMaps (desligado por padrão)** mostra um aviso e dois comandos à parte ( hive-read-configmaps ); ligue **Ler ConfigMaps (só endereços)** em **Acesso** para usá-los. Mesmo assim o coletor guarda só o que parece endereço e descarta todo o resto antes de enviar:

&#x20;Fica: host e porta de URLs ( postgres\://app\:segredo\@pg.data:5432/pedidos → pg.data:5432 ), de JDBC ( jdbc\:sqlserver://mssql.corp:1433;… , Oracle @//ora.corp:1521/ORCL ), de DSN
( Server=sql01,1433;… , host=pg port=5433 … , user\:pw\@tcp(mysql:3306)/db ) e de listas host\:porta (bootstrap do Kafka).

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/azHUrkZoZRHlwdZGZcQ5i_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Sai: usuários, senhas, tokens, chaves, certificados, caminhos, parâmetros e qualquer valor que não seja endereço; só fica o nome das chaves que tinham endereço.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/zhmw9Rfb4vGeiCJOOkPBP_image.png" size="10" isUploading="false" width="5" height="4" darkWidth="5" darkHeight="4" showCaption="false"}

Com a leitura desligada, o cluster mostra a nota "ConfigMap não lido (opcional; pode conter segredos)"— ele nunca aparece como faltando numa leitura parcial.

### Cadeias que paravam no Service

O Service chega à carga, nesta ordem: pelos pods das **EndpointSlices** (discovery.k8s.io) ou dos **Endpoints**; pelo seletor nos rótulos dos pods; pelo seletor no modelo de pod da carga (carga escalada para 0). Um pod cujo ReplicaSet não foi lido chega ao Deployment pelo pod-template-hash . Sem nada disso, a cadeia termina num marcador explícito em vez de parar em silêncio: **Service sem endpoints&#x20;**(nenhum pod casa com o seletor, nenhum pod pronto ou sem seletor) ou a carga com **0 réplicas**.

### Dependências entre namespaces

Nomes do DNS do cluster levam ao Service de verdade, em qualquer namespace, e não a um nó "fora do cluster": svc , svc.ns , svc.ns.svc , svc.ns.svc.cluster.local e o nome de pod de um Service headless ( kafka-0.kafka-headless.hml-tools.svc.cluster.local ), achados em variáveis de ambiente, argumentos, endereços de ConfigMap, ExternalName e rotas do Gateway e do Istio. Mais duas fontes criam ligações: o tráfego visto (NetFlow/IPFIX e os fluxos dos agentes de um IP de pod para um ClusterIP ou IP de pod, origem **visto no tráfego**, confiança alta; também confirma uma ligação que a configuração já declarava) e uma **NetworkPolicy** com namespaceSelector (declarada, confiança média).

### Mapa do namespace e impacto no mapa

Abrir um namespace mostra um mapa consolidado com todos os caminhos dele: as entradas àesquerda, os objetos usados por vários caminhos marcados **compartilhado por N**, o **fim comum&#x20;**&#x6D;arcado e cada namespace de que ele depende como um bloco ("hml-tools · 3 daqui dependem dele", com o que é usado lá). Clique no bloco para abri-lo no lugar (recursivamente, seguindo os **Níveis**) ou em ↗ para abrir o mapa dele em outra aba.

Escolher um objeto desenha o impacto no mapa, mesmo fora de **Só este caminho** ou dos níveis mostrados: vermelho para, laranja perde capacidade, cinza usa, azul é aquilo de que ele depende; o que está fora do recorte original fica tracejado. **Mostrar impacto** / **Voltar ao caminho** alterna. Clicar num item do painel lateral o mostra no mapa (e o primeiro clique num nó afetado o destaca no painel).

**Serviços publicados que param** lista cada entrada (host, tipo, namespace e o serviço de negócio, quando há) com um link para o caminho dela em **Caminhos do serviço**.

### Exemplo prático: Kafka em outro namespace

1. Abra o namespace hml-app . Os dois Ingress api e front convergem no Deployment api , marcado **compartilhado por 2**.
2. O bloco hml-tools · 1 daqui dependem dele lista kafka-headless, redis-master : a api usa KAFKA=kafka-0.kafka-headless.hml-tools.svc.cluster.local:9092 .
3. Clique no bloco: o StatefulSet kafka e o Deployment redis abrem no lugar; o Ingress batch termina em **Service sem endpoints: nenhum pod casa com o seletor**.
4. Clique em kafka : os Ingress api.hml.corp e app.hml.corp ficam vermelhos e aparecem em **Serviços publicados que param**, o primeiro com "serviço de negócio: Pedidos"; clique nele para abrir o caminho.

### Relacionados

&#x20;Nuvem

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/Z06gDk02NXaNiXJhJAAFy_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Virtualização

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/wOhNwTKgxLh9dArcqLiPL_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Caminho do serviço e mapa lógico

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/Xvol-D6PpsphDHw6BSjq7_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Vulnerabilidades

***

## <font color="#22C55E">Inventário de APIs</font>

![](https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/8yVATqW6P0UY6B01q_ayy_image.png)

Tela: Inventário de APIs

O inventário de APIs lista as APIs da empresa com as operações (método, caminho, autenticação e tags) e mostra as shadow APIs: rotas que as aplicações atendem ou que o Ingress publica sem nenhuma documentação. Fica em **Descoberta › APIs**.

### O que você pode fazer aqui

&#x20;Importar um documento OpenAPI 3 ou Swagger 2 (JSON ou YAML), colado ou buscado de um endereço https.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/5k43XLVvBOT9GDbA_o8d0_image.png" size="10" isUploading="false" width="5" height="5" showCaption="false"}

&#x20;Ler as APIs de um gateway: Kong Admin API, Azure API Management ou Apigee.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/McfgrpZjlLgFOcodSHGV1_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Abrir uma API para ver cada operação e quais não declaram autenticação.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/rbxIqXXl7BHA2qLs1-u7u_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Ver o Service do Kubernetes que publica a API (achado pelo caminho do Ingress) e o serviço de negócio.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/CeHMo88_HXj0Rk_DTauGL_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Comparar o documentado com o visto: rotas sem documentação e operações documentadas nunca chamadas.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/qczbje8mAunmd1mT1vOfn_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/Rs53QRBqeeEeBSi2aibEB_image.png" size="10" isUploading="false" width="71" height="17" darkWidth="71" darkHeight="17" showCaption="false"}

### De onde vêm os dados

| **Origem**           | **O que é lido**                                                    |
| -------------------- | ------------------------------------------------------------------- |
| OpenAPI / Swagger    | título, versão, servidores, cada caminho e método, segurança e tags |
| Kong                 | serviços, rotas (caminhos e métodos) e os plugins de autenticação   |
| Azure API Management | APIs (caminho, assinatura) e as operações (método, modelo de URL)   |
| Apigee               | proxies, a última revisão, o caminho base e os fluxos condicionais  |
| OpenTelemetry        | spans de servidor com http.route (chamadas dos últimos 7 dias)      |
| Kubernetes           | caminhos do Ingress já lidos dos clusters                           |

### Exemplo prático: achar uma shadow API

1. Abra **Descoberta › APIs** e clique em **Importar OpenAPI**.
2. Cole o openapi.yaml do serviço de Pedidos em **Documento (JSON ou YAML)** (ou preencha **Ou o endereço do documento (https)**) e clique em **Importar OpenAPI**; o aviso diz quantas
   operações entraram.
3. Na aba **Inventário**, a coluna **Serviço** da nova API mostra shop/orders : o Ingress publica /orders para esse Service.
4. Abra a API: as operações aparecem com método, caminho e autenticação; GET /health mostra "nenhuma declarada".
5. Abra a aba **Shadow APIs**. Em **Sem documentação** aparece GET /orders/internal/dump , visto pelo OpenTelemetry com 2 chamadas: uma rota atendida em produção que ninguém documentou.
6. Em **Documentadas e nunca vistas** aparece DELETE /orders/ : nenhuma chamada em 7 dias. Confirme com o time se pode ser desativada.

### Exemplo prático: ler o Kong

1. Clique em **Ler gateway** e escolha **Kong** em **Gateway**.
2. Preencha **Endereço da API de administração** com o endereço da Admin API, como https\://kong-admin.example:8444 , e **Credencial** com o token de administração quando o RBAC está ligado.
3. Clique em **Ler gateway**: cada serviço do Kong vira uma API e cada rota, uma operação; rotas de serviços com key-auth , jwt ou oauth2 mostram essa autenticação.

### Cuidados e limites

&#x20;Ver pede assets\:read ; **Importar OpenAPI**, **Ler gateway** e **Remover** pedem assets\:write .

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/j6YTyM-Ker3FWznVqbqdA_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;A credencial do gateway é usada só naquela leitura e não é guardada; leia de novo para atualizar.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/9qCNFYA901D2NvzesFJuw_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;O endereço do documento passa pela verificação de saída protegida: só https, sem endereços internos a menos que a instalação libere, sem redirecionamento, até 10 MB.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/KYlNJZA-LOD6ppVXyI4C7_image.png" size="10" isUploading="false" width="5" height="4" darkWidth="5" darkHeight="4" showCaption="false"}

&#x20;Shadow APIs pedem spans de servidor do OpenTelemetry com http.route ; spans sem rota (só o nome do span) não entram na comparação.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/L3aN3Q5pGw37TJpWEVATm_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Caminhos do Ingress são prefixos: um caminho está documentado quando alguma operação está debaixo dele.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/nqVcvTLWadC2j2GgNyNla_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Os fluxos do Apigee são lidos do texto da condição ( proxy.pathsuffix e request.verb ); fluxos com outras condições viram ANY .

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/-kO4rRDMPbnwYrx0vJdMz_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

### Relacionados

&#x20;Kubernetes

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/yTUUnzbHdTvfT5lpfQePF_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Aplicações

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/cYHtO3ctm70j6O7s8m73s_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Serviços de negócio

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/u8d47q0T7KuE3h5F40yQX_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;SBOM de container

***

## <font color="#22C55E">Código e CI/CD</font>

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/olSMt6jg5K-vvVKKGk3ek_image.png" size="67" isUploading="false" width="672" height="423" darkWidth="672" darkHeight="423" showCaption="false"}

Tela: Código e CI/CD

Código e CI/CD lê as suas plataformas de código com um token somente leitura: os repositórios e a postura deles, os pipelines com as últimas execuções, os pacotes e imagens de contêiner publicados e as dependências de código aberto com as vulnerabilidades conhecidas. Fica em **Segurança › Código e CI/CD**. O Hive nunca escreve na plataforma: nada de commits, configurações ou webhooks.

### O que você pode fazer aqui

&#x20;Conectar GitHub, GitLab, Bitbucket ou Azure DevOps com um token somente leitura (o token vai para o cofre).

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/NgRvkh7J0cqruRMOaaUDg_image.png" size="10" isUploading="false" width="5" height="4" darkWidth="5" darkHeight="4" showCaption="false"}

&#x20;Ver cada repositório com visibilidade, branch padrão, proteção, varredura de segredos e último push, e as verificações de postura que falharam.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/tuBujz9V9oXjWay03psbd_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Ver pipelines e workflows com o último status, o número de execuções e quantas falharam.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/HxZtKXDyPxgoNFHm-vY3__image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Ver pacotes e imagens de registro, e quais imagens do Kubernetes vêm de cada repositório.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/BzaN_d-OFamWUoLlMFAiw_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Ver as dependências de código aberto e as que têm vulnerabilidades conhecidas.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/azUdrkr_7VmmvJQXO6Q0E_image.png" size="10" isUploading="false" width="5" height="4" darkWidth="5" darkHeight="4" showCaption="false"}

### O que é lido

| **Plataforma**    | **Repositórios**                                                       | **Pipelines**        | **Pacotes**          | **Dependências**                                    |
| ----------------- | ---------------------------------------------------------------------- | -------------------- | -------------------- | --------------------------------------------------- |
| GitHub            | repositórios da organização, proteção de branch, varredura de segredos | execuções do Actions | pacotes de contêiner | grafo de dependências<br />(SBOM), senão manifestos |
| GitLab            | projetos do grupo (com subgrupos), branches protegidos                 | pipelines            | pacotes do grupo     | manifestos                                          |
| Bitbucket         | repositórios do workspace                                              | Pipelines            | —                    | —                                                   |
| Azure<br />DevOps | repositórios Git da organização/projeto                                | builds               | —                    | —                                                   |

Os manifestos são lidos do branch padrão: package.json , pom.xml , go.mod e requirements.txt . Sócontam versões fixas ( 4.17.20 , ^4.17.20 , ==3.2.0 ); faixas abertas ( >=2 , \* ) ficam de fora porque não háuma versão única para verificar.

### Verificações de postura

&#x20;**Público**: qualquer pessoa vê o repositório.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/K4cqf2PWlvwIlvlgF00wW_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;**Ramo sem proteção**: quem tem escrita pode enviar ao branch padrão sem revisão.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/b75IOnN4RyDegrA3Xf-pq_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;**Varredura de segredos desligada**: a plataforma informa que a varredura de segredos está desativada (só quando a plataforma informa; desconhecido não vira achado).

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/MurEKmQku-mlTlcvo_ZFG_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;**Parado**: não arquivado e sem push há mais de 180 dias.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/ZuMhzRIGn6tp1uGLzAfr5_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

### Dependências e vulnerabilidades

Cada dependência (ecossistema npm, Maven, Go ou PyPI, nome e versão) entra na consulta diária ao OSV da base de vulnerabilidades, a mesma usada para os pacotes Linux. Até a próxima consulta a dependência aparece como **Ainda não consultada**. Os avisos do OSV já trazem os CVEs como aliases; veja Vulnerabilidades.

### Repositórios e imagens do Kubernetes

Um repositório é ligado a uma imagem do Kubernetes quando o nome da imagem (sem registro e sem tag) é igual ao nome do repositório, ou ao nome de um pacote de contêiner desse repositório: acme/api→ ghcr.io/acme/api:1.4.2 .

**Exemplo prático: conectar o GitHub e achar uma dependência vulnerável**

1. No GitHub, crie um token fine-grained para a organização acme com acesso somente leitura a metadata, contents, actions, administration (proteção de branch), dependency graph e packages.
2. Abra **Segurança › Código e CI/CD**, clique em **Conectar plataforma**, escolha **GitHub** em **Plataforma**, digite GitHub acme em **Nome** e acme em **Organização, grupo ou workspace**, cole o token em **Token somente leitura** e clique em **Conectar** (exige integrations\:admin ).
3. Na aba **Conexões**, clique em **Ler agora** em GitHub acme . O **Estado** fica **Lida** e a aba
   **Repositórios** lista acme/api com as verificações de **PosturaPúblico** e **Ramo sem proteção**. 4. Abra a aba **Dependências** e marque **Só vulneráveis**: depois da consulta diária ao OSV, lodash 4.17.20 em acme/api mostra GHSA-35jh-r3h4-6jhm .
4. Em **Repositórios**, a coluna **Imagens no Kubernetes** de acme/api mostra a imagem ghcr.io/acme/api:1.4.2 rodando no cluster eks-prod ; abra Kubernetes para ver o que depende dela.

### Cuidados e limites

&#x20;Conectar, ler e remover exigem integrations\:admin (sem ela, **Conectar plataforma**, **Ler agora** e **Remover** ficam ocultos); ver exige vulnerabilities\:read .

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/OWGZjpAcQWSHug64qDesk_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Não há leitura agendada da plataforma: os dados só mudam quando alguém clica em **Ler agora**.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/IbBnkgp9ENXaASTBk2iAt_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Token recusado pela plataforma (HTTP 401/403) deixa a conexão em **Erro** com "The platform refused the token (HTTP 401). Check its read scopes."; confira os escopos do token. O token nunca volta a ser mostrado.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/A7VYAwuvE7LTPXYrKMRRF_image.png" size="10" isUploading="false" width="5" height="4" darkWidth="5" darkHeight="4" showCaption="false"}

&#x20;Só a primeira página de cada lista é lida (até 100 repositórios e as últimas 30 execuções por repositório).

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/boICi3E5HmKdUgZmIS2FJ_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Bitbucket e Azure DevOps: proteção, varredura de segredos, pacotes e dependências não são lidos nesta versão.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/ZjNOz4SHXKJxE1wb7Wv3u_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Dependências transitivas só vêm do SBOM do GitHub; os manifestos dão as diretas.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/ad6cv0mYkyHUi8SJfBRui_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Remover a conexão apaga o que foi lido e o token no cofre.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/_gt_0NuAkKQqVc3dsiUII_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

### Relacionados

&#x20;Vulnerabilidades

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/Fr-lF18ccLnH6jwBHFrZi_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Kubernetes

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/E8EIont1Goa4QYuAKBE3u_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Superfície externa

***

## <font color="#22C55E">SBOM de container</font>

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/cyJYp7ntan3Fb10n3R3q6_image.png" size="67" isUploading="false" width="672" height="426" darkWidth="672" darkHeight="426" showCaption="false"}

Tela: SBOM de container

O SBOM de container traz os pacotes de dentro de cada imagem (a lista de materiais do software) e os correlaciona com CVEs, então a imagem ganha achados mesmo com a tag latest . Fica em
**Descoberta › Kubernetes**, na aba **Imagens** de um cluster, em "Imagens por carga (SBOM)".

### O que você pode fazer aqui

&#x20;Enviar um SBOM CycloneDX ou SPDX em JSON para o digest de uma imagem, pelo pipeline via API ou pela tela: numa linha que mostra "sem SBOM", clique em **Enviar SBOM** e preencha **Arquivo do SBOM (CycloneDX ou SPDX JSON)**, **Referência da imagem (registro/repo\:tag)&#x20;**&#x65;, quando o SBOM não traz, **Digest da imagem (sha256:…), quando o SBOM não traz**. Os pacotes são correlacionados com CVEs na hora.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/MyNtOu-Meyy_XnEjWROcP_image.png" size="10" isUploading="false" width="5" height="5" showCaption="false"}

&#x20;Ver, por carga, as imagens que ela roda e quantos CVEs dos pacotes se aplicam.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/0st5CVSHP1l5_PxYm5PeZ_image.png" size="10" isUploading="false" width="5" height="5" showCaption="false"}

&#x20;Abrir uma imagem para ver cada pacote com os CVEs, a severidade e o KEV.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/hF8cEYalf6wZLSDrfIR8O_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Pedir a um scanner configurado (Trivy ou Grype atrás de um adaptador) o SBOM de uma imagem, pela API ( POST /api/v1/k8s/sbom/scan ); não há botão para isso na tela.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/X51ge_6rQ6iSaXof4IjQq_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

### Como os CVEs são achados

| **Pacote**                                  | **Base usada**                                                            |
| ------------------------------------------- | ------------------------------------------------------------------------- |
| deb, rpm (Debian, Ubuntu, AlmaLinux, Rocky) | OSV para aquela versão na distribuição da imagem, que considera backports |
| npm, PyPI, Maven, Go, NuGet…                | OSV do ecossistema da linguagem, quando aquela versão já foi consultada   |
| qualquer pacote com CPE                     | faixas de versão da NVD, como os programas do inventário                  |

### Exemplo prático: CVEs de uma imagem com a tag latest

1. No pipeline, gere o SBOM: trivy image --format cyclonedx -o sbom.json

| registry.example/shop/orders\:latest . |
| -------------------------------------- |

2. Envie: POST /api/v1/k8s/sbom?image=registry.example/shop/orders\:latest com o arquivo no corpo (conta de API com permissão de escrita em ativos).
3. Abra **Descoberta › Kubernetes**, o cluster e a aba **Imagens**.
4. Em "Imagens por carga (SBOM)", a linha shop/Deployment/orders mostra, na coluna **CVEs dos pacotes**, o número de CVEs dos pacotes e o maior CVSS.
5. Clique em **Pacotes**: os CVEs vêm primeiro (KEV no topo), depois cada pacote com a versão. 6. Depois da próxima carga da base de vulnerabilidades, pacotes consultados pela primeira vez também ganham os CVEs; use POST /api/v1/k8s/sbom/correlate para correlacionar de novo na hora.

### Cuidados e limites

&#x20;O SBOM é guardado por digest; quando o documento não traz (alguns SPDX), informe o digest no envio.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/-K3nIFJSR366LVHXMvfKy_image.png" size="10" isUploading="false" width="5" height="5" showCaption="false"}

&#x20;A carga casa com o SBOM pelo digest na referência da imagem ou pela mesma referência (repo\:tag); uma tag movida para outro build mantém o SBOM antigo até chegar um novo.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/FSPswLpr3COPtsetLCghc_image.png" size="10" isUploading="false" width="5" height="5" showCaption="false"}

&#x20;O OSV é usado para pacotes Debian, Ubuntu, AlmaLinux e Rocky, que entram na carga do OSV automaticamente; pacotes Alpine só ganham CVEs por CPE, e pacotes de linguagem só ganham CVEs do OSV quando aquela versão já foi consultada.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/UqDMJDaOUvqfMJugwx1VB_image.png" size="10" isUploading="false" width="5" height="5" showCaption="false"}

&#x20;O scanner é opcional ( hive.sbom.scanner-url ); sem ele, o pedido de varredura falha com "Nenhum scanner de imagens configurado." e os SBOMs vêm do pipeline ou da tela.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/XlvVgbWdFE2UY_w9_nzS6_image.png" size="10" isUploading="false" width="5" height="4" darkWidth="5" darkHeight="4" showCaption="false"}

&#x20;Enviar SBOM, varrer e correlacionar exigem a permissão de escrita em ativos; ler exige leitura de ativos. Um arquivo que não é CycloneDX nem SPDX JSON é recusado com "Isto não é um documento JSON CycloneDX ou SPDX."

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/yhBlWYko7q8uZhqvwMp3X_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Os achados de imagem são separados dos achados dos ativos: não entram no risco do ativo.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/EfVx5L4TJAqEQypSS-STq_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

### Relacionados

&#x20;Kubernetes

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/SK5y4lGwYmuZFoO0N6DlA_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Vulnerabilidades

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/UK19kMT8TQbfuxx7srws1_image.png" size="10" isUploading="false" width="5" height="4" darkWidth="5" darkHeight="4" showCaption="false"}

&#x20;Inventário de APIs

***

## <font color="#22C55E">Superfície externa</font>

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/UM3X_O0J8spJd4rHF-TWr_image.png" size="67" isUploading="false" width="672" height="426" darkWidth="672" darkHeight="426" showCaption="false"}

Tela: Superfície externa

Superfície externa mostra o que a empresa expõe na internet, olhando só o que é dela: os domínios e faixas de endereço que o cliente confirmou. A coleta é só passiva: certificados públicos (certificate transparency), resolução DNS e dados de exposição importados (Shodan, Censys). **O Hive não varre, não sonda e não se conecta aos endereços descobertos.** Fica em **Segurança › Superfície externa**. A página tem quatro painéis: **Escopo autorizado**, **Importar dados passivos**, **Achados** e **Ativos descobertos**.

### O que você pode fazer aqui

&#x20;Incluir domínios e faixas de endereço no escopo e confirmar que pertencem à empresa.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/EcPjMbZBt6LA2aaqfyR44_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Importar resultados de certificate transparency e dados de exposição.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/DVNjABhRjJ9PcyLeQK2Cf_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Resolver os nomes descobertos e ligá-los aos dispositivos do inventário e aos recursos de nuvem.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/VJQIpGYwx7w41szxgnPyn_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Ver os ativos externos e os achados.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/DFs2sURrdQzDN_8qQwM4P_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

### Escopo autorizado

Uma entrada de escopo é um domínio ( acme.example , que cobre os subdomínios) ou uma faixa de endereços ( 203.0.113.0/24 , no máximo /16 em IPv4 e /32 em IPv6). A entrada só vale depois de **Confirmar posse**: o Hive registra quem confirmou e quando. Tudo o que está fora do escopo confirmado é ignorado na importação, e quando uma entrada é removida ou a confirmação é retirada (**Retirar confirmação**), os ativos externos que só ela cobria são apagados.

### Fontes

| :inlineImage[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/5x89NpX1zBbnhOFxJhBse_image.png" alt caption size="10" width="5" height="5"} | **Certificate transparency**: o JSON de uma consulta ao crt.sh ( \[\{name\_value, issuer\_name, |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |

not\_after}] ). Cada nome de um domínio confirmado vira subdomínio com o emissor e a validade do certificado mais longo; curingas contam como o nome pai.

&#x20;**Dados de exposição**: resultados de busca do Shodan ( matches com ip\_str , port , product , hostnames ) ou hosts do Censys ( result.hits com services ). Endereço numa faixa confirmada, ou com nome num domínio confirmado, entra com porta, serviço e banner.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/hSEpsv-p4nSoqPMMBEQ17_image.png" size="10" isUploading="false" width="5" height="5" showCaption="false"}

&#x20;**DNS**: **Resolver DNS** consulta os endereços e o CNAME de cada nome descoberto pelo resolvedor protegido do Hive.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/hepxLQS1J02dFKxQwbsIe_image.png" size="10" isUploading="false" width="5" height="5" showCaption="false"}

### Vínculo com o inventário

Um ativo externo é ligado a um dispositivo do inventário quando o endereço é um dos endereços do dispositivo ou o nome é igual ao hostname ou FQDN dele, e a um recurso de nuvem (balanceador, instância) quando o endereço é um dos endereços públicos do recurso.

### Achados

&#x20;**Certificado vencido** (alto) e **Certificado vence em 30 dias** (médio).

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/NVIljiq4Aqts_9lFXuV5E_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;**Certificado fraco** (médio): assinatura SHA-1/MD5 ou chave RSA menor que 2048 bits, quando a fonte informa.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/bESBbW_gtwbSvfK0oVBOu_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;**Porta de administração exposta** (alto): SSH, Telnet, RDP, SMB, WinRM, VNC, bancos de dados, Docker, API do Kubernetes, kubelet e portas parecidas abertas para a internet.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/VDCsir1FO86aVTN5XSamH_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;**DNS pendente (risco de tomada)** (alto): o nome tem CNAME mas não tem endereço — risco de tomada de subdomínio.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/fZUZLFV7pIdebp-ibcRrZ_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;**Subdomínio desconhecido** (baixo): nome que resolve e não casa com nenhum dispositivo do inventário nem recurso de nuvem.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/TZd-78XagDSuCsTpCFAMi_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

### Exemplo prático: um RDP exposto e um blog esquecido

1. Abra **Segurança › Superfície externa**. No painel **Escopo autorizado**, escolha **Domínio** em **Tipo**, digite acme.example em **Valor** e clique em **Adicionar**; faça o mesmo com **Faixa de endereços**203.0.113.0/24 . Clique em **Confirmar posse** em cada linha e confirme (exige integrations\:admin ).
2. Abra https\://crt.sh/?q=%25.acme.example\&output=json no navegador, copie o JSON, cole em **Certificate transparency (JSON do crt.sh)** do painel **Importar dados passivos** e clique em **Importar**: "4 importados, 1 ignorados (fora do escopo confirmado)." (um nome de outra empresa no mesmo certificado foi ignorado).
3. Cole uma exportação do Shodan para net:203.0.113.0/24 em **Base de exposição (JSON do Shodan ou Censys)** e clique em **Importar**: "1 importados, 1 ignorados (fora do escopo confirmado)." (um endereço fora da faixa).
4. Clique em **Resolver DNS**. www\.acme.example resolve para 203.0.113.20 , o servidor WEB-01 do inventário.
5. O painel **Achados** mostra **Porta de administração exposta** em 203.0.113.20:3389 , **DNS pendente (risco de tomada)** em blog.acme.example → acme.ghost-host.example e **Certificado vencido** em old.acme.example ; em **Ativos descobertos**, www\.acme.example aparece ligado a WEB-01 . Remova o registro DNS do blog e feche o RDP no firewall.

### Cuidados e limites

&#x20;Mudar o escopo, importar e **Resolver DNS** exigem integrations\:admin (sem ela os botões e o painel de importação não aparecem); ver exige vulnerabilities\:read .

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/lyoTpHtBY7f7JPGNc9jQv_image.png" size="10" isUploading="false" width="5" height="4" darkWidth="5" darkHeight="4" showCaption="false"}

&#x20;Faixa de endereços mais larga que /16 em IPv4 (ou /32 em IPv6) é recusada: "Use uma faixa como 203.0.113.0/24 (no máximo /16)."

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/hF_fX-SOyKMIhegSC1OXG_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Entrada sem confirmação não faz nada: as importações voltam "0 importados" até alguém confirmar.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/DAvW9q76iPdWCAj9Q-1Hl_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;O Hive não busca crt.sh, Shodan ou Censys sozinho nesta versão; você importa o JSON deles.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/BhyA1164tU1s0NPmehvyd_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Portas e banners são tão recentes quanto os dados importados; o Hive não os verifica.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/0L9h3RIp3g3GyCJpqmEdb_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Faixas privadas e endereços internos não são superfície externa; o resolvedor do Hive não devolve endereços internos.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/bEsEoPiPtANSycT8iRNC8_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

### Relacionados

&#x20;Certificados

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/tVVkoRJHn1RrbPs5NiWJZ_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Nuvem

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/4IWLI7B_n8OBuB2-grFY1_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Código e CI/CD

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/Cme3Lg_7swHqwr-g04wOf_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Vulnerabilidades

***

## <font color="#22C55E">Nuvem</font>

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/zX61lYLjpHypsclkH2y55_image.png" size="67" isUploading="false" width="672" height="426" darkWidth="672" darkHeight="426" showCaption="false"}

Tela: Nuvem

A Nuvem lê suas contas AWS, Azure, Google Cloud e Oracle Cloud (OCI) com uma credencial somente leitura: redes, sub-redes, peering, VPN e gateways, instâncias (e qual máquina do inventário cada umaé), Kubernetes gerenciado e bancos gerenciados, além de custos e flow logs quando você der acesso a eles. Fica em **Descoberta › Nuvem**, com as abas **Contas**, **Topologia**, **Recursos** e **Custos**.

### O que você pode fazer aqui

&#x20;Conectar uma conta com **Conectar conta** e acompanhar o estado em **Contas**.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/iVan_KIQwQHLuRjHGCeud_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Ler uma conta de novo com **Ler agora**, ou removê-la com **Desconectar**.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/UsadWf6xMbE3j1gTfMWJG_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Ver o mapa de uma conta em **Topologia** (blocos de VPC/VNet, sub-redes, gateways, peering, VPN) e o tráfego dos flow logs.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/l23224ueW5czWRQxUguB5_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Buscar qualquer recurso em **Recursos** por nome, IP ou endereço e filtrar por **Tipo**.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/MaxHagavIGeEY4ReULhd-_image.png" size="10" isUploading="false" width="5" height="5" showCaption="false"}

&#x20;Ver os custos dos últimos 3 meses em **Custos**.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/FR4Y1Co1RCMXyM3Ne8Nge_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

### Passo a passo: conectar uma conta

1. Abra **Descoberta › Nuvem** e clique em **Conectar conta** (exige integrations\:admin ).
2. Escolha o **Provedor**. A nota abaixo diz qual credencial somente leitura criar:
   3\. **Amazon Web Services**: um usuário IAM (ou papel) com a política gerenciada ReadOnlyAccess ou ViewOnlyAccess e uma chave de acesso. Preencha **ID da chave de acesso**, **Chave secreta&#x20;**&#x65; **Regiões** (separadas por vírgula; vazio lê us-east-1 ).
3. **Microsoft Azure**: um aplicativo registrado no Entra ID com um segredo e o papel Reader na assinatura. Preencha **ID do locatário (diretório)**, **ID do aplicativo (cliente)**, **Segredo do cliente&#x20;**&#x65; **ID da assinatura**.
4. **Google Cloud**: uma conta de serviço com o papel Viewer no projeto. Preencha **ID do projeto** e cole a **Chave da conta de serviço (JSON)** como foi baixada.
5. **Oracle Cloud (OCI)**: uma chave de API de um usuário cujo grupo tem "read all-resources" no compartimento. Preencha **OCID da tenancy**, **OCID do usuário**, **Impressão digital da chave de API**, **Chave privada da API (PEM)**, **Regiões** (vazio lê us-ashburn-1 ) e, se quiser, **OCID do compartimento** (vazio lê a raiz da tenancy).
6. Campos opcionais: **Grupo de logs dos VPC Flow Logs** (AWS), **Contêiner dos NSG flow logs&#x20;**&#x65; o **SAS** dele (Azure), **Tabela da exportação de faturamento** (Google Cloud) e **Tags da instância a copiar**.
7. Dê um **Nome** (único, até 120 caracteres) e clique em **Conectar**. Aparece "Conta conectada: a primeira leitura começou."

O segredo vai para o cofre. O núcleo lê cada conta pelas APIs do provedor a cada hora.

### O que é lido

&#x20;**Redes** (VPC, VNet, VCN) com sub-redes, **peering**, **VPN** e gateways (internet, NAT, VPN).

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/niwIIYln4C5FFmcyn_Xic_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;**Instâncias** com IPs privados e públicos e, quando o provedor informa, MACs.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/PLUYPkr507Rt-H87lsNHa_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;**Kubernetes gerenciado** (EKS, AKS, GKE, OKE) com o endereço da API.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/7Jzpu8R3tLiwihYvr2aU7_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;**Bancos gerenciados** (por exemplo RDS, Azure SQL e servidores flexíveis, Cloud SQL, DB Systems do OCI) com o endereço.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/tsEv6pojYO0f4rXY7s_OW_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

Se a credencial não consegue ler um serviço, o resto é lido e a conta mostra "Partially read: ..." com o que faltou.

### Instâncias e o inventário

Cada instância é casada com uma máquina do inventário por MAC, IP ou nome, com a mesma regra das VMs: um valor repetido em mais de uma máquina só decide se exatamente uma delas tem o agente. A nuvem não cria máquinas: uma instância sem casamento fica "fora do inventário" em **Recursos**. A página da máquina mostra a instância, o provedor, a conta, a região e a rede.

### Kubernetes gerenciado lido com a identidade da nuvem

Num recurso do tipo Kubernetes, **Ler este cluster** conecta-o ao **Kubernetes** com o endereço e a CA do provedor e a identidade desta conta (EKS: token da chave de acesso; AKS: token do Microsoft Entra do aplicativo; GKE: token da conta de serviço), pelo coletor escolhido. Depois de conectado aparece **Abrir no Kubernetes**. O botão **Kubernetes** da conta lê sozinho todo cluster gerenciado depois de cada leitura da nuvem. Exemplo: "AWS prod" acha o aurora-eks → **Ler este cluster** → coletor COL-SP-01 → aparecem o mapa, os caminhos do serviço e as imagens; se o cluster recusar a chave, a página do cluster mostra os comandos aws eks create-access-entry e associate-access-policy com o ARN da chave. O mesmo vale para AKS (papéis para o app id) e GKE ( roles/container.viewer para a conta de serviço). Detalhes no artigo do Kubernetes. No laboratório, inclua sts nos endereços por serviço da conta AWS.

### No mapa do Kubernetes

Quando uma aplicação do Kubernetes aponta para um banco gerenciado (variável de ambiente ou ConfigMap), o mapa lógico mostra o banco com o nome, a conta, a região e a rede da nuvem.

A máquina casada recebe tags de origem: Nuvem: \<provedor> , Conta de nuvem: \<conta> , Região: \<região> , Rede de nuvem: \<VPC/VNet> e as tags da instância **Environment**, **Application**, **CostCenter** e **Owner&#x20;**(mais as chaves de **Tags da instância a copiar**, até 20). Elas acompanham a origem: uma instância que deixa de casar ou uma conta removida as leva embora; tags manuais nunca são tocadas.

### Topologia e flow logs

Em **Topologia**, cada VPC/VNet é um bloco com as sub-redes e o que roda em cada uma (instância, banco gerenciado, Kubernetes; nome em azul = casado com uma máquina do inventário), os gateways na borda, a ligação com a **Internet**, o peering (linha azul tracejada) e cada VPN até o endereço local (verde no ar, vermelha fora).

Com flow logs configurados (AWS: o grupo do CloudWatch Logs dos VPC Flow Logs no formato padrão, credencial com logs\:FilterLogEvents ; Azure: o contêiner dos NSG flow logs com um SAS de leitura e listagem), cada leitura transforma os fluxos aceitos no mesmo tráfego por minuto dos switches, usado pelo caminho do serviço e pelo mapa lógico. Os fluxos recusados são só contados. O painel **Tráfego pelos flow logs** mostra a última hora: quem falou com quem, porta e bytes.

### Custos

Com leitura de custos (AWS Cost Explorer; Azure Cost Management Reader), **Custos** mostra o total dos últimos 3 meses por provedor, os serviços mais caros do último mês, o custo por centro de custo (tag CostCenter da AWS) e por conta. Conectando a conta de gerenciamento da AWS (Organizations somente leitura), aparecem as contas da organização com o caminho da OU. No Google Cloud, informe a **Tabela da exportação de faturamento** ( projeto.dataset.tabela ); a conta de serviço precisa de BigQuery Data Viewer e Job User, e os custos vêm por serviço, por projeto e pelo rótulo costcenter .

### Exemplo prático: conta AWS somente leitura em duas regiões

1. No IAM da AWS, crie o usuário hive-reader com a política gerenciada **ReadOnlyAccess** e uma chave de acesso.
2. No Hive, **Conectar conta**, **Provedor** Amazon Web Services, **Nome**AWS Produção , **ID da chave de acesso**AKIA... , **Chave secreta**, **Regiões**us-east-1, sa-east-1 , **Conectar**.
3. A linha mostra **Lendo** e depois **Lido** com, por exemplo, "4 redes · 37 instâncias (31 no inventário) · 3 bancos · 1 Kubernetes".
4. Clique em **Topologia** na linha: as VPCs das duas regiões aparecem como blocos; vpc-prod-sa tem 3 sub-redes, um internet gateway, um NAT gateway e uma VPN até 200.10.20.30 (verde). 5. Em **Recursos**, escolha **Tipo** Instância e busque 10.50. : as 6 instâncias sem máquina são as que ainda não têm agente nem descoberta. Instale o agente ou varra essa faixa e, depois da próxima leitura, elas mostram a máquina do inventário.
5. Abra uma máquina casada: ela tem as tags Nuvem: AWS , Conta de nuvem: AWS Produção , Região: sa- east-1 , Environment: prod .

### Exemplo prático: flow logs na AWS

1. Publique os VPC Flow Logs da vpc-prod-sa no grupo do CloudWatch Logs /vpc/flowlogs/prod e dê logs\:FilterLogEvents ao hive-reader .
2. Conecte a conta (ou uma nova) com **Grupo de logs dos VPC Flow Logs**/vpc/flowlogs/prod . 3. Depois da próxima leitura, **Topologia** › **Tráfego pelos flow logs** mostra "Última hora: ..." com as principais conversas, por exemplo 10.50.1.12 → 10.50.2.40 , porta 5432.

### Cuidados e limites

&#x20;Conectar, ler agora e desconectar exigem integrations\:admin ; ver exige assets\:read .

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/EiJNY3iCeu5qpzFDS1Dm-_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;As regiões da AWS são códigos como us-east-1 (até 30); as do OCI, como sa-saopaulo-1 .

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/GRZ9kem1du4SC26eUzV2c_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;A URL do contêiner dos flow logs do Azure vai sem o SAS (o SAS tem campo próprio e vai para o cofre).

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/wyyOU33S6Ql5Cua6i0PBD_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Uma nova leitura não começa enquanto outra roda ("The account is being read now.").

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/uxx3hCmAdTeK9rbp5LiEL_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;**Desconectar** apaga o que foi lido e o segredo no cofre, e as tags de origem da nuvem saem das máquinas. Nada muda na nuvem.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/am53fxCqzSg_2ZZfL0Po4_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;A tela não tem formulário de edição; mudanças numa conta (segredo novo, regiões, intervalo de leitura de 15 a 1440 minutos) vão pela API ( PUT /api/v1/cloud/accounts/ ).

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/WS57nu_CA5y4Tzonuia7J_image.png" size="10" isUploading="false" width="5" height="4" darkWidth="5" darkHeight="4" showCaption="false"}

### Clusters de nuvem em Mapas

Um cluster gerenciado lido com a identidade da nuvem se comporta como qualquer outro: os ConfigMaps ficam desligados até ligar **Ler ConfigMaps (só endereços)** em **Acesso** (só endereços saem do coletor), e o cluster aparece como **Origem** em **Mapas › Mapa lógico** e nos pontos de partida de **Mapas › Caminho do serviço**. Quando um endereço publicado do cluster para, o impacto cita o serviço de negócio cujos componentes estão na cadeia dele ou cujo nome ou descrição menciona o host.

### Exemplo prático: aurora-eks no espaço Mapas

1. **Mapas › Kubernetes** abre o mapa lógico no primeiro cluster; escolha **Origem** › Kubernetes · aurora-eks · AWS .
2. Abra o namespace shop : o banco RDS prod-orders é o **fim comum** dos dois caminhos publicados.
3. Clique em prod-orders : os dois Ingress ficam vermelhos e **Serviços publicados que param&#x20;**&#x6D;ostra "serviço de negócio: E-commerce".

### Relacionados

&#x20;Kubernetes

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/B06lP27vLRPLmbNQyhHLh_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Caminho do serviço e mapa lógico

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/1hTywYzp8nK-DPWP-ObT9_image.png" size="10" isUploading="false" width="5" height="4" darkWidth="5" darkHeight="4" showCaption="false"}

&#x20;Tags e grupos

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/acfLpl-6SHL3bv8yl7iOf_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Virtualização

***

## <font color="#22C55E">Postura da nuvem</font>

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/C86hEMlFUjo5_h-1FQMUp_image.png" size="67" isUploading="false" width="672" height="426" darkWidth="672" darkHeight="426" showCaption="false"}

Tela: Postura da nuvem

A Postura da nuvem estende a leitura das suas contas de nuvem além da computação: buckets de armazenamento, funções serverless, IAM da nuvem (usuários, papéis e políticas), balanceadores de carga, zonas e registros DNS, filas e tópicos, cofres de segredos (só metadados, nunca os valores) e grupos de segurança. Um pacote de regras confere a configuração e abre achados com severidade, evidência e correção, e cada conta recebe uma nota de postura de 0 a 100. Fica em **Descoberta ›Postura da nuvem**, com as abas **Recursos**, **Achados** e **Nota**.

### O que você pode fazer aqui

&#x20;Ver todo recurso além da computação em **Recursos**, filtrado por **Tipo** (ou pelos botões de tipo com as contagens), com os **Achados abertos** de cada um e, nos balanceadores, as instâncias (e máquinas do inventário) por trás deles em **Ativos ligados**.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/TZC5zDj9NzD8lilxUtxMd_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Tratar os achados em **Achados**: filtrar por **Situação** (**Aberto** por padrão) e **Severidade**, ler a **Evidência** e o **Como corrigir**, **Aceitar risco** com o motivo ou **Reabrir**.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/yNqFq-J4scV52X-Vc6dVD_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Comparar as contas em **Nota** e clicar em **Avaliar agora** para rodar as regras de novo (pede integrations\:admin ).

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/Uonn8f157vRV9bNbTHtWe_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Receber eventos do provedor (criação, alteração, exclusão) para a conta ser lida de novo sem esperar o intervalo.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/xJfJSljIL_Gt1liMuDwCy_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}



::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/WbH6K-3EG3WpmGemry3sf_image.png" size="10" isUploading="false" width="63" height="17" darkWidth="63" darkHeight="17" showCaption="false"}

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/-Op1Pw2aye4MIz6bzNmXM_image.png" size="10" isUploading="false" width="32" height="17" darkWidth="32" darkHeight="17" showCaption="false"}

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/X8sqkj19AGSI_CW03uhqE_image.png" size="14" isUploading="false" width="140" height="17" darkWidth="140" darkHeight="17" showCaption="false"}

### O que é lido

&#x20;**Azure** (lido direto pelo Azure Resource Manager a cada leitura da conta, com o papel Reader): contas de armazenamento, function apps, balanceadores, zonas DNS e conjuntos de registros, namespaces do Service Bus, tópicos do Event Grid, Key Vaults (metadados), definições de papéis personalizados e grupos de segurança de rede.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/WW0WPrePnnr3gTPetPAkS_image.png" size="10" isUploading="false" width="5" height="5" showCaption="false"}

&#x20;**AWS**: os grupos de segurança são lidos ao vivo (EC2) a cada leitura. Buckets, funções, IAM, balanceadores, Route 53, SQS, SNS e Secrets Manager vêm de um **instantâneo**: a saída das APIs ou da AWS CLI enviada a POST /api/v1/cloud/accounts//snapshot com as chaves s3 , lambda , iam , elbv2 , route53 , sqs , sns , secretsmanager e securityGroups . Cada instantâneo troca o anterior; a leitura periódica não o apaga.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/OcRSXgPh1_hAwGauCdOqm_image.png" size="10" isUploading="false" width="5" height="4" darkWidth="5" darkHeight="4" showCaption="false"}

&#x20;Segredos: só nome, rotação e datas. Um instantâneo que traga SecretString ou SecretBinary é recusado.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/z7dcBG7qsR4LklOkIYBff_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Os balanceadores guardam a lista de instâncias de destino; quando a instância está casada com uma máquina do inventário, a máquina aparece ao lado do balanceador.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/IDXzEu-3AFiX98H9GoAf2_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

### As regras

| **Regra**                                                           | **Severidade** | **Quando abre**                                                                                                                |
| ------------------------------------------------------------------- | -------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| Bucket legível pela internet                                        | crítica        | política pública sem Block Public Access (AWS) ou allowBlobPublicAccess ligado (Azure)                                         |
| Bucket sem criptografia padrão                                      | média          | nenhuma criptografia padrão configurada                                                                                        |
| Porta de administração aberta para a internet (0.0.0.0/0)           | alta           | 22, 23, 3389, 5985/5986, 1433, 3306, 5432, 6379, 9200 ou 27017 liberada de 0.0.0.0/0 ou \::/0                                  |
| Usuário de console sem MFA                                          | alta           | usuário IAM com senha de console e sem dispositivo MFA                                                                         |
| Chave de acesso com mais de 90 dias                                 | média          | chave de acesso ativa criada há mais de 90 dias                                                                                |
| Função com URL pública sem autenticação                             | alta           | URL da função com autenticação NONE (AWS) ou function app aberta sem restrição de acesso (Azure)                               |
| Balanceador servindo HTTP sem TLS                                   | média          | listener HTTP e nenhum listener HTTPS/TLS                                                                                      |
| CNAME de DNS apontando para um recurso de nuvem que não existe mais | alta           | CNAME para um endereço de nuvem (S3, CloudFront, ELB, azurewebsites.net, blob, Traffic Manager...) que nenhum recurso lido tem |

### Situação e nota

&#x20;**Aberto**: a regra achou o problema na última avaliação.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/VVzS03SMiLTjKzcn_DlpO_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;**Resolvido**: o problema sumiu (corrigido ou o recurso foi removido). Se voltar, o achado abre de novo.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/iVefsF3NXUAwUJbzwmhQ5_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;**Aceito**: alguém aceitou o risco com um motivo (pede integrations\:admin ). Deixa de contar na nota; **Reabrir** o devolve.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/UTCQZdoBscTB2P1sq56gT_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;A nota começa em 100 e perde 20 por achado aberto crítico, 10 por alto, 4 por médio e 1 por baixo, nunca abaixo de 0. É recalculada depois de cada leitura da conta, depois de um

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/BDfZnidLhJQAO6omO6l78_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}



instantâneo, ao aceitar/reabrir e em **Avaliar agora**.

### Eventos do provedor

1. Crie o token do webhook com POST /api/v1/cloud/accounts//event-token . O token aparece uma única vez; criar de novo substitui o antigo.
2. Aponte o provedor para POST /api/v1/public/cloud-events com o cabeçalho X-Hive-Cloud-Token : 3. **AWS**: uma regra do EventBridge para "AWS API Call via CloudTrail" com um destino de API para o Hive (o formato de arquivo do CloudTrail com Records também é aceito).
3. **Azure**: uma assinatura do Event Grid na subscription com endpoint de webhook; o aperto de mão de validação é respondido e a chave também pode ir no cabeçalho aeg-sas-key .
4. Cada evento fica guardado (origem, ação, nome e recurso) e marca o recurso e a conta para nova leitura. A agenda lê a conta de novo em cerca de 5 minutos.

### Exemplo prático: bucket público e SSH aberto na AWS

1. A conta AWS Produção já está conectada em **Descoberta › Nuvem**.
2. Exporte o inventário com a AWS CLI (por exemplo aws s3api list-buckets , get-bucket-policy-status , get-bucket-encryption , aws lambda list-functions , aws iam get-account-authorization-details , aws elbv2 describe-load-balancers , aws route53 list-resource-record-sets ) e junte os resultados num JSON com as chaves do instantâneo.
3. Envie com POST /api/v1/cloud/accounts//snapshot . A resposta conta o que foi lido, por exemplo 3 buckets, 2 funções, 3 usuários IAM e 2 balanceadores.
4. Abra **Descoberta › Postura da nuvem › Nota**: AWS Produção mostra 28, com 1 crítico, 4 altos e 3 médios.
5. Em **Achados**, o crítico é "Bucket legível pela internet" em aurora-public-site ; a evidência mostra publicAccess: true e a correção manda ligar o Block Public Access.
6. "Porta de administração aberta para a internet (0.0.0.0/0)" em legacy-admin mostra 22 from 0.0.0.0/0 . Restrinja a regra na AWS à faixa da VPN.
7. Crie o token de eventos e a regra do EventBridge. A mudança do grupo de segurança chega como AuthorizeSecurityGroupIngress / RevokeSecurityGroupIngress , o grupo fica marcado para nova leitura e, depois da próxima leitura, o achado vai para **Resolvido** e a nota sobe.
8. O bucket aurora-public-site é um site público de propósito: clique em **Aceitar risco**, escreva "Site público, sem dados sensíveis" em **Por que o risco é aceito?** e clique em **Aceitar risco** na janela. A nota deixa de contá-lo.

### Cuidados e limites

&#x20;Enviar instantâneo, aceitar, reabrir, **Avaliar agora** e criar o token de eventos pedem integrations\:admin ; o instantâneo é só para contas AWS (uma conta Azure é recusada com "Snapshots are for AWS accounts; Azure is read directly.").

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/gch8uzLZeB6AT_IemN-_k_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Na AWS, só os grupos de segurança são lidos ao vivo nesta versão; os outros tipos dependem do instantâneo. Envie um novo instantâneo para atualizá-los (um evento só os marca para nova leitura).

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/HARJ5rqSX32JBY2qjwdd9_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;O Azure pede o papel Reader na subscription; um tipo que a conta não consegue ler fica de fora e o resto é lido.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/l34rb-Rnp0YQtaUoOYg_U_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}



&#x20;A regra de CNAME órfão só conhece os recursos que o Hive leu: um CNAME para um bucket de outra conta que você não conectou parece órfão.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/BSMLVUhz-kbksRfKCy2xc_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;O webhook só aceita um token válido da conta; no máximo 500 eventos por chamada. Eventos não mudam recursos sozinhos: a próxima leitura decide.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/NrqagcHFR0yCDnLkoBmdi_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Achados aceitos fecham sozinhos quando o recurso é corrigido; aceitar não é uma exceção permanente para recursos novos.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/ygoI-oV-yV6k0y7SjRv28_image.png" size="10" isUploading="false" width="5" height="4" darkWidth="5" darkHeight="4" showCaption="false"}

&#x20;As chaves de acesso aparecem só pelos 4 últimos caracteres na evidência; valores de segredos nunca são lidos nem guardados.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/lzBt5cW39YXJEj3IDZSui_image.png" size="10" isUploading="false" width="5" height="4" darkWidth="5" darkHeight="4" showCaption="false"}

### Relacionados

&#x20;Nuvem

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/uUsUFVCAYOEcVpNYIg49u_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Vulnerabilidades

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/K4SR479Cbx1olHpWdUuFc_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Conformidade

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/3lYesKTtLv_udgrvWd1JR_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Central de integrações

***

## <font color="#22C55E">Caminho do serviço e mapa lógico</font>

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/G9wi8DzInyy3-K4SoAeYH_image.png" size="67" isUploading="false" width="672" height="423" darkWidth="672" darkHeight="423" showCaption="false"}

Tela: Caminho do serviço e mapa lógico (1/2)



::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/us0L8MzUV2xi32N1lOvqk_image.png" size="67" isUploading="false" width="672" height="426" darkWidth="672" darkHeight="426" showCaption="false"}

Tela: Caminho do serviço e mapa lógico (2/2)

Dois mapas mostram como um serviço funciona. O **Mapa lógico** (**Mapas › Mapa lógico**) mostra como cada serviço de negócio chega aos dados, camada por camada, e sugere as máquinas que o serviço usa e que ainda não são componentes. O **Caminho do serviço** (**Mapas › Mapa de serviço**) vai de um endereço publicado ou de um serviço de negócio até a porta do switch: onde cada salto roda, o caminho físico, os pontos únicos de falha e o que para se algo cair.

### O que você pode fazer aqui

&#x20;No **Mapa lógico**: escolher um **Serviço de negócio** (ou **Todos**), trocar a **Direção** entre **Do serviço ao dado** e **Do dado ao serviço**, clicar num ponto para ver do que ele **Depende de** e por quem é **Usado por**, e ligar a **Análise de impacto**.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/_zO2RhU4fb0uHFt-pV5Eg_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Aprovar ou recusar os **componentes sugeridos** de um serviço de negócio, direto no mapa.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/vClZCepv67B6OFWqiqOKU_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;No **Caminho do serviço**: escolher um **Ponto de partida** e trocar a **Visão** entre **Físico**, **Lógico (tráfego)**, **Sobreposição (onde roda)** e **Sobreposição com tráfego**.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/ocTkubqe0S_AcDtI0bTFN_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Ver os **Pontos únicos de falha**, o **Caminho físico entre os saltos** e se o tráfego passa pelo caminho esperado.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/ZvdyEA15HQFlIVFwUJKNH_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

### O mapa lógico

As colunas são as camadas **Serviço de negócio**, **Aplicação**, **Ingress e API**, **Microsserviços**, **Mensageria e cache** e **Dados**. Cada ligação diz de onde veio a evidência: **Cadastrado no Hive&#x20;**(componentes do serviço), **Rastreamento OpenTelemetry**, **API do Kubernetes**, **API da nuvem**, **Tráfego visto pelo agente**, **Tráfego visto pelos switches (NetFlow)**, **Sessão aberta no banco**, ou



**Sugerido — aguardando aprovação** (tracejado). Uma máquina onde foi encontrado dado pessoal fica marcada **Contém dado pessoal — LGPD**.

1. Abra **Mapas › Mapa lógico** e escolha o serviço em **Serviço de negócio**.
2. Clique num ponto: o painel lateral mostra a camada, a saúde, **Depende de (n)** e **Usado por (n)&#x20;**&#x63;om a evidência de cada ligação.
3. Clique em **Análise de impacto** para acender tudo o que cai se este ponto cair; **Esconder impacto** desliga. **Abrir** vai para a máquina ou o objeto.

### Componentes sugeridos (expansão automática)

Com um serviço de negócio escolhido, o mapa cresce sozinho a partir dos componentes do serviço:

&#x20;O núcleo parte dos componentes cadastrados e segue o tráfego de **saída** deles por até **3 saltos**, usando o que o **agente** de cada máquina viu, o **NetFlow/sFlow/IPFIX** que os switches mandam ao coletor e as **sessões abertas nos bancos observados** (PostgreSQL, SQL Server, MySQL e Oracle informam de onde vêm as sessões). Conta a evidência dos últimos 7 dias.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/sX-TnysNjOX8CqPNiTeF0_image.png" size="10" isUploading="false" width="5" height="5" showCaption="false"}

&#x20;Cada máquina achada vira um **componente sugerido**, desenhado tracejado e ligado a quem a chama, com um papel: aplicação, banco de dados, ou mensageria e cache. A barra de cima mostra "n sugeridos".

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/K2Mv0mKby6qBYzmjKjYf4_image.png" size="10" isUploading="false" width="5" height="5" showCaption="false"}

&#x20;**Aprovar** transforma a máquina em componente do serviço, e a busca continua a partir dela na hora. **Recusar** tira a máquina; ela não é sugerida de novo para este serviço até alguém **restaurá-la** na página do serviço.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/UxxyK6L1LZlSuFLfc_ArA_image.png" size="10" isUploading="false" width="5" height="5" showCaption="false"}

&#x20;Ficam de fora como ruído: portas de infraestrutura (DNS, Active Directory, SMB, RDP, SSH, gerência, atualização, impressão), portas efêmeras (49152 em diante), conversas raras (menos de 2 conexões na semana, salvo sessões de banco), coletores, máquinas recusadas e IPs repetidos entre várias máquinas.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/kMnZIkNY9OlMhCF1xuAaK_image.png" size="10" isUploading="false" width="5" height="5" showCaption="false"}

&#x20;Bancos e recursos compartilhados (usados por 25 máquinas ou mais, mostrados como "compartilhado: usado por n máquinas") são sugeridos, mas a busca não segue a partir deles.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/RUTUzNc3Vt2tBfrIgjEAr_image.png" size="10" isUploading="false" width="5" height="5" showCaption="false"}

&#x20;A busca roda a cada 15 minutos; **Buscar agora** na página do serviço roda na hora. Uma sugestão pendente sem evidência nos últimos 7 dias some sozinha.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/utZNn9HpmXQZkQrdoKX13_image.png" size="10" isUploading="false" width="5" height="5" showCaption="false"}

### Exemplo prático: expandir o serviço "E-commerce"

O serviço de negócio **E-commerce** tem um componente: o servidor web web-shop-01 .

1. Abra **Mapas › Mapa lógico**, **Serviço de negócio**E-commerce . A barra mostra "2 sugeridos": db- orders-01 e bkp-srv-02 , os dois tracejados.
2. Clique em db-orders-01 . O painel mostra **Componente sugerido**, "web-shop-01 fala com ele na porta 5432", "a 1 salto(s) dos componentes" e "Visto por tráfego do agente, sessão no banco".

Clique em **Aprovar**: "db-orders-01 agora é componente do serviço". A ligação fica cheia e a busca continua a partir de db-orders-01 (um banco, então nada novo vem dele).

3. Clique em bkp-srv-02 ("web-shop-01 fala com ele na porta 10000", visto por NetFlow do switch).

É o servidor de backup, não faz parte do serviço: clique em **Recusar**. "bkp-srv-02 não serásugerido de novo para este serviço" e ele sai do mapa.



4. Um mês depois a equipe decide que o servidor de backup faz parte do plano de recuperação. Abra **Monitorar › Disponibilidade e capacidade**, o serviço **E-commerce**, painel **Componentes sugeridos**, **Recusados (1)**, e clique em **Restaurar** ao lado de bkp-srv-02 . A busca roda de novo e, se o tráfego continua, ele volta como sugestão.

Aprovar, recusar e restaurar exigem alerts\:admin e ficam registrados na auditoria.

### O caminho do serviço

1. Abra **Mapas › Mapa de serviço** e escolha o **Ponto de partida**: um endereço **Publicado no Kubernetes** (Ingress ou rota) ou um **Serviço de negócio**.
2. Em cima ficam os **saltos lógicos** (publicação → Service → carga → banco) e, embaixo, **onde cada um roda**: nó do Kubernetes, VM e host, porta e switch (lidos por SNMP), ou a rede de nuvem e a VPN por onde o tráfego sai.
3. Troque a **Visão**:
   4\. **Físico**: a árvore de conexões com tudo o que sustenta o serviço aceso, das máquinas e VMs até a Internet; o que está fora da rede local (nuvem, VPN) aparece listado abaixo.
4. **Lógico (tráfego)**: entrada → web → api → banco, com o Service por onde cada ligação passa e a cor do veredito do tráfego.
5. **Sobreposição (onde roda)**: o caminho lógico em cima e, sob cada passo, onde ele roda.
6. **Sobreposição com tráfego**: um cartão por par de saltos com **Caminho esperado** e **Observado**, e um veredito: "no caminho esperado", "fora do caminho esperado", "saiu do host (esperado dentro dele)", "dentro do host, nada saindo", "visto só nas pontas (sem fluxos)" ou "sem evidência ainda".
7. Leia **Pontos únicos de falha (n)**: um elemento com borda vermelha derruba o serviço sozinho (aplicação e banco no mesmo host, nó ou switch; o único lugar onde algo roda; um elemento que carrega vários saltos). Réplicas em outros nós, outro host ou dois túneis de VPN contam como redundância; num serviço de negócio, valem os grupos de redundância (mínimo no ar).
8. Clique em qualquer elemento (porta, switch, host, VM, nó, VPN): "O serviço para" ou "O serviço continua", com o que para e o que só perde capacidade. Os links **Mapa lógico**, **Mapa físico**, **Virtualização** e **Topologia da nuvem** abrem os outros mapas.

O **Caminho físico entre os saltos** diz, para cada par, se o tráfego fica na mesma máquina física, no mesmo switch, ou por quais switches ele passa (vizinhos LLDP/CDP).

### Exemplo prático: ponto único de falha na loja

1. **Ponto de partida**loja.aurora.lab (Publicado no Kubernetes).
2. **Sobreposição (onde roda)** mostra api e postgres na mesma VM k8s-node-02 , que roda no host esx02 . Os dois ganham borda vermelha: **Pontos únicos de falha (2)**, motivo "aplicação e banco juntos".
3. Clique em esx02 : "O serviço para — Para: api, postgres."
   4\. Troque para **Sobreposição com tráfego**: o par web → api mostra "no caminho esperado" (verde), o par api → postgres mostra "dentro do host, nada saindo".
4. Leve uma réplica de api para outro nó; depois da próxima leitura do cluster, api perde a borda vermelha.



### Cuidados e limites

&#x20;Sem switches lidos por SNMP, o caminho físico mostra "A topologia ainda não chega a estas máquinas (leia os switches por SNMP)."

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/qmxwP2nH70H372xcJCemd_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;O tráfego observado precisa de NetFlow/IPFIX/sFlow mandado por switches e roteadores ao coletor (UDP 2055), das conexões vistas pelo agente ou dos flow logs da nuvem.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/2gu1vGVmOnj2gorNbEL0x_image.png" size="10" isUploading="false" width="5" height="4" darkWidth="5" darkHeight="4" showCaption="false"}

&#x20;Sugestões só aparecem para serviços de negócio com pelo menos um componente; a busca para em 200 candidatos.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/bnvBjtGo0SzQttUngh7AB_image.png" size="10" isUploading="false" width="5" height="4" darkWidth="5" darkHeight="4" showCaption="false"}

&#x20;Ver os mapas exige assets\:read ; a lista de sugestões na página do serviço exige alerts\:read .

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/YYYJJY-QEpoK6rQYURx7p_image.png" size="10" isUploading="false" width="5" height="5" showCaption="false"}

### Origem do mapa lógico

**Origem** escolhe o que o mapa lógico mostra: **Serviços de negócio** (o mapa acima) ou um cluster Kubernetes de qualquer origem, inclusive de nuvem. Um cluster abre o mesmo mapa da página do cluster — orientação, **Níveis**, o painel de dependência e o impacto no mapa — com links para os caminhos do serviço dele. O atalho **Mapas › Kubernetes** abre o primeiro cluster.

### A visão Completo

**Completo** é a visão padrão do caminho do serviço: a cadeia inteira num mapa só, nas faixas **Publicação · Serviço · Carga · Dependências · Onde roda · Rede**: entrada (host, TLS) → Service (portas) → carga (réplicas) → pods; as dependências (bancos, Kafka/Redis, Services do mesmo namespace ou de outros, serviços externos), com o tráfego visto colorindo as ligações; onde roda (nódo Kubernetes → VM → host do hipervisor) e a porta e os switches quando conhecidos. Os pontosúnicos de falha levam o selo **SPOF**; clicar num item de **Pontos únicos de falha** ou da lista de problemas foca o nó no mapa. Clicar em qualquer nó pinta o impacto (vermelho para, laranja perde capacidade, cinza usa, azul depende).

Onde a cadeia para por falta de dado, o último nó diz o motivo: **porta do switch desconhecida**, **sem leitura de ConfigMap: dependências por variável não vistas**, **Service sem endpoints**, **0 réplicas**, **VM ou máquina deste nó não achada no inventário**. **Lógico** filtra o mapa para a cadeia lógica e **Físico** para onde roda e a rede; **Sobreposição** e **Sobreposição com tráfego** continuam como antes.

### Escolher o ponto de partida

O **Ponto de partida** é pesquisável (host, namespace ou nome) e agrupado por cluster quando há mais de um. Cada host publicado é um item só ("aura-lab.corp · 4 entradas") que abre todos os caminhos dele juntos, convergindo nos saltos compartilhados; abaixo dele, cada entrada é um subitem como /api→ labs-hyper/hyper-api-ingress · Ingress (Ingress, rotas do OpenShift e HTTPRoutes) que abre sóaquele caminho.

### Exemplo prático: itsmx-hom num mapa só

1. Busque itsmx e escolha itsmx-hom.centralit.com.br · 2 entradas .
2. **Completo** mostra Ingress → Service → Deployment itsmx → 2 pods → nó citdfsrv237 → VM CITDFSRV237 → host 172.20.5.115 → **porta do switch desconhecida**; o host leva **SPOF**.



3. O Deployment redis em hml-tools termina em **sem leitura de ConfigMap: dependências por variável não vistas**; ligue a leitura de ConfigMaps no cluster se precisar.
4. Clique em 172.20.5.115 em **Pontos únicos de falha**: o mapa foca nele e pinta a cadeia inteira de vermelho.

### Exportar o mapa como imagem

Todo mapa (caminho do serviço, mapa lógico, rede, Kubernetes, virtualização, organograma e o construtor de mapas) tem **Imagem (PNG)** e **Imagem (SVG)** na barra. O arquivo traz o mapa inteiro no tamanho real — não só a parte da tela nem o zoom atual — nas cores do tema em uso, com o título (e o ponto de partida) e a data no topo. A imagem é feita no navegador; nada vai para o servidor. O PNG fica nítido em documentos e conversas; o SVG não perde detalhe no zoom e abre em qualquer navegador ou editor.

### Exemplo prático: anexar o caminho do itsmx-hom a uma mudança

1. Abra **Mapas › Caminho do serviço**, escolha itsmx-hom.centralit.com.br e deixe **Completo**. 2. Clique num nó (por exemplo o host) para pintar o impacto; a exportação mantém as cores. 3. Clique em **Imagem (PNG)**: o navegador salva caminho-do-servico-itsmx-hom-centralit-com-br- \<data>.png com "Caminho do serviço · itsmx-hom.centralit.com.br" e a data no topo.
2. Anexe o arquivo à mudança ou ao incidente. Para imprimir em A3 ou para um slide que será ampliado, use **Imagem (SVG)**.

### Exportar a página inteira (HTML e PDF)

Em **Mapas › Caminho do serviço**, **Exportar página** (ao lado dos botões de visão) salva a página inteira, não só a imagem: o título, o ponto de partida, a visão, a data, o mapa, a legenda, "Como ler este mapa" e os painéis de baixo (pontos únicos de falha com o que cada um carrega, caminho físico entre os saltos, problemas nas ligações, onde a cadeia para, o que para se cada elemento falhar e, quando há tráfego, se ele passa pelo caminho esperado).

&#x20;**HTML interativo** baixa um único arquivo .html que abre em qualquer navegador, inclusive sem internet (sem fontes nem endereços externos). Ao abrir, o caminho se desenha da entrada até o último salto (sem animação quando o sistema pede para reduzir movimento; **Repetir o caminho&#x20;**&#x64;esenha de novo). Clique num elemento para pintar o impacto com as mesmas cores da console (vermelho para, laranja perde capacidade, cinza usa, azul é do que ele depende) e ver os detalhes, o que acontece se ele falhar e as dicas; clique num item de uma lista para focá-lo no mapa; a roda dá zoom, arrastar move e Esc limpa. Claro ou escuro segue o sistema de quem abre; o mapa mantém as cores do tema usado na exportação.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/C6DwbBQMlk7g1TnyuSY_J_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;**PDF** abre o diálogo de impressão com a página arrumada para papel (A4 deitado: o mapa na largura da folha na primeira página, os painéis depois); escolha **Salvar como PDF**. Se o navegador não conseguir imprimir a página direto, baixa o arquivo pronto para impressão, que abre o diálogo sozinho.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/IZoUMmYt9dP6JWzN8hs9i_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

A exportação pede ao núcleo o impacto de cada elemento (a mesma resposta do clique), então pode levar alguns segundos em caminhos grandes. O mapa sai sem a seleção atual; no arquivo, é o clique



que pinta o impacto. Por enquanto a exportação da página está no caminho do serviço; os outros mapas seguem com **Imagem (PNG/SVG)**, **draw\.io** e **Visio**.

**Exemplo prático: mandar o caminho do itsmx-hom para a equipe de infraestrutura**

1. Abra **Mapas › Caminho do serviço**, escolha itsmx-hom.centralit.com.br e deixe **Completo**. 2. Clique em **Exportar página › HTML interativo**: o navegador salva caminho-do-servico-itsmx-hom-

| centralit-com-br-\<data>.html . |
| ------------------------------- |

3. Mande o arquivo. Quem abre vê o caminho se desenhar, clica no host 172.20.5.115 em **Pontosúnicos de falha** e vê a cadeia pintada de vermelho, "Ponto único de falha: carrega …" e a dica de pôr redundância.
4. Para o registro da mudança, clique em **Exportar página › PDF** e escolha **Salvar como PDF**: o mapa fica na primeira página e os painéis vêm depois.

### Relacionados

&#x20;Serviços de negócio, SLA e capacidade

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/e3vAChIX2JWZZspBvttY8_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Construtor de mapas

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/-5_lSiRpv00ry5iyfijnx_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Mapa de rede

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/JL27DpkJvZXEe3j1dXoaD_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Kubernetes

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/jafsNKqqm9kkaf0oJvIup_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Virtualização

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/PiFCbWCgXzy3WN0cCUSct_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Nuvem

***

## <font color="#22C55E">Construtor de mapas</font>

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/n61QqFTEdzeGHa66kEFtf_image.png" size="67" isUploading="false" width="672" height="426" darkWidth="672" darkHeight="426" showCaption="false"}

Tela: Construtor de mapas



O construtor de mapas deixa você desenhar seus próprios mapas a partir do que o Hive já sabe: arraste um ativo para o mapa e o que está um nível acima dele (de quem ele depende) e um abaixo (quem depende dele) vem junto, já ligado. Salve mapas para a NOC, um serviço ou um incidente. Fica em **Mapas › Construtor de mapas**.

### O que você pode fazer aqui

&#x20;Começar um **Novo mapa** ou abrir um salvo em **Mapa**.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/bB7thjMqUZ0UjXKeiu_7Z_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Achar ativos e serviços na lista da esquerda (**Buscar** por nome, modelo ou usuário) e arrastá-los para o mapa, ou usar **+** para pôr um no centro.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/IvQGYmEzIxPq2yaPfJr3__image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Trazer mais relações com os botões **+n** acima e abaixo de cada caixa, ou **Trazer as relações** no painel de um item selecionado.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/3_0SQDeqAuduMyiOnEFG8_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Mover caixas, arrastar o fundo para deslocar o mapa, aproximar, **Ajustar à tela** e **Organizar**.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/EewHskFkz2Q4wAHhHbrjH_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;**Salvar mapa**, **Limpar** o desenho ou **Excluir mapa**.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/h6uY7Z-dR1YlgQQvcO-am_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Abrir o mapa em **Tela cheia** ou **Abrir em nova aba** para uma tela da NOC.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/H2QHme1-SyQHCK84nan4Y_image.png" size="10" isUploading="false" width="5" height="4" darkWidth="5" darkHeight="4" showCaption="false"}

### Passo a passo: montar e salvar um mapa

1. Abra **Mapas › Construtor de mapas**. **Mapa** mostra **Novo mapa**.
2. Na lista da esquerda, os itens ficam agrupados por tipo (Máquina, Equipamento de rede, Máquina virtual, Saída para a Internet e as camadas lógicas como Serviço de negócio, Aplicação ou Dados); a bolinha mostra a saúde. Digite em **Buscar** para filtrar.
3. Arraste um item para a área do mapa (ou clique no **+** dele). Ele chega com as relações: a mensagem diz, por exemplo, "erp-app-01 trouxe esx02 (acima), erp-db-01 (abaixo)."
   4\. Cada caixa mostra **+n** acima ("Trazer n acima (de quem depende)") e abaixo ("Trazer n abaixo (quem depende dele)") enquanto ainda tem relações fora do mapa. Clique neles para crescer o mapa um nível por vez.
4. Com **Agrupar por tipo** ligado, 3 ou mais itens do mesmo tipo vindos da mesma caixa entram como uma caixa de grupo ("Máquina (12)"); clique no **+** embaixo do grupo, ou em **Abrir o grupo nos itens** no painel dele, para pô-los um a um.
5. Com **Organizar sozinho** ligado, o mapa é arrumado em níveis e ajustado à área depois de cada inclusão. Desligue para manter suas próprias posições; **Organizar** arruma uma vez.
6. Clique numa caixa para ver o painel: "n acima dele (de quem depende) · n abaixo (quem depende dele).", as listas **Acima (depende de)** e **Abaixo (usado por)** (com "fora do mapa" para as que faltam) e, para máquinas, as portas. **Tirar do mapa**, o **×** de uma caixa ou a tecla Delete a tiram do mapa.
7. Digite um **Nome** e clique em **Salvar mapa** (exige assets\:write ): "Mapa salvo com n itens." O endereço passa a ser o do mapa salvo.

Linhas: cheia para **ligação física** (LLDP/CDP, porta do switch, VM no host), tracejada para **dependência lógica** (serviço, aplicação, banco).

### Como os mapas salvos se comportam

&#x20;Um mapa salvo guarda só os itens e as posições. As ligações são desenhadas a partir da topologia e do mapa lógico atuais toda vez que ele abre, então uma ligação que deixou de existir

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/eVSECc0X0PmZQGH2rTONc_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}



nunca aparece.

&#x20;Um item que saiu da topologia fica no lugar marcado **Não está mais na topologia**; tire-o com **×**.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/YaFkPxrCJLUvDayEDHqv7_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Os mapas salvos são compartilhados: todos com assets\:read podem abri-los; salvar e excluir exigem assets\:write .

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/feZLQLuVB7Iqjq4lKKnrs_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;**Excluir mapa** tira só o desenho; os ativos e as ligações continuam como estão.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/azUdrkr_7VmmvJQXO6Q0E_image.png" size="10" isUploading="false" width="5" height="4" darkWidth="5" darkHeight="4" showCaption="false"}

### Exemplo prático: caminho do ERP para a NOC

1. **Mapas › Construtor de mapas**, **Buscar**erp-app , arraste erp-app-01 (uma VM) para o centro.
2. Ele traz o que está acima, o host esx02 (ligação física) e o serviço de negócio ERP (tracejado, lógico), e o que está abaixo, o servidor de banco erp-db-01 : "erp-app-01 trouxe esx02 (acima), ERP (acima), erp-db-01 (abaixo)."
   3\. erp-db-01 mostra **+1** acima: clique para trazer erp-app-02 , o outro servidor de aplicação que usa o banco. Clique em **+1** acima de esx02 para trazer o switch SW-CORE-01 , e acima do switch para trazer a **Saída para a Internet**.
3. Clique em **Organizar** e depois em **Ajustar à tela**.
4. **Nome**Caminho do ERP , **Salvar mapa**: "Mapa salvo com 7 itens."
   6\. No computador da NOC, abra **Mapa** › Caminho do ERP e clique em **Tela cheia**. A bolinha de cada caixa mostra a saúde (verde, amarela ou vermelha) lida quando o mapa foi aberto; recarregue a página para atualizar.

### Exemplo prático: mapa para um incidente

1. **Novo mapa**, arraste SW-FLOOR2-01 . Com **Agrupar por tipo** ligado, as 24 máquinas ligadas nele vêm como uma caixa "Máquina (24)".
2. Clique na caixa, **Abrir o grupo nos itens**: "24 itens no mapa." 3. Tire as impressoras com **×**, **Nome**Incidente andar 2 , **Salvar mapa**.
3. Depois do incidente, **Excluir mapa** › confirme "Excluir o mapa "Incidente andar 2"?".

### Cuidados e limites

&#x20;**Salvar mapa** só fica ativo com um nome e pelo menos um item; os nomes são únicos ("There is already a map named ...").

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/fdJF1qxVBoIuavmY33v7g_image.png" size="10" isUploading="false" width="5" height="4" darkWidth="5" darkHeight="4" showCaption="false"}

&#x20;Um mapa tem até 500 itens.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/pxDI8QNMxbEZHIbRFsccS_image.png" size="10" isUploading="false" width="5" height="4" darkWidth="5" darkHeight="4" showCaption="false"}

&#x20;O zoom vai de 40% a 250%; **Tamanho real** volta para 100%.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/xognc2OmYSuDl1BKJzUkX_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Um mapa não salvo aberto em nova aba começa do rascunho deste navegador; salve-o para compartilhar.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/_dBY-NohOMIoxLdoAKJq7_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Vizinhos fora do Hive (vistos só por LLDP/CDP) não aparecem na lista para arrastar, mas podem vir como relações.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/flbtcJI4I-lWZU7-ap-Mq_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

### Relacionados

&#x20;Caminho do serviço e mapa lógico

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/zo-5lp22su28OTQkm60Yh_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Mapa de rede

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/7UsnmpofQyotu1uNHqiod_image.png" size="10" isUploading="false" width="5" height="4" darkWidth="5" darkHeight="4" showCaption="false"}

&#x20;Virtualização

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/L984AMGdLqA4hjL6sYXah_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Serviços de negócio, SLA e capacidade

***

## <font color="#22C55E">Grafo e consultas Cypher</font>

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/CMLX899AyFveo2K0FkdVG_image.png" size="67" isUploading="false" width="672" height="426" darkWidth="672" darkHeight="426" showCaption="false"}

Tela: Grafo e consultas Cypher

O grafo junta num lugar só o que o Hive já sabe: ativos, os softwares instalados neles, as
vulnerabilidades abertas, serviços de negócio, sites, agentes, objetos do Kubernetes e máquinas virtuais, tudo ligado. Você consulta em Cypher, a linguagem de consulta de grafos, ou faz uma pergunta em palavras comuns e deixa a IA escrever a consulta. Fica em **Mapas › Grafo**.

### O que você pode fazer aqui

&#x20;Rodar uma **Consulta Cypher** e ver o **Resultado** como **Tabela** e como **Visão em grafo**.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/gXzyrKYG0dJcYSzT1KDWu_image.png" size="10" isUploading="false" width="5" height="4" showCaption="false"}

&#x20;Começar pelos **Exemplos** (vulnerabilidades exploradas, softwares mais instalados, serviços por CVEs abertas, quem conversa com quem, nós do Kubernetes, máquinas virtuais).

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/ZAlnixZm8IJBMc9h9zSqF_image.png" size="10" isUploading="false" width="5" height="5" showCaption="false"}

&#x20;**Perguntar em linguagem natural**: a IA escreve a consulta, o Hive mostra e roda. **Só mostrar a consulta** escreve sem rodar.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/V-7ONV_hJur5BbA0PlKAB_image.png" size="10" isUploading="false" width="5" height="5" showCaption="false"}

&#x20;**Salvar consulta** com um nome e abrir de novo em **Consultas salvas**.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/yp5kWRr0288Uvt8fwyGIy_image.png" size="10" isUploading="false" width="5" height="5" showCaption="false"}

&#x20;**Recarregar agora** para carregar o grafo do inventário na hora; ele também carrega sozinho a cada 15 minutos.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/DY1vb-uJ06o7ql_Z7njHJ_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Ler **Rótulos e relações** para ver o que dá para consultar.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/yqhAAikE0HaX8oHtDs8IA_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}



### O que está no grafo

| **Rótulo**             | **Vem de**                                                                 |
| ---------------------- | -------------------------------------------------------------------------- |
| Asset                  | o inventário (computadores, servidores, ativos de rede, máquinas virtuais) |
| Software               | softwares instalados, um nó por nome                                       |
| Vulnerability          | CVEs com achados abertos; kev: true quando está no catálogo KEV da CISA    |
| Service                | serviços de negócio                                                        |
| Site                   | sites da estrutura da empresa                                              |
| Agent                  | agentes do Hive                                                            |
| K8sCluster , K8sObject | clusters Kubernetes e o que foi lido deles                                 |

Relações: INSTALLED (ativo para software), AFFECTED\_BY (ativo para vulnerabilidade), PART\_OF (ativo para serviço), LOCATED\_IN (ativo para site), RUNS\_ON (agente para ativo), IN\_CLUSTER (objeto do Kubernetes para o cluster), HOSTED\_ON (nó do Kubernetes ou máquina virtual para a sua máquina) e CONNECTS\_TO (ativo para ativo, pelas conexões vistas pelo agente).

**Exemplo prático: serviços expostos a vulnerabilidades exploradas**

1. Abra **Mapas › Grafo**. A linha abaixo do título mostra quando o grafo foi carregado, por exemplo "Carregado há 3 minutos: 1.214 nós, 9.870 relações."
   2\. Em **Exemplos**, clique em **Serviços de negócio por CVEs abertas**. A consulta aparece em **Consulta Cypher**.
2. Mude para ficar só com as vulnerabilidades exploradas:

| MATCH (v\:Vulnerability \{kev: true})\<-\[:AFFECTED\_BY]-(a\:Asset)-\[:PART\_OF]->(b\:Service) |
| ---------------------------------------------------------------------------------------------- |

| RETURN b.name AS service, a.name AS asset, v.cve AS cve ORDER BY service |
| ------------------------------------------------------------------------ |

1. Clique em **Rodar**. A **Tabela** mostra uma linha por serviço, ativo e CVE, com "n linhas em n ms". 2. Para ver o formato, devolva os nós inteiros: troque a última linha por RETURN b, a, v e clique em **Rodar**. Abra **Visão em grafo**: serviços, ativos e CVEs aparecem como círculos ligados pelas relações.
2. Digite KEV por serviço em **Nome da consulta** e clique em **Salvar consulta**: "Consulta salva."

### Exemplo prático: perguntar em linguagem natural

1. Em **Perguntar em linguagem natural**, digite: Quais máquinas têm OpenSSL instalado?
2. Clique em **Perguntar e rodar**. Em "Consulta escrita pela IA", o Hive mostra o Cypher que rodou, por exemplo MATCH (a\:Asset)-\[:INSTALLED]->(s\:Software) WHERE toLower(s.name) CONTAINS 'openssl'

| RETURN a.name AS asset LIMIT 100 . |
| ---------------------------------- |

3. Confira a consulta e a **Tabela**. Para ajustar, edite em **Consulta Cypher** e clique em **Rodar**. 4. Se a IA escrever algo que não é permitido (por exemplo uma consulta que altera dados), nada roda: a consulta aparece com o motivo, para você corrigir.



### Cuidados e limites

&#x20;O grafo é **somente leitura**: CREATE , MERGE , SET , DELETE , DETACH , REMOVE , CALL , LOAD , FOREACH , DROP e YIELD são recusados (use só MATCH , OPTIONAL MATCH , WHERE , WITH , UNWIND , RETURN , ORDER BY , SKIP e LIMIT ), e a consulta roda numa transação só de leitura.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/BwXkomJEAEmLVcCPd5iGF_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Uma consulta devolve até 1.000 linhas e para depois de 10 segundos. Use LIMIT e restrinja o MATCH .

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/WaB5j0wzQDbfVC6VE4R55_image.png" size="10" isUploading="false" width="5" height="5" showCaption="false"}

&#x20;A consulta precisa terminar com RETURN e listar os valores (até 20 colunas; AS dá nome à coluna, como em RETURN a.name AS asset ). RETURN \* e parâmetros ( $nome ) não são aceitos, nem ponto e vírgula no meio da consulta (um no final é ignorado). Uma consulta tem no máximo 4.000 caracteres.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/-UeqfX7Oyvux15oHbi_1A_image.png" size="10" isUploading="false" width="5" height="5" showCaption="false"}

&#x20;A comparação de texto diferencia maiúsculas de minúsculas. Use toLower(s.name) CONTAINS 'texto' para nomes.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/K2Mv0mKby6qBYzmjKjYf4_image.png" size="10" isUploading="false" width="5" height="5" showCaption="false"}

&#x20;O grafo é uma cópia do inventário carregada a cada 15 minutos (ou com **Recarregar agora**); uma mudança de um minuto atrás pode ainda não estar lá.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/am53fxCqzSg_2ZZfL0Po4_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;O grafo cobre o parque inteiro, então quem tem o perfil limitado a alguns sites, tags ou grupos não consulta.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/5eJgbCKE9UhQiOWPoDDtx_image.png" size="10" isUploading="false" width="5" height="4" showCaption="false"}

&#x20;**Perguntar em linguagem natural** precisa da IA ligada em **Monitorar › Recomendações da IA ›** **Configurações** e de um provedor de IA conectado em **Integrações › Central de integrações**; sem isso o Hive diz por que não dá para perguntar (IA desligada, nenhum provedor conectado ou limite mensal da IA atingido). A pergunta vai para o provedor, os dados não: a IA vê só a lista de rótulos e relações.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/v00aFh5Chdr4FAsFUOJlZ_image.png" size="10" isUploading="false" width="5" height="5" showCaption="false"}

&#x20;Toda consulta, pergunta e consulta gerada fica registrada em **Admin › Trilha de auditoria**.

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/39jU1rH8ImPMWB67rpx0H_image.png" size="10" isUploading="false" width="5" height="5" showCaption="false"}

### Relacionados

&#x20;Construtor de mapas

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/_0PBcqZPEqfg1AG5grYik_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Caminho do serviço e mapa lógico

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/2XhAzj_Gjr9kYCs2hBFV8_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Vulnerabilidades

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/32qzWuatdOEG81mz7zlnW_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;IA

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/yF8tjGqIGq0mH8cpGsWi5_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

&#x20;Auditoria

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/5NOsvQ1JuE4NORMNjSlss_image.png" size="10" isUploading="false" width="5" height="5" darkWidth="5" darkHeight="5" showCaption="false"}

