Puoi creare, elencare, visualizzare, aggiornare ed eliminare le Unified Access Policies (UAP) e le associazioni di policy IAM utilizzando la consoleGoogle Cloud , gcloud CLI o l'API REST.
Agent Gateway utilizza Identity-Aware Proxy (IAP) per applicare queste policy in uscita tra agenti, server MCP ed endpoint. Per una panoramica del funzionamento delle policy, consulta Panoramica delle UAP IAM. Per esempi dettagliati di regole e attributi CEL, consulta Creare UAP IAM.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per gestire le UAP e i binding dei criteri, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto:
-
Visualizza UAP e binding:
Access Policy Viewer (
roles/iam.accessPolicyViewer) -
Creare, aggiornare ed eliminare UAP e binding:
Access Policy Admin (
roles/iam.accessPolicyAdmin) -
Associa le policy a un progetto:
Project IAM Admin (
roles/resourcemanager.projectIamAdmin)
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 un UAP
Un UAP contiene una o più regole di autorizzazione o negazione. Prima che una policy entri in vigore, devi associarla a una risorsa di destinazione.
Per saperne di più sulla creazione di UAP, consulta Crea UAP IAM.
Console
-
Nella console Google Cloud , vai alla pagina Policy:
- Nel selettore di progetti, seleziona il progetto che contiene gli Agent Gateway che utilizzeranno l'UAP.
- Per aggiungere un UAP IAM per l'uscita di Agent Gateway, fai clic su Crea.
-
Nel riquadro Dettagli policy, segui questi passaggi:
- Fai clic sul campo Policy.
- Nell'elenco a discesa, seleziona Crea nuova policy.
- Nel campo Nome policy, inserisci un nome descrittivo per la policy.
- In Aggiungi regole, configura le regole di autorizzazione o negazione e le condizioni CEL. Per i passaggi e gli esempi di configurazione delle UAP, vedi Crea UAP IAM.
- Per salvare la regola, fai clic su Crea.
gcloud
Per creare un UAP utilizzando gcloud CLI,
definisci le regole dei criteri in un file JSON ed esegui il comando create:
gcloud iam access-policies create POLICY_NAME \
--details-rules=POLICY_FILE \
--project=PROJECT_ID \
--location=global
Sostituisci quanto segue:
-
POLICY_NAME: il nome della policy -
POLICY_FILE: il percorso del file della policy, ad esempio:my-policy.json PROJECT_ID: l'ID progetto che contiene la policy
API
Per creare un UAP utilizzando l'API REST, invia una richiesta POST
all'endpoint accessPolicies:
curl -X POST \
"https://iam.googleapis.com/v3beta/projects/PROJECT_ID/locations/global/accessPolicies?accessPolicyId=POLICY_NAME" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"details": {
"rules": [
{
"description": "RULE_DESCRIPTION",
"effect": "ALLOW",
"principals": [
"principal://agents.global.proj-PROJECT_NUMBER.system.id.goog/resources/aiplatform/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_NAME"
],
"operation": {
"permissions": [
"iap.resources.egressViaIAP"
]
},
"conditions": {
"iap.googleapis.com": {
"expression": "CEL_EXPRESSION"
}
}
}
]
}
}'
Sostituisci quanto segue:
PROJECT_ID: il tuo ID progettoPOLICY_NAME: l'ID della nuova policyPROJECT_NUMBER: il numero del progettoLOCATION: la posizione dell'agenteAGENT_NAME: l'ID dell'agente di origineCEL_EXPRESSION: l'espressione della condizione CEL
Associa una policy a una risorsa di destinazione
Per applicare una UAP, associala a un ambito di risorse di destinazione, come un progetto o un'istanza di Agent Gateway.
Console
Quando salvi una policy, questa viene associata automaticamente al progetto.
gcloud
Per associare un UAP a una risorsa di destinazione utilizzando gcloud CLI, esegui questo comando:
gcloud iam policy-bindings create BINDING_NAME \
--policy="projects/PROJECT_ID/locations/global/accessPolicies/POLICY_NAME" \
--target-resource="TARGET_RESOURCE" \
--project=PROJECT_ID \
--location=global
Sostituisci quanto segue:
BINDING_NAME: il nome del binding della policy-
PROJECT_ID: il tuo Google Cloud ID progetto -
POLICY_NAME: il nome della policy di accesso -
TARGET_RESOURCE: l'URI completo della risorsa per il progetto, formattato come segue://cloudresourcemanager.googleapis.com/projects/PROJECT_ID
API
Per associare un UAP a una risorsa di destinazione utilizzando l'API REST, invia una richiesta POST all'endpoint policyBindings:
curl -X POST \
"https://iam.googleapis.com/v3beta/projects/PROJECT_ID/locations/global/policyBindings?policyBindingId=BINDING_NAME" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"policy": "projects/PROJECT_ID/locations/global/accessPolicies/POLICY_NAME",
"target": {
"resource": "TARGET_RESOURCE"
}
}'
Sostituisci quanto segue:
PROJECT_ID: il tuo ID progettoBINDING_NAME: un nome per l'associazione della policyPOLICY_NAME: il nome dell'UAPTARGET_RESOURCE: l'URI completo della risorsa per il progetto, formattato nel seguente modo://cloudresourcemanager.googleapis.com/projects/PROJECT_ID
Elenca le policy e le associazioni delle policy
Puoi elencare tutti i criteri di accesso uniforme nel tuo progetto o tutti i binding dei criteri collegati a una risorsa di destinazione.
Elenca UAP
Console
- Nella console Google Cloud , vai alla pagina Policy.
- Tutte le UAP create nel tuo progetto vengono visualizzate nell'elenco della scheda Unified Access Policies.
gcloud
Per elencare le UAP nel tuo progetto, esegui questo comando:
gcloud iam access-policies list \ --project=PROJECT_ID \ --location=global
API
Per elencare le UAP utilizzando l'API REST, invia una richiesta GET all'endpoint
accessPolicies:
curl -X GET \ "https://iam.googleapis.com/v3beta/projects/PROJECT_ID/locations/global/accessPolicies" \ -H "Authorization: Bearer $(gcloud auth print-access-token)"
Elenca le associazioni delle policy
Console
Poiché le policy gestite tramite la console vengono associate automaticamente al progetto, devi utilizzare gcloud CLI o l'API REST per visualizzare le associazioni di policy.
gcloud
Per elencare i binding delle policy nel tuo progetto, esegui questo comando:
gcloud iam policy-bindings list \ --project=PROJECT_ID \ --location=global
Per filtrare le associazioni di policy in base a una risorsa di destinazione specifica, specifica il flag
--target-resource:
gcloud iam policy-bindings list \ --target-resource="TARGET_RESOURCE" \ --project=PROJECT_ID \ --location=global
API
Per elencare le associazioni di policy utilizzando l'API REST, invia una richiesta GET all'endpoint
policyBindings:
curl -X GET \ "https://iam.googleapis.com/v3beta/projects/PROJECT_ID/locations/global/policyBindings" \ -H "Authorization: Bearer $(gcloud auth print-access-token)"
Descrivi una policy o un'associazione di policy
Puoi recuperare la configurazione dettagliata e le regole di un'associazione di policy o di un UAP specifico.
Descrivere un UAP
Console
-
Nella console Google Cloud , vai alla pagina Policy:
- Nel selettore di progetti, seleziona il progetto che contiene gli Agent Gateway che utilizzeranno l'UAP.
- Nella tabella Policy dell'agente nella scheda UAP, individua la policy che vuoi descrivere.
- Nella riga relativa alla norma, fai clic su Altre azioni e poi su Visualizza regola.
gcloud
Per descrivere un UAP specifico, esegui questo comando:
gcloud iam access-policies describe POLICY_NAME \ --project=PROJECT_ID \ --location=global
API
Per recuperare un UAP specifico utilizzando l'API REST, invia una richiesta GET:
curl -X GET \ "https://iam.googleapis.com/v3beta/projects/PROJECT_ID/locations/global/accessPolicies/POLICY_NAME" \ -H "Authorization: Bearer $(gcloud auth print-access-token)"
Descrivi un'associazione di policy
Console
Poiché le policy gestite tramite la console vengono associate automaticamente al progetto, devi utilizzare gcloud CLI o l'API REST per visualizzare le associazioni di policy.
gcloud
Per descrivere un binding di policy specifico, esegui questo comando:
gcloud iam policy-bindings describe BINDING_NAME \ --project=PROJECT_ID \ --location=global
API
Per recuperare un binding di policy specifico utilizzando l'API REST, invia una richiesta GET:
curl -X GET \ "https://iam.googleapis.com/v3beta/projects/PROJECT_ID/locations/global/policyBindings/BINDING_NAME" \ -H "Authorization: Bearer $(gcloud auth print-access-token)"
Aggiorna le policy e le relative associazioni
Puoi aggiornare le regole all'interno di un UAP esistente o aggiornare la destinazione o la policy a cui fa riferimento un binding delle policy.
Aggiornare un UAP
Console
-
Nella console Google Cloud , vai alla pagina Policy:
- Nel selettore di progetti, seleziona il progetto che contiene gli Agent Gateway che utilizzeranno l'UAP.
- Nella tabella Policy dell'agente nella scheda UAP, individua la riga della policy da modificare.
- Fai clic su Altre azioni e poi su Modifica regola.
- Modifica le regole, l'effetto, le entità o le condizioni CEL.
- Fai clic su Salva.
gcloud
Per aggiornare un UAP esistente utilizzando gcloud CLI, salva le regole modificate in un file JSON ed esegui questo comando:
gcloud iam access-policies update POLICY_NAME \ --details-rules=POLICY_FILE.json \ --project=PROJECT_ID \ --location=global
API
Per aggiornare un UAP utilizzando l'API REST, invia una richiesta PATCH all'endpoint UAP:
curl -X PATCH \
"https://iam.googleapis.com/v3beta/projects/PROJECT_ID/locations/global/accessPolicies/POLICY_NAME?updateMask=details" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"details": {
"rules": [
{
"description": "RULE_DESCRIPTION",
"effect": "ALLOW",
"principals": [
"principal://agents.global.proj-PROJECT_NUMBER.system.id.goog/resources/aiplatform/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_NAME"
],
"operation": {
"permissions": [
"iap.resources.egressViaIAP"
]
}
}
]
}
}'
Aggiorna un'associazione di policy
Console
Per aggiornare un binding di policy, devi utilizzare gcloud CLI o l'API REST.
gcloud
Per aggiornare un binding di policy in modo che faccia riferimento a una policy o a una destinazione diversa, esegui questo comando:
gcloud iam policy-bindings update BINDING_NAME \ --policy="projects/PROJECT_ID/locations/global/accessPolicies/NEW_POLICY_NAME" \ --project=PROJECT_ID \ --location=global
API
Per aggiornare un'associazione di policy utilizzando l'API REST, invia una richiesta PATCH:
curl -X PATCH \
"https://iam.googleapis.com/v3beta/projects/PROJECT_ID/locations/global/policyBindings/BINDING_NAME?updateMask=policy" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"policy": "projects/PROJECT_ID/locations/global/accessPolicies/NEW_POLICY_NAME"
}'
Elimina policy e associazioni di policy
Elimina un binding delle policy
Console
Per eliminare un'associazione di policy, devi utilizzare gcloud CLI o l'API REST.
gcloud
Per eliminare un'associazione di policy, esegui questo comando:
gcloud iam policy-bindings delete BINDING_NAME \ --project=PROJECT_ID \ --location=global
API
Per eliminare un'associazione di policy utilizzando l'API REST, invia una richiesta DELETE:
curl -X DELETE \ "https://iam.googleapis.com/v3beta/projects/PROJECT_ID/locations/global/policyBindings/BINDING_NAME" \ -H "Authorization: Bearer $(gcloud auth print-access-token)"
Eliminare un UAP
Console
Per eliminare un UAP, devi eliminare tutte le regole al suo interno.
-
Nella console Google Cloud , vai alla pagina Policy:
- Nel selettore di progetti, seleziona il progetto che contiene gli Agent Gateway che utilizzeranno l'UAP.
- Nella tabella Policy agent della scheda Unified Access Policies, filtra Filtro o individua la policy che vuoi eliminare.
- Fai clic su Altre azioni e poi su Elimina regola.
gcloud
Per eliminare un UAP dopo aver eliminato le relative associazioni, esegui questo comando:
gcloud iam access-policies delete POLICY_NAME \ --project=PROJECT_ID \ --location=global
API
Per eliminare un UAP utilizzando l'API REST, invia una richiesta DELETE:
curl -X DELETE \ "https://iam.googleapis.com/v3beta/projects/PROJECT_ID/locations/global/accessPolicies/POLICY_NAME" \ -H "Authorization: Bearer $(gcloud auth print-access-token)"
Passaggi successivi
Configura le policy relative ai contenuti e all'attività
Scopri come configurare le norme relative ai contenuti e all'attività.