> For the complete documentation index, see [llms.txt](https://wiki.datadike.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.datadike.com/product-guide/configuracoes/pam/secrets-devops.md).

# Secrets para A2A (Vault KV + Kubernetes)

O módulo **Secrets / A2A** do DataDike PAM resolve o problema de **credenciais embutidas em código (hardcoded)** permitindo que aplicações, scripts, scanners de vulnerabilidade e pipelines busquem o segredo no cofre **no momento do uso**, de forma autenticada e auditada — em vez de guardar senhas em arquivos de configuração, variáveis de ambiente ou no código-fonte.

É gerenciado no console em **Console > A2A** (páginas **Applications** e **Kubernetes**).

{% hint style="info" %}
**A2A (Application-to-Application)** é a autenticação entre sistemas sem intervenção humana — uma aplicação que lê uma senha de banco, um scanner que precisa de credencial para autenticar no alvo, um job de CI que consome uma API.
{% endhint %}

## Como funciona

O DataDike PAM expõe uma **API compatível com o HashiCorp Vault KV v2**. Qualquer ferramenta que já fale com o Vault (Tenable, Qualys, scripts, SDKs do Vault) consome os segredos do cofre do PAM sem alteração — apontando para o endpoint do PAM.

A credencial entregue é sempre a **versão viva** guardada no cofre do PAM (a mesma que é rotacionada pelas automações de troca de senha), então o consumidor nunca guarda uma cópia estática.

## Identidades de aplicação (AppID)

Cada consumidor não humano é uma **Application** com:

| Atributo                | Função                                                                |
| ----------------------- | --------------------------------------------------------------------- |
| **Token**               | Segredo de autenticação da aplicação (estilo AppRole/token do Vault). |
| **IP / CIDR de origem** | Restringe de quais redes o token pode ser usado.                      |
| **Escopo**              | Quais ativos/contas a aplicação pode ler.                             |
| **Auditoria**           | Toda recuperação de segredo é registrada (quem, quando, de onde).     |

A revogação é imediata: desativar a Application (ou rotacionar seu token) invalida o acesso.

## Autenticação nativa de Kubernetes

Para cargas em Kubernetes/OpenShift, o PAM aceita o **JWT da ServiceAccount** do pod como prova de identidade (mesmo modelo do *auth method kubernetes* do Vault): o pod apresenta seu token de ServiceAccount, o PAM valida contra o JWKS do cluster e devolve o segredo. Isso funciona com o **Vault Agent Injector** e o **Secrets Store CSI Driver** oficiais apontados para o endpoint do PAM — sem sidecar proprietário.

Configuração na página **Console > A2A > Kubernetes** (host da API do cluster + JWKS/CA).

## Casos de uso típicos

* **Scanners de vulnerabilidade** (Tenable, Qualys) buscam a credencial viva do alvo no momento do scan, em vez de guardar senhas no scanner.
* **Pipelines / scripts DevOps** leem segredos via a API Vault KV no deploy.
* **Cargas em Kubernetes** recebem segredos via ServiceAccount JWT.

## Escopo atual e limites

{% hint style="warning" %}
O módulo entrega **segredos sob demanda** (API Vault KV v2 + autenticação K8s). Ele **não** inclui, nesta versão: varredura de repositórios Git/CI-CD em busca de segredos hardcoded, SDKs proprietários por linguagem, injeção por sidecar/CSI proprietário, nem replicação para AWS Secrets Manager / Azure Key Vault / GCP. A rotação de credenciais é feita pelas automações nativas de **troca de senha** (Accounts > Automations > Change Secret), e o segredo entregue por esta API é sempre a versão corrente do cofre.
{% endhint %}

Consulte também **Console > A2A** e a automação **Change Secret** em [Automations](/product-guide/configuracoes/pam/sysadmin/accounts/automations/change-secrets.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://wiki.datadike.com/product-guide/configuracoes/pam/secrets-devops.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
