Pular para o conteúdo principal

Discovery e Inventory

Após o deploy, com o connector em status Connected no dashboard, o primeiro processo que ele executa é o discovery de recursos. Isso significa que o connector varre automaticamente todas as contas da Organization (ou a conta específica configurada) e identifica os recursos disponíveis com base nos tipos de recursos selecionados durante o deploy.

Esse processo é contínuo — não é uma varredura única. O connector periodicamente verifica se há novos recursos criados, recursos removidos ou alterações em recursos existentes. O catálogo no Apono é atualizado automaticamente, sem necessidade de ação manual.

O discovery é passivo e de leitura. Ele apenas identifica e cataloga recursos — não altera, cria ou remove nada na sua infraestrutura. As permissões de escrita são usadas apenas quando um Access Flow concede ou revoga um acesso.

O escopo do discovery depende das integrações selecionadas durante o deploy do connector. Para AWS, os principais tipos de recursos são:

Inventory — O Catálogo Centralizado

Todos os recursos descobertos de todos os connectors e integrações ficam reunidos em um único lugar: a aba Inventory no dashboard do Apono. Isso inclui recursos da AWS, GCP, Azure, Kubernetes, bancos de dados e qualquer outra integração configurada — tudo centralizado na mesma visão.

A listagem do Inventory exibe as seguintes colunas:

ColunaDescrição
ResourcesNome do recurso descoberto.
PermissionsQuantidade de permissões associadas ao recurso.
Risk ScoresPontuação de risco calculada pelo Apono com base no tipo de recurso e nas permissões.
IntegrationA qual integração o recurso pertence (ex: AWS, GCP, Kubernetes).
Resource TypeTipo do recurso (ex: EC2 Instance, RDS Database, S3 Bucket).

Ao clicar em um recurso, você acessa duas visões detalhadas:

  • Permissions — lista todas as permissões disponíveis para aquele recurso e quem tem acesso.
  • Resource Details — exibe as tags do recurso, incluindo metadados como aws_account_id, aws_account_name, região e quaisquer tags customizadas que você tenha aplicado na AWS.

Essa visibilidade centralizada é valiosa mesmo antes de criar qualquer Access Flow. Com o Inventory, você consegue visualizar rapidamente todo o inventário de recursos de todas as contas e integrações em um único painel.

É exatamente aqui que o modo Read-Only do connector se mostra útil. Organizações que querem primeiro visualizar o inventário de recursos antes de gerenciar acessos podem fazer o deploy em Read-Only, validar o discovery e depois atualizar para Full-Access quando estiverem prontas.

Filtragem e Organização de Recursos

Com uma Organization grande, o discovery pode retornar centenas ou milhares de recursos. O Inventory oferece filtros para navegar e organizar esse volume:

Filtros Disponíveis

Diretamente na interface do Inventory, é possível filtrar por:

  • Integration — filtrar por integração (AWS, GCP, Kubernetes, etc.).
  • Resource Type — filtrar por tipo de recurso (EC2 Instance, RDS Database, S3 Bucket, etc.).
  • Resource Name — buscar recursos pelo nome.
  • More Filters — filtros adicionais disponíveis:
    • Resource Path — caminho do recurso na hierarquia da integração.
    • Resource Tag — filtrar por tags associadas ao recurso.
    • Resource Status — status atual do recurso.
    • Permission Name — filtrar por nome de permissão associada.
    • Resource Risk Level — nível de risco do recurso.
    • Permission Risk Level — nível de risco da permissão.

Os filtros disponíveis por clique já são suficientes para a grande maioria dos casos. Porém, para cenários mais complexos, o Apono também suporta AQL (Apono Query Language) — uma linguagem de consulta que permite construir filtros avançados combinando múltiplos critérios com operadores lógicos.

Scopes — Salvando Filtros como Agrupamentos

Um dos recursos poderoso do Inventory é a possibilidade de salvar um filtro como um Scope. Um Scope é um agrupamento lógico de recursos baseado nos critérios de filtragem que você definiu.

Por que isso é importante? Porque ao criar um Access Flow, você pode apontar para um Scope em vez de selecionar recursos individualmente. Isso significa que:

  • Um único Flow cobre todos os recursos do Scope — em vez de criar um flow por recurso, ou por tipo de recurso, você cria um flow para o agrupamento inteiro muito mais abrangente.
  • O Scope é dinâmico — quando um novo recurso é descoberto e corresponde aos critérios do filtro, ele automaticamente entra no Scope e passa a ser coberto pelo Access Flow associado.
  • Sem manutenção manual — não é necessário atualizar o flow quando recursos são criados ou removidos.

Uma boa prática é alinhar a estratégia de tagging da AWS com os Scopes no Apono. Se seus recursos já estão tagueados por ambiente, time e sensibilidade, basta criar Scopes baseados nessas tags e associá-los aos Access Flows correspondentes — a configuração se torna simples e escalável.

A Importância de Taguear os Recursos

O Apono funciona melhor quando os recursos da AWS estão bem tagueados. Sem tags, a única forma de definir o escopo de um Access Flow é selecionar recursos individualmente — o que não escala e exige atualização manual sempre que um recurso é criado ou removido.

Com tags, os Access Flows se tornam declarativos: em vez de dizer "este flow se aplica ao banco prod-db-orders", você diz "este flow se aplica a todos os recursos com Environment: production e DataClassification: pii". Isso cobre automaticamente qualquer recurso atual e futuro que corresponda aos critérios.

