Gestisci le policy di accesso unificato IAM

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:

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

  1. Nella console Google Cloud , vai alla pagina Policy:

    Vai a Policy

  2. Nel selettore di progetti, seleziona il progetto che contiene gli Agent Gateway che utilizzeranno l'UAP.
  3. Per aggiungere un UAP IAM per l'uscita di Agent Gateway, fai clic su Crea.
  4. Nel riquadro Dettagli policy, segui questi passaggi:
    1. Fai clic sul campo Policy.
    2. Nell'elenco a discesa, seleziona Crea nuova policy.
    3. Nel campo Nome policy, inserisci un nome descrittivo per la policy.
    4. 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.
    5. 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 progetto
  • POLICY_NAME: l'ID della nuova policy
  • PROJECT_NUMBER: il numero del progetto
  • LOCATION: la posizione dell'agente
  • AGENT_NAME: l'ID dell'agente di origine
  • CEL_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 progetto
  • BINDING_NAME: un nome per l'associazione della policy
  • POLICY_NAME: il nome dell'UAP
  • TARGET_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

  1. Nella console Google Cloud , vai alla pagina Policy.
  2. 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

  1. Nella console Google Cloud , vai alla pagina Policy:

    Vai a Policy

  2. Nel selettore di progetti, seleziona il progetto che contiene gli Agent Gateway che utilizzeranno l'UAP.
  3. Nella tabella Policy dell'agente nella scheda UAP, individua la policy che vuoi descrivere.
  4. 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

  1. Nella console Google Cloud , vai alla pagina Policy:

    Vai a Policy

  2. Nel selettore di progetti, seleziona il progetto che contiene gli Agent Gateway che utilizzeranno l'UAP.
  3. Nella tabella Policy dell'agente nella scheda UAP, individua la riga della policy da modificare.
  4. Fai clic su Altre azioni e poi su Modifica regola.
  5. Modifica le regole, l'effetto, le entità o le condizioni CEL.
  6. 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.

  1. Nella console Google Cloud , vai alla pagina Policy:

    Vai a Policy

  2. Nel selettore di progetti, seleziona il progetto che contiene gli Agent Gateway che utilizzeranno l'UAP.
  3. Nella tabella Policy agent della scheda Unified Access Policies, filtra Filtro o individua la policy che vuoi eliminare.
  4. 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

Panoramica

Ottieni una panoramica di Agent Gateway.

Guida

Scopri come configurare le norme relative ai contenuti e all'attività.

Guida

Scopri come testare le policy.