Puoi creare policy di autorizzazione IAM (Identity and Access Management) per gestire la comunicazione degli agenti con le risorse registrate in Agent Registry. Agent Gateway utilizza Identity-Aware Proxy (IAP) per applicare le policy.
La pagina Policy nella console Cloud de Confiance consente di creare policy di autorizzazione IAM.
Google Cloud CLI e Terraform supportano la creazione di policy in uscita IAM.
Puoi anche creare Unified Access Policies (UAP) IAM, che possono contenere regole con effetti di autorizzazione e di negazione.
Prima di iniziare
Prima di creare una policy di autorizzazione IAM:
Configurare un progetto di fatturazione Cloud de Confiance .
Abilita l'API Identity-Aware Proxy (
iap.googleapis.com) nel tuo progetto. Il gateway utilizza l'API Identity-Aware Proxy per autenticare e autorizzare il traffico in uscita dai tuoi agenti.Conoscere l'identità dell'agente di cui vuoi gestire l'accesso da. Per gestire l'accesso da un intero registry utilizzando la console Cloud de Confiance , seleziona il progetto che contiene il registry.
Agent Platform e agenti Gemini Enterprise: conosci l'identità dell'agente.
Agenti fai da te (Cloud Run): conosci l'identità basata sul account di servizio.
Le risorse dell'agente di destinazione (agenti, server MCP ed endpoint) per cui vuoi gestire l'accesso devono essere registrate in Agent Registry.
La convalida della risorsa di destinazione avviene quando la policy è associata alla risorsa, non in fase di runtime. Non puoi associare una policy a una risorsa non registrata. Il tentativo di creare un'associazione di policy per una risorsa non registrata non va a buon fine immediatamente e restituisce l'errore "Entità richiesta non trovata" (
NOT_FOUND).Ti consigliamo di definire e applicare le policy in una pipeline di integrazione continua e deployment continuo (CI/CD). In questo modo, i riferimenti non validi o gli errori di battitura vengono rilevati durante i controlli di integrazione prima del deployment.
Configura un Agent Gateway. Ti consigliamo di configurare inizialmente Agent Gateway in modalità dry run. Per scoprire di più su Agent Gateway, consulta la panoramica di Agent Gateway.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per configurare Agent Platform per gli agenti AI, chiedi all'amministratore di concederti i seguenti ruoli IAM sul progetto:
- IAP Policy Admin (
roles/iap.admin) - Agent Registry Viewer (
roles/agentregistry.viewer) - Project IAM Admin (
roles/resourcemanager.projectIamAdmin) - Network Security Admin (
roles/networksecurity.admin) - Service Extensions Admin (
roles/serviceextensions.admin)
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Crea una policy di autorizzazione IAM utilizzando IAP
Puoi definire policy in uscita per i seguenti tipi di interazioni degli agenti:
Crea una policy da agente a registry
Una policy da agente a registry consente al tuo agente di accedere a tutti gli agenti, i server MCP e gli endpoint nel registry degli agenti nel progetto corrente.
Console
Cloud de Confiance , segui questi passaggi:
- Seleziona l'agente di origine e il registry di destinazione.
-
Nella console Cloud de Confiance , vai alla pagina Policy:
- Per aggiungere un criterio di accesso uniforme IAM per il traffico in uscita di Agent Gateway, fai clic su Aggiungi policy IAM.
-
Per selezionare gli agenti di origine, segui questi passaggi:
- Per selezionare tutti gli agenti nel registry degli agenti che si trovano nel progetto attualmente selezionato, seleziona Tutti gli agenti.
- Per selezionare un agente specifico nel progetto attuale, segui questi passaggi:
- Seleziona Agente individuale. Per trovare l'agente, cercalo utilizzando il campo Filtra .
- Seleziona l'agente di origine a cui vuoi concedere l'accesso.
- Per selezionare l'agente, fai clic su Ok.
- In Destinazione di accesso, fai clic su Registry.
- Per creare la policy di autorizzazione IAM e associarla al registry, fai clic su Crea.
-
- Per creare una condizione, segui questi passaggi:
In Condizioni, fai clic su Aggiungi condizione.
Nella finestra di dialogo Aggiungi condizione, procedi nel seguente modo:
- In Titolo, inserisci il nome della condizione.
- In Descrizione, inserisci la descrizione della condizione.
-
Per aggiungere una condizione utilizzando il Generatore di condizioni, segui questi passaggi:
-
In Tipo di condizione, seleziona il tipo di condizione tra i seguenti:
- Nome: l'accesso dell'agente è limitato in base al nome della risorsa a cui viene eseguito l'accesso.
- ReadOnly: indica se l'accesso dell'agente è limitato alla lettura dei dati, il che impedisce le operazioni di scrittura da parte dell'agente.
- Distruttivo: indica se gli agenti possono eseguire azioni considerate dannose o irreversibili, come l'eliminazione di risorse.
- Idempotente: indica se l'accesso dell'agente può essere sostituito.
- Open world: se l'agente può interagire con un "open world" di entità esterne (ad esempio, uno strumento di ricerca web). Se imposti questa condizione su "false", l'interazione con l'agente viene considerata chiusa.
- In Operatore, seleziona l'operatore booleano.
- In Valore, seleziona il valore per la condizione.
-
In Tipo di condizione, seleziona il tipo di condizione tra i seguenti:
- Per aggiungere un'altra condizione, fai clic su Aggiungi un'altra condizione.
- Per salvare la condizione, fai clic su Salva.
gcloud
Per creare una policy in uscita da agente a registry utilizzando gcloud CLI, segui questi passaggi:
Crea la policy IAP che contiene la policy IAM.
{ "policy": { "bindings": [ { "role": "roles/iap.egressor", "members": [ "AGENT_PRINCIPALS" ], "condition": { CONDITION } } ] } }Sostituisci quanto segue:
-
AGENT_PRINCIPALS: un array di entità per le identità degli agenti di origine. Le entità possono essere un array di una o più entità singole (principal://...) o set di entità (principalSet://...), formattati come segue:- Identità degli agenti integrate (Agent Runtime, Gemini Enterprise o Cloud Run con identità dell'agente):
principal://TRUST_DOMAIN/AGENT_UNIQUE_IDENTIFIER, ad esempio:- Agent Runtime (Reasoning Engine):
principal://agents.global.org-123456789012.system.id.goog/resources/aiplatform/projects/9876543210/locations/us-central1/reasoningEngines/my-agent - Gemini Enterprise (Discovery Engine):
principal://agents.global.org-123456789012.system.id.goog/resources/discoveryengine/projects/9876543210/locations/global/engines/my-engine/assistants/default_assistant/agents/default/core_assistant - Cloud Run (identità agente):
principal://agents.global.org-123456789012.system.id.goog/resources/run/projects/9876543210/locations/us-central1/services/my-cloud-run-agent
- Agent Runtime (Reasoning Engine):
- Federazione delle identità per i workload (agenti personalizzati o esterni):
principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECT, ad esempioprincipal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-agent-identity/subject/ns/default/sa/my-agent
- Identità degli agenti integrate (Agent Runtime, Gemini Enterprise o Cloud Run con identità dell'agente):
CONDITION:Il parametro della condizione, formattato come segue:
"condition": { "title": "CONDITION_TITLE", "description": "CONDITION_DESCRIPTION", "expression": "CEL_EXPRESSION" }Sostituisci quanto segue:
CONDITION_TITLE: il titolo della condizioneCONDITION_DESCRIPTION: la descrizione della condizioneCEL_EXPRESSION: l'espressione condizionale. Questa espressione deve essere un'espressione CEL valida. Per consentire l'accesso, deve essere valutata cometrue.
-
Imposta la policy di autorizzazione IAM in IAP per tutte le risorse in Agent Registry:
gcloud iap web set-iam-policy agents-iap-policy.json \ --project=PROJECT_ID \ --resource-type=agent-registry \ --region=REGIONSostituisci quanto segue:
PROJECT_ID: l'ID progetto del progetto che contiene la risorsa. In alternativa, puoi associare la policy a una cartella o a un'organizzazione specificando rispettivamente i flag--foldero--organization.-
REGION: la regione in cui si trova la risorsa
L'esempio seguente mostra l'accesso in uscita per una gerarchia di agenti:
{ "policy": { "bindings": [ { "role": "roles/iap.egressor", "members": [ "principalSet://agents.global.org-ORGANIZATION_ID.system.id.goog/attribute.platformContainer/aiplatform/projects/1234" ] } ] } }
Terraform
Per concedere l'accesso in uscita a tutte le risorse in un'istanza di Agent Registry, configura la risorsa google_iap_agent_registry_iam_member nel progetto che ospita il registry e l'Agent Gateway:
resource "google_iap_agent_registry_iam_member" "registry_egress" { project = "PROJECT_ID" location = "REGION" role = "roles/iap.egressor" member = "principalSet://agents.global.org-ORGANIZATION_ID.system.id.goog/attribute.platformContainer/aiplatform/projects/AGENT_RUNTIME_PROJECT_NUMBER" }
Sostituisci quanto segue:
PROJECT_ID: l'ID del progetto che ospita il registro degli agenti e l'Agent GatewayREGION: la località del registry (ad esempio,us-central1oglobal)ORGANIZATION_ID: ID organizzazioneAGENT_RUNTIME_PROJECT_NUMBER: il numero di progetto del progetto che ospita i tuoi agenti
Crea una policy in uscita da agente ad agente
Console
Per definire una policy in uscita da agente ad agente utilizzando la console Cloud de Confiance , segui questi passaggi:
-
Nella console Cloud de Confiance , vai alla pagina Policy:
- Per aggiungere un criterio di accesso uniforme IAM per il traffico in uscita di Agent Gateway, fai clic su Aggiungi policy IAM.
-
Per selezionare gli agenti di origine, segui questi passaggi:
- Per selezionare tutti gli agenti nel registry degli agenti che si trovano nel progetto attualmente selezionato, seleziona Tutti gli agenti.
- Per selezionare un agente specifico nel progetto attuale, segui questi passaggi:
- Seleziona Agente individuale. Per trovare l'agente, cercalo utilizzando il campo Filtra .
- Seleziona l'agente di origine a cui vuoi concedere l'accesso.
- Per selezionare l'agente, fai clic su Ok.
- In Destinazione di accesso, fai clic su Agente.
- In Seleziona agente, seleziona l'agente di destinazione a cui vuoi che acceda l'agente di origine. Per trovare l'agente, cercalo utilizzando il campo filtro Filtra.
- Per creare la policy di autorizzazione IAM e associarla all'agente, fai clic su Crea.
gcloud
Crea una policy di autorizzazione IAM in un file in formato JSON.
{ "policy": { "bindings": [ { "role": "roles/iap.egressor", "members": [ "AGENT_PRINCIPALS" ] } ] } }Sostituisci quanto segue:
-
AGENT_PRINCIPALS: un array di entità per le identità degli agenti di origine. Le entità possono essere un array di una o più entità singole (principal://...) o set di entità (principalSet://...), formattati come segue:- Identità degli agenti integrate (Agent Runtime, Gemini Enterprise o Cloud Run con identità dell'agente):
principal://TRUST_DOMAIN/AGENT_UNIQUE_IDENTIFIER, ad esempio:- Agent Runtime (Reasoning Engine):
principal://agents.global.org-123456789012.system.id.goog/resources/aiplatform/projects/9876543210/locations/us-central1/reasoningEngines/my-agent - Gemini Enterprise (Discovery Engine):
principal://agents.global.org-123456789012.system.id.goog/resources/discoveryengine/projects/9876543210/locations/global/engines/my-engine/assistants/default_assistant/agents/default/core_assistant - Cloud Run (identità agente):
principal://agents.global.org-123456789012.system.id.goog/resources/run/projects/9876543210/locations/us-central1/services/my-cloud-run-agent
- Agent Runtime (Reasoning Engine):
- Federazione delle identità per i workload (agenti personalizzati o esterni):
principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECT, ad esempioprincipal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-agent-identity/subject/ns/default/sa/my-agent
- Identità degli agenti integrate (Agent Runtime, Gemini Enterprise o Cloud Run con identità dell'agente):
-
Associa la policy IAM a IAP.
gcloud iap web set-iam-policy agents-iap-policy.json \ --project=PROJECT_ID \ --resource-type=agent-registry \ --agent=AGENT_ID \ --region=REGIONSostituisci quanto segue:
PROJECT_ID: l'ID progetto del progetto che contiene la risorsa. In alternativa, puoi associare la policy a una cartella o a un'organizzazione specificando rispettivamente i flag--foldero--organization.AGENT_ID: l'ID dell'agente-
REGION: la regione in cui si trova la risorsa
Terraform
Per concedere l'accesso in uscita a un agente registrato specifico, configura la risorsa google_iap_agent_registry_agent_iam_member:
resource "google_iap_agent_registry_agent_iam_member" "agent_egress" { project = "PROJECT_ID" location = "REGION" agent_id = "AGENT_ID" role = "roles/iap.egressor" member = "principalSet://agents.global.org-ORGANIZATION_ID.system.id.goog/attribute.platformContainer/aiplatform/projects/AGENT_RUNTIME_PROJECT_NUMBER" }
Sostituisci quanto segue:
PROJECT_ID: l'ID del progetto che ospita il registro degli agentiREGION: la località del registryAGENT_ID: l'ID dell'agente registrato di destinazioneORGANIZATION_ID: ID organizzazioneAGENT_RUNTIME_PROJECT_NUMBER: il numero di progetto del progetto dell'agente chiamante
Crea una policy in uscita dall'agente al server MCP
Console
Per definire una policy in uscita dall'agente al server MCP utilizzando la console Cloud de Confiance , segui questi passaggi:
-
Nella console Cloud de Confiance , vai alla pagina Policy:
- Per aggiungere un criterio di accesso uniforme IAM per il traffico in uscita di Agent Gateway, fai clic su Aggiungi policy IAM.
-
Per selezionare gli agenti di origine, segui questi passaggi:
- Per selezionare tutti gli agenti nel registry degli agenti che si trovano nel progetto attualmente selezionato, seleziona Tutti gli agenti.
- Per selezionare un agente specifico nel progetto attuale, segui questi passaggi:
- Seleziona Agente individuale. Per trovare l'agente, cercalo utilizzando il campo Filtra .
- Seleziona l'agente di origine a cui vuoi concedere l'accesso.
- Per selezionare l'agente, fai clic su Ok.
- In Destinazione di accesso, fai clic su Server MCP.
- In Seleziona server MCP, seleziona il server MCP di destinazione a cui vuoi che acceda l'agente di origine. Per trovare il server MCP, cercalo utilizzando il campo Filtra.
- Per creare la policy di autorizzazione IAM e associarla al server MCP, fai clic su Crea.
Crea una condizione:
In Condizioni, fai clic su Aggiungi condizione. Nella finestra di dialogo Aggiungi condizione, segui questi passaggi:
- In Titolo, inserisci il nome della condizione.
- In Descrizione, inserisci la descrizione della condizione.
-
Per aggiungere una condizione utilizzando il Generatore di condizioni, segui questi passaggi:
-
In Tipo di condizione, seleziona il tipo di condizione tra i seguenti:
- Nome: l'accesso dell'agente è limitato in base al nome della risorsa a cui viene eseguito l'accesso.
- ReadOnly: indica se l'accesso dell'agente è limitato alla lettura dei dati, il che impedisce le operazioni di scrittura da parte dell'agente.
- Distruttivo: indica se gli agenti possono eseguire azioni considerate dannose o irreversibili, come l'eliminazione di risorse.
- Idempotente: indica se l'accesso dell'agente può essere sostituito.
- Open world: se l'agente può interagire con un "open world" di entità esterne (ad esempio, uno strumento di ricerca web). Se imposti questa condizione su "false", l'interazione con l'agente viene considerata chiusa.
- In Operatore, seleziona l'operatore booleano.
- In Valore, seleziona il valore per la condizione.
-
In Tipo di condizione, seleziona il tipo di condizione tra i seguenti:
- Per aggiungere un'altra condizione, fai clic su Aggiungi un'altra condizione.
- Per salvare la condizione, fai clic su Salva.
gcloud
Per creare una policy in uscita dall'agente al server MCP utilizzando gcloud CLI, segui questi passaggi:
Crea una policy di autorizzazione IAM in un file in formato JSON.
{ "policy": { "bindings": [ { "role": "roles/iap.egressor", "members": [ "AGENT_PRINCIPALS" ], "condition": { CONDITION } } ] } }Sostituisci quanto segue:
-
AGENT_PRINCIPALS: un array di entità per le identità degli agenti di origine. Le entità possono essere un array di una o più entità singole (principal://...) o set di entità (principalSet://...), formattati come segue:- Identità degli agenti integrate (Agent Runtime, Gemini Enterprise o Cloud Run con identità dell'agente):
principal://TRUST_DOMAIN/AGENT_UNIQUE_IDENTIFIER, ad esempio:- Agent Runtime (Reasoning Engine):
principal://agents.global.org-123456789012.system.id.goog/resources/aiplatform/projects/9876543210/locations/us-central1/reasoningEngines/my-agent - Gemini Enterprise (Discovery Engine):
principal://agents.global.org-123456789012.system.id.goog/resources/discoveryengine/projects/9876543210/locations/global/engines/my-engine/assistants/default_assistant/agents/default/core_assistant - Cloud Run (identità agente):
principal://agents.global.org-123456789012.system.id.goog/resources/run/projects/9876543210/locations/us-central1/services/my-cloud-run-agent
- Agent Runtime (Reasoning Engine):
- Federazione delle identità per i workload (agenti personalizzati o esterni):
principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECT, ad esempioprincipal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-agent-identity/subject/ns/default/sa/my-agent
- Identità degli agenti integrate (Agent Runtime, Gemini Enterprise o Cloud Run con identità dell'agente):
CONDITION:Il parametro della condizione, formattato come segue:
"condition": { "title": "CONDITION_TITLE", "description": "CONDITION_DESCRIPTION", "expression": "CEL_EXPRESSION" }Sostituisci quanto segue:
CONDITION_TITLE: il titolo della condizioneCONDITION_DESCRIPTION: la descrizione della condizioneCEL_EXPRESSION: l'espressione condizionale. Questa espressione deve essere un'espressione CEL valida. Per consentire l'accesso, deve essere valutata cometrue.
-
Associa la policy IAM a IAP.
gcloud iap web set-iam-policy agents-iap-policy.json \ --project=PROJECT_ID \ --resource-type=agent-registry \ --mcp-server=MCP_SERVER_ID \\ --region=REGIONSostituisci quanto segue:
PROJECT_ID: l'ID progetto del progetto che contiene la risorsa. In alternativa, puoi associare la policy a una cartella o a un'organizzazione specificando rispettivamente i flag--foldero--organization.MCP_SERVER_ID: l'ID del server MCP-
REGION: la regione in cui si trova la risorsa
L'esempio seguente mostra una policy di autorizzazione IAM che consente a un agente fai da te l'accesso di sola lettura a uno strumento chiamato
GitHubToolutilizzando un tipo di autorizzazioneMCP.{ "policy": { "bindings": [ { "role": "roles/iap.egressor", "members": [ "principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool.s3ns.svc.id.goog/subject/ns/default/sa/my-ae-agent" ], "condition": { "title": "Allow AE Agent Read-Only Egress to GitHub MCP server", "expression": "api.getAttribute('iap.googleapis.com/mcp.toolName', '') == 'GitHubTool' && api.getAttribute('iap.googleapis.com/mcp.tool.isReadOnly', false) == true && api.getAttribute('iap.googleapis.com/request.auth.type', '') == 'MCP'" } } ] } }
Terraform
Per concedere l'accesso in uscita condizionale a un server MCP registrato e ai relativi strumenti, configura la risorsa google_iap_agent_registry_mcp_server_iam_member:
resource "google_iap_agent_registry_mcp_server_iam_member" "mcp_egress" { project = "PROJECT_ID" location = "REGION" mcp_server_id = "MCP_SERVER_ID" role = "roles/iap.egressor" member = "principalSet://agents.global.org-ORGANIZATION_ID.system.id.goog/attribute.platformContainer/aiplatform/projects/AGENT_RUNTIME_PROJECT_NUMBER" condition { title = "Allow read-only MCP tool access" expression = "api.getAttribute('iap.googleapis.com/mcp.toolName', '') == 'TOOL_NAME' && api.getAttribute('iap.googleapis.com/mcp.tool.isReadOnly', false) == true" } }
Sostituisci quanto segue:
PROJECT_ID: l'ID del progetto che ospita il registro degli agentiREGION: la località del registry (utilizzaglobalper i server MCP remoti gestiti da Google)MCP_SERVER_ID: l'ID del server MCP registratoORGANIZATION_ID: ID organizzazioneAGENT_RUNTIME_PROJECT_NUMBER: il numero di progetto del progetto dell'agente chiamanteTOOL_NAME: il nome dello strumento MCP consentito
Crea una policy in uscita da agente a endpoint
Console
Per definire una policy in uscita da agente a endpoint utilizzando la console Cloud de Confiance , segui questi passaggi:
-
Nella console Cloud de Confiance , vai alla pagina Policy:
- Per aggiungere un criterio di accesso uniforme IAM per il traffico in uscita di Agent Gateway, fai clic su Aggiungi policy IAM.
-
Per selezionare gli agenti di origine, segui questi passaggi:
- Per selezionare tutti gli agenti nel registry degli agenti che si trovano nel progetto attualmente selezionato, seleziona Tutti gli agenti.
- Per selezionare un agente specifico nel progetto attuale, segui questi passaggi:
- Seleziona Agente individuale. Per trovare l'agente, cercalo utilizzando il campo Filtra .
- Seleziona l'agente di origine a cui vuoi concedere l'accesso.
- Per selezionare l'agente, fai clic su Ok.
- In Destinazione di accesso, fai clic su Endpoint.
- In Seleziona endpoint, seleziona l'endpoint di destinazione a cui vuoi che acceda l'agente di origine. Per trovare l'endpoint, cercalo utilizzando il campo Filtra.
- Per creare la policy di autorizzazione IAM e associarla all'endpoint, fai clic su Crea.
Crea una condizione:
In Condizioni, fai clic su Aggiungi condizione. Nella finestra di dialogo Aggiungi condizione, segui questi passaggi:
- In Titolo, inserisci il nome della condizione.
- In Descrizione, inserisci la descrizione della condizione.
-
Per aggiungere una condizione utilizzando il Generatore di condizioni, segui questi passaggi:
-
In Tipo di condizione, seleziona il tipo di condizione tra i seguenti:
- Nome: l'accesso dell'agente è limitato in base al nome della risorsa a cui viene eseguito l'accesso.
- ReadOnly: indica se l'accesso dell'agente è limitato alla lettura dei dati, il che impedisce le operazioni di scrittura da parte dell'agente.
- Distruttivo: indica se gli agenti possono eseguire azioni considerate dannose o irreversibili, come l'eliminazione di risorse.
- Idempotente: indica se l'accesso dell'agente può essere sostituito.
- Open world: se l'agente può interagire con un "open world" di entità esterne (ad esempio, uno strumento di ricerca web). Se imposti questa condizione su "false", l'interazione con l'agente viene considerata chiusa.
- In Operatore, seleziona l'operatore booleano.
- In Valore, seleziona il valore per la condizione.
-
In Tipo di condizione, seleziona il tipo di condizione tra i seguenti:
- Per aggiungere un'altra condizione, fai clic su Aggiungi un'altra condizione.
- Per salvare la condizione, fai clic su Salva.
gcloud
Crea una policy di autorizzazione IAM in un file in formato JSON.
{ "policy": { "bindings": [ { "role": "roles/iap.egressor", "members": [ "AGENT_PRINCIPALS" ] } ] } }Sostituisci quanto segue:
-
AGENT_PRINCIPALS: un array di entità per le identità degli agenti di origine. Le entità possono essere un array di una o più entità singole (principal://...) o set di entità (principalSet://...), formattati come segue:- Identità degli agenti integrate (Agent Runtime, Gemini Enterprise o Cloud Run con identità dell'agente):
principal://TRUST_DOMAIN/AGENT_UNIQUE_IDENTIFIER, ad esempio:- Agent Runtime (Reasoning Engine):
principal://agents.global.org-123456789012.system.id.goog/resources/aiplatform/projects/9876543210/locations/us-central1/reasoningEngines/my-agent - Gemini Enterprise (Discovery Engine):
principal://agents.global.org-123456789012.system.id.goog/resources/discoveryengine/projects/9876543210/locations/global/engines/my-engine/assistants/default_assistant/agents/default/core_assistant - Cloud Run (identità agente):
principal://agents.global.org-123456789012.system.id.goog/resources/run/projects/9876543210/locations/us-central1/services/my-cloud-run-agent
- Agent Runtime (Reasoning Engine):
- Federazione delle identità per i workload (agenti personalizzati o esterni):
principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECT, ad esempioprincipal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-agent-identity/subject/ns/default/sa/my-agent
- Identità degli agenti integrate (Agent Runtime, Gemini Enterprise o Cloud Run con identità dell'agente):
-
Associa la policy IAM a IAP.
gcloud iap web set-iam-policy agents-iap-policy.json \ --project=PROJECT_ID \ --resource-type=agent-registry \ --endpoint=ENDPOINT_ID \ --region=REGIONSostituisci quanto segue:
PROJECT_ID: l'ID progetto del progetto che contiene la risorsa. In alternativa, puoi associare la policy a una cartella o a un'organizzazione specificando rispettivamente i flag--foldero--organization.ENDPOINT_ID: l'ID dell'endpoint-
REGION: la regione in cui si trova la risorsa
Terraform
Per concedere l'accesso in uscita a un endpoint registrato specifico, configura la risorsa google_iap_agent_registry_endpoint_iam_member:
resource "google_iap_agent_registry_endpoint_iam_member" "endpoint_egress" { project = "PROJECT_ID" location = "REGION" endpoint_id = "ENDPOINT_ID" role = "roles/iap.egressor" member = "principalSet://agents.global.org-ORGANIZATION_ID.system.id.goog/attribute.platformContainer/aiplatform/projects/AGENT_RUNTIME_PROJECT_NUMBER" }
Sostituisci quanto segue:
PROJECT_ID: l'ID del progetto che ospita il registro degli agentiREGION: la località del registryENDPOINT_ID: l'ID dell'endpoint registratoORGANIZATION_ID: ID organizzazioneAGENT_RUNTIME_PROJECT_NUMBER: il numero di progetto del progetto dell'agente chiamante
Autentica il tuo server MCP Cloud Run con IAP
Per configurare l'autenticazione basata su IAP per i server MCP di cui esegui il deployment su Cloud Run, segui questi passaggi:
Abilita IAP su Cloud Run.
Concedi il ruolo Invoker all'agente di servizio IAP:
gcloud run services add-iam-policy-binding SERVICE_NAME \ --member='serviceAccount:service-PROJECT_NUMBER@gcp-sa-iap.s3ns-system.iam.gserviceaccount.com' \ --role='roles/run.invoker'Sostituisci quanto segue:
SERVICE_NAME: il nome del servizioPROJECT_NUMBER: il numero del progetto
Abilita IAP su un servizio Cloud Run nuovo o esistente.
Nuovo servizio
Per eseguire il deployment di un nuovo servizio, esegui questo comando:
gcloud run deploy SERVICE_NAME \ --image=CONTAINER_IMAGE \ --region=REGION \ --project=PROJECT_ID \ --allow-unauthenticated \ --iap \ --functional-type=mcp-server
Sostituisci quanto segue:
SERVICE_NAME: il nome del servizioCONTAINER_IMAGE: la tua immagine containerREGION: la regione in cui esegui il deployment del servizioPROJECT_ID: l'ID del progetto in cui è abilitato Cloud Run.
Servizio esistente
Per aggiornare un servizio esistente, esegui questo comando:
gcloud run services update SERVICE_NAME \ --region=REGION \ --iap \ --functional-type=mcp-server
Sostituisci quanto segue:
SERVICE_NAME: il nome del servizio.REGION: la regione.
Crea e configura un client OAuth.
Segui le istruzioni riportate in Condivisione dei client OAuth per l'accesso programmatico per registrare l'ID client universale del tuo client OAuth da utilizzare con IAP.
Assicurati di registrare i seguenti valori che ottieni quando completi questo passaggio:
- ID client OAuth
- Client secret OAuth
- URI di reindirizzamento
Configura il tuo client come Gemini CLI o il tuo agente per connettere il server MCP di cui hai eseguito il deployment modificando il file
settings.jsonche si trova nella directory home di Gemini (~/.gemini/).Di seguito è riportato un modello
settings.json:{ "mcpServers": { "my_mcp_server": { "httpUrl": "https://SERVICE_URL", "oauth": { "enabled": "true", "clientId": "OAUTH_CLIENT_ID", "clientSecret": "OAUTH_CLIENT_SECRET", "scopes": [ "email", "openid" ], "redirectUri": "REDIRECT_URI" } } } }Sostituisci quanto segue:
SERVICE_URL: l'URL del tuo servizio Cloud Run.OAUTH_CLIENT_ID: l'ID client del passaggio 2.OAUTH_CLIENT_SECRET: il client secret del passaggio 2.REDIRECT_URI: l'URI di reindirizzamento, che deve corrispondere al passaggio 2.
Verifica di riuscire a connetterti al server MCP.
Passaggi successivi
Configura le norme relative ai contenuti e le norme aziendali
Scopri come configurare le norme relative ai contenuti e alle attività.