Tags Recomendadas para o Apono

Nem toda tag existente na sua organização é relevante para controle de acesso. As tags mais úteis para o Apono são aquelas que refletem nível de risco, propriedade e contexto de negócio:

TagValores ComunsComo o Apono Utiliza
Environmentproduction, staging, development, pci-dssDefinir regras de aprovação diferentes por ambiente — automática em dev, gestor em staging, gestor + security em produção ou pci
Teambackend, infra, data, securityRestringir quais times podem solicitar acesso a quais recursos
DataClassificationpublic, internal, confidential, piiAplicar fluxos de aprovação mais rigorosos para recursos com dados sensíveis
CostCenter ou Projectprojeto-x, plataforma, fintechSegmentar acessos por projeto ou área de negócio
ManagedByterraform, manual, cloudformationIdentificar recursos gerenciados por IaC (útil para restringir alterações manuais)

Não é necessário ter todas essas tags desde o início. O mais importante é ter pelo menos a tag de ambiente (Environment) — ela sozinha já permite diferenciar entre recursos de produção e não-produção, que é a segmentação mais crítica para controle de acesso.

Aplicando Tags em Escala

Se sua organização ainda não tem uma estratégia de tagging consolidada, existem formas de implementar sem depender de ação manual em cada recurso:

  • Tag Policies (AWS Organizations): Definem quais tags são obrigatórias e quais valores são permitidos. Isso garante consistência — um recurso sem a tag Environment pode ser bloqueado na criação.
  • Terraform/CloudFormation: Adicione default_tags no provider do Terraform ou tags nos templates do CloudFormation para que todo recurso criado por IaC já nasça tagueado.
  • AWS Config Rules: Crie regras que identifiquem recursos sem tags obrigatórias e gere alertas para correção.
  • Tagging retroativo: Para recursos existentes, use o AWS Tag Editor (no console) ou scripts com a API resourcegroupstaggingapi para aplicar tags em lote.
# Exemplo: default_tags no provider Terraform
# Todos os recursos criados por este provider herdam essas tags automaticamente
provider "aws" {
region = "us-east-1"

default_tags {
tags = {
Environment = "production"
Team = "backend"
DataClassification = "internal"
ManagedBy = "terraform"
}
}
}

Taguear recursos não é apenas uma boa prática para o Apono — é uma boa prática para tudo na AWS: controle de custos, segurança, compliance e operações. Se a sua organização investir tempo em uma estratégia de tagging consistente, o benefício se multiplica em todas as ferramentas que consomem essas tags, incluindo o Apono.

Workaround: Integrações Separadas por Conta

Para organizações que ainda não possuem uma estratégia de tagging madura, existe uma alternativa: criar integrações separadas na AWS — uma para cada conta ou grupo de contas.

Em vez de uma única integração que descobre tudo, você pode configurar integrações individuais como:

  • Integração Produção — cobre apenas as contas de produção.
  • Integração Staging — cobre apenas as contas de staging.
  • Integração Dev — cobre apenas as contas de desenvolvimento.

Com isso, mesmo sem tags, é possível criar um Access Flow que aponta para a integração de produção e automaticamente cobre todos os recursos daquela conta. Funciona como uma segmentação por conta em vez de por tag.

Embora funcione, essa abordagem gera mais integrações para gerenciar e é menos flexível do que usar tags. O ideal é combiná-la com uma estratégia de tagging progressiva — comece separando por contas e, à medida que a maturidade de tagging aumenta, migre para Scopes baseados em tags.

Frequência e Latência do Discovery

O discovery não é em tempo real — ele opera em ciclos periódicos. Na prática isso significa:

  • Recursos novos podem levar alguns minutos para aparecer no catálogo do Apono após serem criados na AWS.
  • Recursos removidos são eventualmente removidos do catálogo quando o connector detecta que não existem mais.
  • Alterações em tags são atualizadas no próximo ciclo de discovery.

Para a maioria dos cenários, essa latência é insignificante. Access Flows são configurados uma vez e se aplicam automaticamente a recursos que entram e saem do escopo. O fato de um recurso levar alguns minutos para aparecer não impacta o fluxo de trabalho diário.

Troubleshooting do Discovery

Se recursos esperados não aparecem no catálogo, verifique:

  • Tipo de recurso habilitado: O tipo de recurso (ex: RDS, EC2) foi selecionado durante o deploy ou adicionado posteriormente nas integrações?
  • Escopo de contas: O recurso está em uma conta que faz parte do escopo configurado (OU ou conta específica)?
  • Permissões do connector: A cross-account role tem permissões de leitura para o tipo de recurso em questão? Em modo Read-Only, as permissões são de leitura; em Full-Access, são de leitura e escrita.
  • Região: O recurso está em uma região coberta pelo connector? O discovery abrange todas as regiões por padrão, mas verifique se não há restrições de rede.
  • SSM Agent (para EC2): Instâncias EC2 só aparecem para acesso SSM se tiverem o SSM Agent instalado e ativo.

Se o connector está com status Connected mas nenhum recurso aparece, o problema mais comum é que o tipo de recurso não foi habilitado nas integrações. Verifique em IntegrationsCatalogAWS se os recursos desejados estão selecionados.