A2A — Acesso a Credenciais por Aplicação
Guia A2A do DataDike PAM — como ferramentas e sistemas (scanners, CI/CD e contêineres) buscam credenciais no cofre de forma segura e auditada, sem armazenar a senha fora do cofre.
Este guia mostra como permitir que ferramentas e sistemas (em vez de pessoas) buscem credenciais no cofre do DataDike PAM de forma segura e auditada — sem nunca armazenar a senha fora do cofre.
Casos de uso típicos:
Scanners de vulnerabilidade (Tenable, Qualys) que precisam de credencial privilegiada para o authenticated scan.
Automação / CI / DevOps (pipelines, scripts) que precisam de uma senha na hora de executar.
Workloads em contêiner (Kubernetes, OpenShift, Rancher) que consomem segredos sem tê-los embutidos na imagem.
A funcionalidade fica no menu A2A do console: Aplicações e Kubernetes.
1. Conceitos
Aplicação
A identidade da ferramenta/sistema (um "AppID"). Tem um token e regras de acesso.
Token
A chave secreta da aplicação. É exibido uma única vez ao criar/rotacionar — copie e guarde com segurança.
Escopo
Quais contas a aplicação pode buscar: todas ou uma lista de ativos específicos.
IPs de origem
Lista de IPs/redes (CIDR) de onde a aplicação pode chamar a API. De outros IPs, é recusada.
Cluster Kubernetes
(Para contêineres) um cluster cadastrado que autentica seus pods.
Role (Kubernetes)
Liga namespace + serviceaccount de um cluster a uma Aplicação.
Pré-requisito: o acesso ao PAM deve estar em HTTPS (o token trafega no cabeçalho da requisição). Use https://<endereço-do-seu-pam> em tudo abaixo.
Ao longo do guia, troque <PAM> pelo endereço do seu PAM (ex.: https://pam.suaempresa.com.br).
2. Criar uma Aplicação (token)
Console → A2A → Aplicações → botão Nova aplicação.
Preencha:
Nome: identifique o consumidor (ex.:
tenable-scanner-prod).Escopo:
Ligue Todas as contas para acesso amplo, ou
Deixe desligado e liste em Ativos permitidos os nomes ou endereços dos ativos que essa aplicação pode acessar (recomendado).
IPs de origem permitidos (recomendado): informe o(s) IP(s) da ferramenta (ex.:
10.20.0.15/32). Vazio = qualquer IP.Expira em (opcional): data de validade.
Confirmar. Um modal mostra o token uma única vez. Clique em Copiar e guarde-o no lugar seguro da ferramenta que vai consumi-lo.
Perdeu o token? Não dá para vê-lo de novo. Use a ação Regerar token na aplicação (isso invalida o token anterior).
Na aba Conexão da aplicação você encontra, prontas para copiar, as URLs e o cabeçalho a usar.
3. Usar o token (genérico)
Há duas APIs equivalentes. Use a que sua ferramenta suportar.
3.1 API compatível com HashiCorp Vault (KV v2) — recomendada p/ Tenable/Qualys
Resposta:
Exemplo:
datadikeé o "mount" (pode usar esse valor).<ativo>é o nome ou o endereço/IP do ativo cadastrado no PAM.<usuario>é o nome da conta naquele ativo.
3.2 API nativa — simples para scripts
3.3 Códigos de resposta
200
OK, credencial retornada
401 / 403
Token inválido/inativo, IP não permitido, ou ativo fora do escopo
404
Ativo ou conta não encontrados no PAM
4. Configurar no Tenable
Tenable (Nessus / Vulnerability Management) → Credentials → escolha o tipo (SSH, Windows, etc.) → em Authentication method selecione HashiCorp Vault:
Vault host / URL
<PAM>/api/v1/appsecrets/vault
Port
443
Authentication type
Token
Token
(o token da sua Aplicação)
KV version
v2
Secret engine mount
datadike
Path / Secret name
<ativo>/<usuario>
Username key / source
username
Password key / source
password
A versão do Tenable monta a chamada
…/v1/<mount>/data/<path>automaticamente. Se o campo de URL pedir incluir ou não o/v1, lembre que a base do PAM termina em/appsecrets/vaulte o conector acrescenta/v1/....
Faça um teste de credencial no Tenable para validar antes de agendar o scan.
5. Configurar no Qualys
Qualys VMDR → Authentication Vaults → New → HashiCorp Vault:
Vault URL
<PAM>/api/v1/appsecrets/vault
Authentication
Token
Token
(o token da sua Aplicação)
Secret Engine
KV v2
Mount point
datadike
Depois, no Authentication Record (Unix/Windows), aponte o segredo para o caminho <ativo>/<usuario> e mapeie as chaves username / password.
6. Kubernetes / OpenShift / Rancher
Aqui os pods se autenticam pela própria identidade (ServiceAccount), sem token fixo embutido na imagem. O PAM se comporta como um HashiCorp Vault, então as ferramentas oficiais (Vault Agent Injector e Secrets Store CSI Driver) funcionam.
Passo 1 — Cadastrar o cluster no PAM
Console → A2A → Kubernetes → Novo cluster. Escolha o modo:
TokenReview (online): o PAM consulta o cluster para validar o pod. Informe:
Kubernetes host (API server, ex.:
https://10.0.0.1:6443)CA do cluster (PEM)
Token reviewer JWT: o token de um ServiceAccount com a permissão
system:auth-delegator.
JWKS (offline): o PAM valida a assinatura do token sem falar com o cluster. Informe:
Issuer (OIDC do cluster)
JWKS JSON: a saída de
kubectl get --raw /openid/v1/jwks
Passo 2 — Criar um Role
Selecione o cluster na lista → painel da direita → aba Roles → Adicionar role:
Nome (ex.:
scanner) — é oroleusado no login.Aplicação: a Aplicação (do item 2) cujo escopo/credenciais o pod poderá usar.
Namespaces permitidos e ServiceAccounts permitidos (use
*para liberar todos — não recomendado em produção).TTL do token: validade do token temporário emitido a cada login (ex.: 900s).
Passo 3a — Vault Agent Injector (injeta o segredo no pod)
Instale o injetor oficial apontando o endereço do "Vault" para o PAM (<PAM>/api/v1/appsecrets/vault) e anote o seu deployment:
O segredo aparece em /vault/secrets/db dentro do pod.
Passo 3b — Secrets Store CSI Driver (segredo como arquivo em volume)
Crie um SecretProviderClass (provider vault) com vaultAddress: <PAM>/api/v1/appsecrets/vault, roleName: scanner e os objetos apontando para datadike/data/<ativo>/<usuario>.
Manifests de exemplo prontos: pasta
k8s-secrets/do pacote de implantação (example-deployment-agent.yaml,secretproviderclass-csi.yaml,vault-agent-injector-values.yaml).
OpenShift e Rancher usam exatamente o mesmo procedimento (são Kubernetes).
7. Docker / scripts / pipelines de CI
Use o helper portátil (k8s-secrets/datadike-fetch.sh) ou um curl direto:
Passe o token como variável de ambiente/segredo do seu CI, nunca commitado.
8. Rotação e revogação
Rotacionar token (Aplicação): ação Regerar token → gera um novo e invalida o anterior na hora. Atualize a ferramenta com o novo token.
Revogar acesso: Desativar a Aplicação (ou definir Expira em) corta o acesso imediatamente. Reative quando quiser.
Trocar a senha real do ativo: use a função de troca de senha do PAM; na próxima busca, a aplicação já recebe a senha nova (sempre lê o valor vigente no cofre).
Kubernetes: os tokens dos pods são temporários (expiram pelo TTL do role). Desativar o role ou a Aplicação corta o acesso.
9. Auditoria
Toda recuperação de credencial é registrada no log de operações do PAM (qual aplicação, qual conta, IP de origem e horário). Acesse em Auditoria → Logs de operação. Na página da Aplicação, a aba Auditoria leva direto ao log.
10. Solução de problemas
401 / 403 ao buscar
Token errado/expirado, IP não permitido, ou ativo fora do escopo
Confira o token; verifique IPs de origem e Escopo na Aplicação
404
Nome/endereço do ativo ou usuário não batem com o cadastro
Use exatamente o nome ou endereço do ativo e o usuário da conta como estão no PAM
Conector Tenable/Qualys não conecta
URL base incorreta ou sem HTTPS
Use <PAM>/api/v1/appsecrets/vault; garanta certificado válido/confiável
Pod K8s não autentica
Role não casa namespace/serviceaccount, ou modo de validação mal configurado
Revise o Role (namespaces/SAs) e os dados do Cluster
Health para teste
—
GET <PAM>/api/v1/appsecrets/vault/v1/sys/health deve responder {"initialized":true,...}
11. API de administração (provisionamento e automação)
Além da busca de credenciais por aplicações (seções anteriores), o DataDike PAM expõe uma API REST de administração para automatizar o provisionamento e a gestão do próprio PAM, permitindo operações CRUD (criar, consultar, atualizar e remover) sobre os principais objetos:
Usuários
criação, consulta, atualização, ativação/desativação e remoção de usuários do PAM
Contas / credenciais
cadastro, consulta, atualização e exclusão de contas privilegiadas (logins) e seus segredos
Grupos e perfis
criação e manutenção de grupos, associação/desassociação de usuários e atribuição de perfis
Ativos
cadastro, atualização e remoção de ativos (assets) e seus protocolos
Características:
Autenticação por token sobre HTTPS, com escopo e permissões controlados por RBAC.
Auditoria: toda operação administrativa via API é registrada na trilha de auditoria (autor, objeto, ação e horário).
Casos de uso: onboarding/offboarding em massa, sincronização com ITSM/IGA e integração com pipelines de automação.
A referência detalhada de endpoints (rotas, parâmetros e exemplos) é disponibilizada com o produto e junto ao seu Partner DataDike.
12. Perguntas frequentes
A senha fica armazenada na ferramenta (Tenable/Qualys)? Não. A ferramenta busca a senha no PAM no momento do uso. O cofre continua sendo a única fonte.
Preciso instalar algo no meu ambiente? Para API/scanners, não — basta configurar o conector. Para Kubernetes, usa-se o Vault Agent Injector ou o CSI Driver oficiais (componentes padrão do ecossistema).
Posso restringir uma aplicação a poucos ativos? Sim — desligue "Todas as contas" e liste os Ativos permitidos. Combine com a allowlist de IPs de origem para defesa em camadas.
O token expira sozinho? Só se você definir Expira em. Caso contrário vale até ser rotacionado ou a Aplicação ser desativada. (No Kubernetes, os tokens de pod sempre têm TTL.)
Vários scanners/sistemas podem usar a mesma funcionalidade? Sim. Crie uma Aplicação por sistema — assim cada um tem token, escopo, IPs e auditoria próprios.
Atualizado
Isto foi útil?