Este guia mostra como criar e implantar um agente no Agent Runtime na Gemini Enterprise Agent Platform com a Identidade do agente ativada.
A Identidade do agente atribui uma identidade SPIFFE segura ao agente implantado. O agente usa essa identidade para autenticar serviços Google Cloud e recuperar credenciais do gerenciador de autenticação da Identidade do agente.
Antes de começar
Ative as APIs Agent Identity, Agent Platform, Agent Registry e App Hub.
Funções necessárias para ativar APIs
Para ativar as APIs, é necessário ter a permissão
serviceusage.services.enable. Se você criou o projeto, provavelmente já tem essa permissão pela função Proprietário (roles/owner). Caso contrário, você pode receber essa permissão pela função Administrador de uso do serviço (roles/serviceusage.serviceUsageAdmin). Saiba como conceder funções.Verifique se você tem a função Usuário da Agent Platform (
roles/aiplatform.user) no projeto.
Criar e implantar o agente
Crie um agente de amostra usando google-agents-cli e implante-o com a Identidade do agente:
Instale
uve execute a configuraçãogoogle-agents-cli:pip install uv uvx google-agents-cli setup
Crie um projeto de agente usando o modelo de protótipo:
uvx google-agents-cli create AGENT_PROJECT --prototype --yes
Substitua
AGENT_PROJECTpelo nome do novo diretório do projeto do agente (por exemplo,maps-agent).Esse comando gera a seguinte estrutura de diretório do projeto:
AGENT_PROJECT/ ├── app/ # Core agent code │ ├── agent.py # Main agent logic │ ├── fast_api_app.py # Client application logic │ └── app_utils/ # App utilities and helpers ├── tests/ # Unit and integration tests ├── GEMINI.md # Development guide └── pyproject.toml # Project dependencies
Renomeie a pasta do aplicativo padrão (
app) para corresponder ao nome do agente (AGENT_NAME, por exemplo,maps_agent). Os nomes dos agentes precisam ser um identificador Python válido: eles precisam começar com uma letra e conter apenas letras, números e sublinhados.cd AGENT_PROJECT mv app AGENT_NAME
Atualize o arquivo de configuração
agent.pypara refletir o novo nome:# In AGENT_PROJECT/AGENT_NAME/agent.py app = App( root_agent=root_agent, name="
AGENT_NAME", )Escolha um modelo para usar com base na disponibilidade regional. Atualize o valor de
MODELemagent.pypara corresponder ao modelo escolhido.Solução alternativa para modelos que estão disponíveis apenas na
globalregiãoPara usar um modelo que está disponível apenas na região
global, modifiqueagent.pypara que o agente possa acessá-lo.-
Adicione as seguintes importações:
from functools import cached_property from google.genai import Client
-
Adicione a seguinte subclasse após as importações:
class GlobalGemini(Gemini): @cached_property def api_client(self) -> Client: return Client(enterprise=True, location="global")
-
Encontre o seguinte código:
root_agent = Agent( name="root_agent", model=Gemini(
Altere-o para referenciar a nova subclasse:
root_agent = Agent( name="root_agent", model=GlobalGemini(
-
Ative a Identidade do agente criando um arquivo de configuração:
echo '{ "identity_type": "AGENT_IDENTITY" }' > AGENT_NAME/.agent_engine_config.json
Crie um arquivo
requirements.txtpara as dependências de implantação:uv export \ --no-emit-workspace \ --no-hashes \ --format requirements.txt \ --output-file AGENT_NAME/requirements.txt
Verifique a estrutura do diretório do projeto:
AGENT_PROJECT/ ├── AGENT_NAME/ # Agent application folder │ ├── .agent_engine_config.json # Agent Identity configuration │ ├── agent.py # Main agent logic │ ├── fast_api_app.py # Client application logic │ ├── requirements.txt # Deployment dependencies │ └── app_utils/ # App helpers ├── tests/ # Tests ├── GEMINI.md # Development guide └── pyproject.toml # Project dependencies
Teste o agente localmente:
uv run adk web . --port 8501 --reload_agents
Para validar o agente, faça o seguinte:
Acesse
http://localhost:8501. Como alternativa, se você estiver usando o Cloud Shell, clique no link fornecido pela saída do servidor da Web.Na interface de chat, envie um comando de teste para verificar a resposta.
Encerre o servidor com
CTRL+C.Implante o agente em Google Cloud:
uv run adk deploy agent_engine AGENT_NAME \ --project="PROJECT_ID" \ --region="LOCATION"
Substitua:
PROJECT_ID: seu Google Cloud projeto ID.LOCATION: A região compatível em que você quer implantar o agente (por exemplo,us-west1).
A implantação pode levar alguns minutos para ser concluída. Depois que terminar, a CLI vai gerar uma mensagem de confirmação e um link para o playground do agente no console do Google Cloud .
Recupere o ID SPIFFE do agente (Identidade do agente):
No Google Cloud console do, acesse a página Implantações.
Para copiar o ID SPIFFE do agente para a área de transferência, encontre a linha em que o agente implantado está e, na coluna Identidade dessa linha, clique em Copiar para a área de transferência. A identidade é semelhante a esta:
principal://agents.global.org-ORGANIZATION_ID.system.id.goog/resources/aiplatform/projects/PROJECT_NUMBER/locations/LOCATION/reasoningEngines/ENGINE_ID.
A seguir
- Visão geral da Identidade do agente
- Visão geral do gerenciador de autenticação da Identidade do agente
- Autenticar usando o OAuth de três etapas com o gerenciador de autenticação
- Autenticar usando o OAuth de duas etapas com o gerenciador de autenticação
- Autenticar usando a chave de API com o gerenciador de autenticação
- Gerenciar provedores de autenticação da Identidade do agente