Integração do (AAPM)

Prev Next

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:

  1. 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.
  2. 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.
  3. Solicitação de credenciais pela aplicação
    • Via endpoint HTTP local: envie uma solicitação GET para http://<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.
  4. 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.
  5. 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.
  6. Auditoria de ações
    • Todas as ações, como fetch, rotate, deliver, e error, são registradas centralmente.
    • Acesse os logs de auditoria para monitoramento e conformidade com as políticas de segurança.

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.