Este documento detalha o processo de integração do AAPM utilizando o agente Segura. Ela abrange desde a realização de solicitações locais à API do agente, até a integração com scripts de automação usando a CLI, passando pela utilização de recursos de cache seguro e a descrição do fluxo de trabalho geral de integração API/agente.
Solicitação Local à API
Para interagir com o agente Segura via API, suponha que o agente esteja em execução no localhost:8787
.
Request
- Endpoint:
GET http://localhost:8787/secret/db-production
- Autorização:
Bearer <app-local-token>
(certifique-se de substituir<app-local-token>
pelo token de autenticação real do aplicativo)
Response
A resposta esperada será um JSON contendo os detalhes do segredo solicitado:
{
"secret_id": "db-production",
"username": "user",
"password": "pass",
"expires_at": "2025-05-30T18:00:00Z"
}
secret_id
: Identificador único do segredo.username
: Nome de usuário associado ao segredo.password
: Senha associada ao segredo.expires_at
: Data e hora de expiração do segredo no formato UTC.
Integração com CLI em scripts de automação
Script para Linux/MacOS (bash)
#!/bin/bash
# Certifique-se de ter o segura-agent instalado e configurado corretamente.
# Obtém o JSON do segredo.
SECRET_JSON=$(segura-agent get-secret --id db-production)
# Extrai a senha do JSON.
DB_PASS=$(echo "$SECRET_JSON" | jq -r '.password')
# Conecta ao banco de dados usando a senha obtida.
psql -U produser -d production_db -h 10.10.1.10 --password="$DB_PASS"
Script de PowerShell para Windows
# Certifique-se de ter o segura-agent instalado e configurado corretamente.
$secret = segura-agent get-secret --id db-production | ConvertFrom-Json
$sqlUsername = $secret.username
$sqlPassword = $secret.password
# Conecta ao banco de dados usando a senha obtida.
Invoke-Sqlcmd -Username $sqlUsername -Password $sqlPassword -Database production_db
Cache Seguro (TTL - Time To Live)
O agente Segura pode ser configurado para armazenar em cache os segredos por uma duração estrita, após a qual a próxima solicitação desencadeará uma nova busca aos cofres Segura.
Configuração
cache:
enabled: true
ttl: 300 # segundos
enabled
: habilita ou desabilita o recurso de cache.ttl
: tempo de vida do cache em segundos. Aqui está configurado para 5 minutos (300 segundos).
Notas Importantes
- A configuração do TTL deve ser ajustada de acordo com as políticas de segurança da sua organização.
- O cache melhora a performance ao reduzir o número de solicitações ao cofre, mas deve ser usado com cautela para não comprometer a segurança.
Fluxo de Trabalho de Integração API/Agente
Para integrar efetivamente o AAPM com a plataforma Segura, siga o fluxo de trabalho abaixo:
- Instalação do agente da plataforma Segura
- Instale o agente Segura no host alvo (Windows, Linux ou container).
- Garanta que o agente esteja configurado para comunicar-se com a plataforma Segura.
- Autenticação do agente
- Utilize um token, um certificado ou autenticação mútua para emparelhar de forma segura o agente com a plataforma Segura.
- Verifique a integridade da conexão realizando um teste de autenticação.
- Solicitação de credenciais pela aplicação
- Via endpoint HTTP local: envie uma solicitação
GET
parahttp://<host_address>/secret/<credential_id>
, substituindo<host_address>
pelo endereço real do agente e<credential_id>
pelo identificador da credencial desejada. - Via CLI: use o comando
segura-agent get-secret --id <credential_id>
no script de automação.
- Via endpoint HTTP local: envie uma solicitação
- Recuperação e entrega do secret
- O agente Segura busca o segredo mais recente no cofre Segura e o entrega ao aplicativo ou script.
- Implemente tratamento de erros adequado para lidar com falhas na obtenção do segredo.
- Rotação de credenciais
- Configure eventos ou agendamentos de rotação para que o agente atualize as credenciais automaticamente.
- Teste a rotação para garantir que o processo ocorra sem interrupções.
- Auditoria de ações
- Todas as ações, como
fetch
,rotate
,deliver
, eerror
, são registradas centralmente. - Acesse os logs de auditoria para monitoramento e conformidade com as políticas de segurança.
- Todas as ações, como
Melhores práticas
- Verificação de dependências: certifique-se de que todas as dependências necessárias para o agente estão instaladas (por exemplo,
jq
para scripts de shell). - Testes: realize testes em um ambiente controlado antes de implementar em produção.
- Segurança: revise regularmente os tokens de acesso e siga as melhores práticas para armazenamento e manipulação de credenciais.