Desenhar o caminho completo do pedido
Uma função de rotação pode alcançar a base de dados e não alcançar Secrets Manager. Desenha ambos os caminhos e marca hostname, resolução, endereço, porta, regras de rede e identidade de API. Regista onde surge a falha: antes de ligar, durante TLS ou depois de receber uma resposta HTTP. Esse mapa orienta a passagem entre developers, rede, cloud e APS. Não comeces por alargar permissões sem evidência de uma recusa de autorização. Um teste manual deve usar contexto comparável ao da função, incluindo rede e identidade.
Diagnosticar a mudança para uma VPC
No exercício IPv4, uma Lambda que contactava uma API pública passa a usar uma subnet com rota para internet gateway. Isso não lhe atribui por si acesso público. Verifica o caminho de egress aprovado e as dependências antes de aumentar timeouts. Um NAT pode fazer parte da solução para destinos públicos; uma API AWS suportada pode ter um caminho privado apropriado. A escolha depende do destino e da política, não do nome público ou privado da subnet. Define um ensaio de conectividade e outro do resultado da aplicação após a mudança.
Usar o endpoint sem confundir controlos
Um interface endpoint Secrets Manager permite chegar ao serviço por um caminho privado. Private DNS pode fazer o hostname regional resolver nesse caminho. Isso não concede GetSecretValue à role nem torna irrelevante a política do endpoint. Se HTTPS responde com AccessDenied, recolhe a identidade, ação e recurso, e compara as políticas aplicáveis. Altera apenas a concessão aprovada, mantendo os outros limites. A verificação de recuperação deve confirmar a leitura do segredo esperado sem imprimir o valor nos logs ou anexá-lo ao ticket.
Distinguir chamador e execution role
Quando uma role na conta A invoca uma função na conta B, o chamador e o recurso precisam das concessões aplicáveis entre contas. A execution role da função serve as operações realizadas durante a execução; não substitui a autorização do cliente para invocar. Num pedido recusado, identifica primeiro qual principal e qual ARN estão em causa. Descreve a alteração com ação, recurso e responsável pela aprovação. Um teste administrativo na conta B pode demonstrar que o código executa, mas não demonstra que o cliente de A tem o acesso previsto.
Tratar o qualifier como parte do contrato
O alias prod pode apontar à versão 18 e continuar a ser um recurso invocado diferente de :18. Uma concessão limitada ao alias não deve ser interpretada como concessão automática ao ARN numérico. No caso fictício, a release muda o cliente para :18 e causa AccessDenied apesar de o código não mudar. Corrige o caminho para o alias aprovado ou obtém aprovação explícita para outro contrato. Inclui o ARN completo no plano de testes e verifica também um recurso fora do âmbito que deve continuar recusado.
Construir um gate que observa a integração
Um teste direto da versão prova menos do que o gate precisa. O gate deve confirmar a referência usada pelo cliente, a versão selecionada, a identidade, o resultado de negócio e o sinal de observabilidade esperado. Guarda evidência sem credenciais nem payloads sensíveis. Adiciona uma recusa esperada para detetar concessões excessivas. Se um ensaio negativo passa inesperadamente, interrompe a promoção e investiga o grant efetivo. O plano não precisa de usar dados reais; um caso sintético com resultado previsível permite comparar antes e depois.
Recuperar dependências e confirmar o serviço
Mover um alias para a versão anterior não reverte uma route table partilhada ou uma policy externa alterada na release. Lista essas dependências no plano e atribui um responsável a cada recuperação. Após corrigir a rede, confirma autorização; após corrigir a autorização, confirma o resultado da operação. Para rotação, verifica também a consistência entre o segredo e a base de dados antes de retomar clientes. O relatório para gestão deve separar serviço recuperado, trabalho pendente de reconciliação e ações para impedir repetição do incidente.
Uma release fictícia altera o cliente para :18, embora só :prod esteja autorizado. O teste com a role real revela a diferença que o teste administrativo não detetou.
Armadilhas comuns
Tratar timeout como AccessDenied; assumir que private DNS concede ações; confundir execution role e chamador; validar só como administrador; atribuir ao alias rollback de toda a infraestrutura.
Tópicos relacionados: IAM e menor privilégio · Handover para produção
Um teste de release útil representa quem chama, qual recurso chama, por onde passa e qual resultado deve obter.
Referência: Secrets Manager VPC endpoint · DVA-C02; exam guide 2.1