Os agentes do Kit de Desenvolvimento de Agente (ADK) interagem com serviços externos fora do Google Cloud. As identidades de agente e o gerenciamento de identidade e acesso (IAM) permitem autenticar com serviços do Google Cloud. No entanto, eles não podem provar a identidade para plataformas externas que não são compatíveis com a federação de identidade do Google.
Os agentes do ADK precisam de acesso a várias credenciais para interagir com entidades externas, como serviços do MCP, ferramentas do ADK e APIs. Alguns exemplos comuns são:
- Chaves de API para plataformas de processamento de pagamentos
- Combinações de nome de usuário e senha para bancos de dados legados locais
- Chaves privadas para conexões TLS mútuas (mTLS)
SecretManagerClient
no pacote google.adk.integrations.secret_manager.secret_client. Este módulo fornece uma interface padrão para que os agentes recuperem secrets do Secret Manager durante a execução.
Este documento explica como gerenciar secrets para serviços externos no ADK usando o Secret Manager.
Vantagens de usar o Secret Manager com o ADK
O gerenciamento manual de chaves secretas pode gerar riscos de segurança e aumentar o trabalho dos desenvolvedores. O Secret Manager pode ajudar a resolver esses problemas das seguintes maneiras:
- Se você incorporar secrets no código do agente, vai criar um risco de segurança significativo. Essa prática pode levar a acesso não autorizado a sistemas de produção. O uso do Secret Manager remove dados sensíveis do código-fonte. Isso ajuda a tornar seu aplicativo mais seguro.
- Se você incorporar secrets estáticos usando variáveis de ambiente, a rotação de credenciais vai ficar complicada. Para aplicar as atualizações, reinicie os contêineres de implantação. O Secret Manager recupera as credenciais de forma dinâmica durante a execução, o que permite atualizações sem tempo de inatividade do sistema.
- Se você escrever um código
SecretManagerServiceClientboilerplate personalizado para cada ferramenta, vai aumentar as tarefas repetitivas dos desenvolvedores e o risco de erros. A integração padronizada do ADK oferece uma abordagem limpa e reutilizável para recuperar credenciais.
Antes de começar
Antes de integrar o Secret Manager ao ADK, faça o seguinte:
- Configure um agente usando o ADK. Esse recurso exige a versão 1.29 ou mais recente do ADK para Python.
- Conceda o papel do IAM
Secret Manager Secret Accessorà identidade do agente. Esse papel permite que seu agente recupere secrets no ambiente de execução. - Crie um secret e adicione uma versão dele, como uma chave de API, no Secret Manager.
Como um agente do ADK recupera secrets no ambiente de execução
O módulo secret_client.SecretManagerClient recupera credenciais
na lógica do código do agente Python durante a execução. A lógica de orquestração do agente
envia comandos ao modelo de linguagem grande (LLM) para decidir qual ferramenta executar,
mas o sistema não envia o segredo ao LLM.
O agente executa as seguintes etapas durante a fase de execução:
- Antes de um agente do ADK invocar uma ferramenta de terceiros, ele inicializa o módulo
SecretManagerCliente chama a funçãoget_secret(). - O agente do ADK usa a identidade do agente para fazer a autenticação com o Secret Manager.
- O módulo
SecretManagerClientretorna o secret de texto simples ao agente do ADK. - O agente do ADK usa o secret para fazer uma chamada autenticada para a ferramenta de terceiros.
Recuperar secrets em um agente do ADK no momento da execução
O exemplo de código a seguir mostra como usar o módulo
SecretManagerClient para recuperar um secret de forma segura em um agente
do ADK. O agente recupera o segredo internamente para evitar a exposição de credenciais sensíveis à janela de contexto ou ao histórico de conversas do LLM.
Python
Para executar esse código, primeiro configure um ambiente de desenvolvimento do Python e instale o SDK do Python do Secret Manager. No Compute Engine ou no GKE, você precisa fazer a autenticação com o escopo do cloud-platform.
A seguir
- Conheça o Kit de Desenvolvimento de Agente.