Creare e concedere ruoli agli agenti di servizio

In Google Cloud, gli agenti di servizio a livello di progetto, cartella e organizzazione vengono creati automaticamente man mano che abiliti e utilizzi i serviziGoogle Cloud . A volte, a questi service agent vengono concessi automaticamente anche ruoli che consentono loro di creare e accedere alle risorse per tuo conto.

Se necessario, puoi anche chiedere Google Cloud di creare service agent a livello di progetto, cartella e organizzazione per un servizio prima di utilizzarlo. La richiesta Google Cloud di creare service agent ti consente di concedere ruoli ai service agent prima di utilizzare un servizio. Se non è ancora stato creato un service agent, non puoi concedere ruoli al service agent.

Questa opzione è utile se utilizzi una delle seguenti strategie per gestire i criteri di autorizzazione:

  • Un framework dichiarativo come Terraform. Se la configurazione di Terraform non include i ruoli degli agenti di servizio, questi ruoli vengono revocati quando applichi la configurazione. Se crei service agent e assegni loro ruoli nella configurazione Terraform, ti assicuri che questi ruoli non vengano revocati.
  • Un sistema di norme come codice che memorizza copie delle tue norme di autorizzazione correnti in un repository di codice. Se consenti a Google Cloud di assegnare automaticamente i ruoli agli agenti di servizio, questi ruoli vengono visualizzati nel criterio di autorizzazione effettivo, ma non nella copia archiviata del criterio di autorizzazione. Per risolvere questa incoerenza, potresti revocare questi ruoli in modo errato. Se crei agenti di servizio e assegni loro ruoli in modo proattivo, puoi contribuire a evitare la deriva tra il repository di codice e i criteri di autorizzazione effettivi.

Dopo aver attivato la creazione dell'agente di servizio, devi concedere agli agenti di servizio i ruoli che in genere vengono concessi automaticamente. In caso contrario, alcuni servizi potrebbero non funzionare correttamente. Questo perché agli agenti di servizio creati su richiesta di un utente non vengono concessi automaticamente ruoli.

Prima di iniziare

  • Abilita le API Resource Manager e Workload Identity.

    Ruoli richiesti per abilitare le API

    Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo dei servizi (roles/serviceusage.serviceUsageAdmin), che include l'autorizzazione serviceusage.services.enable. Scopri come concedere i ruoli.

    Abilita le API

  • Informazioni sugli agenti di servizio.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per creare e concedere l'accesso agli agenti di servizio, chiedi all'amministratore di concederti i seguenti ruoli IAM per i progetti, le cartelle e le organizzazioni per cui stai creando agenti di servizio e a cui stai concedendo l'accesso:

Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questi ruoli predefiniti contengono le autorizzazioni necessarie per creare e concedere l'accesso agli agenti di servizio. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per creare e concedere l'accesso agli agenti di servizio sono necessarie le seguenti autorizzazioni:

  • Elenca i servizi disponibili e i relativi endpoint: serviceusage.services.list
  • Attiva service agent: workloadidentity.serviceAgents.create
  • Visualizza le operazioni a lunga esecuzione: workloadidentity.operations.get
  • Concedi agli agenti di servizio l'accesso a un progetto:
    • resourcemanager.projects.getIamPolicy
    • resourcemanager.projects.setIamPolicy
  • Concedi agli agenti di servizio l'accesso a una cartella:
    • resourcemanager.folders.getIamPolicy
    • resourcemanager.folders.setIamPolicy
  • Concedere agli agenti di servizio l'accesso a un'organizzazione:
    • resourcemanager.organizations.getIamPolicy
    • resourcemanager.organizations.setIamPolicy

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Identifica gli agenti di servizio da creare

Per identificare gli agenti di servizio da creare e le risorse per cui crearli, procedi nel seguente modo:

  1. Crea un elenco dei servizi che utilizzi e dei relativi endpoint API. Per visualizzare tutti i servizi disponibili e i relativi endpoint, utilizza uno dei seguenti metodi:

    Console

    Vai alla pagina Libreria API nella console Google Cloud .

    Vai alla libreria API

    L'endpoint API è il Nome servizio elencato nella sezione Dettagli aggiuntivi.

    gcloud

    Il comando gcloud services list elenca tutti i servizi disponibili per un progetto.

    Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:

    • EXPRESSION: (Facoltativo) Un'espressione per filtrare i risultati. Ad esempio, la seguente espressione filtra tutti i servizi i cui nomi contengono googleapis.com ma non contengono sandbox:

      name ~ googleapis.com AND name !~ sandbox

      Per un elenco di espressioni di filtro, vedi gcloud topic filters.

    • LIMIT: (Facoltativo) Il numero massimo di risultati da elencare. Il valore predefinito è unlimited.

    Esegui questo comando:

    Linux, macOS o Cloud Shell

    gcloud services list --available --filter='EXPRESSION' --limit=LIMIT

    Windows (PowerShell)

    gcloud services list --available --filter='EXPRESSION' --limit=LIMIT

    Windows (cmd.exe)

    gcloud services list --available --filter='EXPRESSION' --limit=LIMIT

    La risposta contiene i nomi e i titoli di tutti i servizi disponibili. L'endpoint API è il valore nel campo NAME.

    REST

    Il metodo services.list dell'API Service Usage elenca tutti i servizi disponibili per un progetto.

    Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:

    • RESOURCE_TYPE: il tipo di risorsa per cui vuoi elencare i servizi disponibili. Utilizza projects, folders o organizations.
    • RESOURCE_ID: L'ID del Google Cloud progetto, della cartella o dell'organizzazione per cui vuoi elencare i servizi disponibili. Gli ID progetto sono stringhe alfanumeriche, come my-project. Gli ID cartella e organizzazione sono numerici, ad esempio 123456789012.
    • PAGE_SIZE: (Facoltativo) Il numero di servizi da includere nella risposta. Il valore predefinito è 50 e il valore massimo è 200. Se il numero di servizi è maggiore della dimensione della pagina, la risposta contiene un token di paginazione che puoi utilizzare per recuperare la pagina successiva dei risultati.
    • NEXT_PAGE_TOKEN: (Facoltativo) Il token di paginazione restituito in una risposta precedente da questo metodo. Se specificato, l'elenco dei servizi inizierà dal punto in cui è terminata la richiesta precedente.

    Metodo HTTP e URL:

    GET https://serviceusage.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/services?pageSize=PAGE_SIZE&pageToken=NEXT_PAGE_TOKEN

    Per inviare la richiesta, espandi una di queste opzioni:

    La risposta contiene i nomi e i titoli di tutti i servizi disponibili per la risorsa. Se il numero di servizi disponibili è maggiore della dimensione della pagina, la risposta contiene anche un token di paginazione.

    L'endpoint API è il valore nel campo name.

  2. Per ogni endpoint API che utilizzerai, crea un elenco delle risorse in cui devi creare i service agent dell'endpoint:

    1. Nella pagina Riferimento agente di servizio, cerca ogni endpoint API per trovare tutti gli agenti di servizio per quell'endpoint.

      Alcuni endpoint potrebbero non avere agenti di servizio associati. Puoi saltare l'attivazione della creazione di agenti di servizio per questi endpoint.

    2. Per ciascuno dei service agent dell'endpoint, utilizza l'indirizzo email del service agent per determinare dove devi creare il service agent.

      Il segnaposto nell'indirizzo email di un service agent indica dove devi creare il service agent:

      Segnaposto Dove creare il service agent
      PROJECT_NUMBER Ogni progetto in cui utilizzerai il servizio
      FOLDER_NUMBER Ogni cartella in cui utilizzerai il servizio
      ORGANIZATION_NUMBER Ogni organizzazione in cui utilizzerai il servizio
    3. Per ogni endpoint, registra ogni risorsa univoca in cui devi creare service agent per quell'endpoint.

Attivare la creazione del service agent

Dopo aver stabilito quali agenti di servizio devi creare, puoi chiedere aGoogle Cloud di crearli.

Quando chiedi a Google Cloud di creare service agent, fornisci un servizio e una risorsa. Poi, Google Cloud crea tutti i service agent per quel servizio e quella risorsa.

Durante questo passaggio, se utilizzi gcloud CLI o l'API REST, puoi anche creare un elenco dei ruoli da concedere a ogni service agent. Utilizzerai queste informazioni per concedere ruoli agli agenti di servizio. Se utilizzi Terraform, non devi tenere traccia manualmente dei ruoli richiesti perché puoi farvi riferimento in modo programmatico.

gcloud

Utilizza il comando gcloud workload-identity service-agents generate per creare service agent per ogni endpoint e risorsa che hai identificato in Identifica i service agent da creare.

Ogni volta che esegui il comando, esamina la risposta. Per ogni ruolo nella risposta, registra l'indirizzo email del service agent a cui deve essere concesso il ruolo. Utilizzerai queste informazioni per concedere ruoli agli agenti del servizio.

Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:

  • ENDPOINT: l'endpoint dell'API per cui vuoi creare agenti di servizio, ad esempio aiplatform.googleapis.com.
  • RESOURCE_TYPE: il tipo di risorsa per cui vuoi creare service agent. Utilizza project, folder o organization.
  • RESOURCE_ID: L'ID numerico del progetto, della cartella o dell'organizzazione per cui vuoi creare agenti di servizio. Google CloudAd esempio: 123456789012.

    Puoi creare agenti di servizio per una risorsa alla volta. Se devi creare agenti di servizio per più risorse, esegui il comando una volta per ogni risorsa.

Esegui questo comando:

Linux, macOS o Cloud Shell

gcloud workload-identity service-agents generate --service="ENDPOINT" \
    --location="global" --RESOURCE_TYPE="RESOURCE_ID"

Windows (PowerShell)

gcloud workload-identity service-agents generate --service="ENDPOINT" `
    --location="global" --RESOURCE_TYPE="RESOURCE_ID"

Windows (cmd.exe)

gcloud workload-identity service-agents generate --service="ENDPOINT" ^
    --location="global" --RESOURCE_TYPE="RESOURCE_ID"

La risposta contiene un elenco di tutti gli agenti di servizio creati. Per ogni service agent, la risposta elenca la risorsa per cui è stato creato, l'indirizzo email del service agent, il servizio a cui è associato e il relativo stato. Se al service agent viene in genere concesso un ruolo specifico, la risposta elenca anche quel ruolo.

Il ruolo elencato non viene concesso automaticamente al service agent. Per ogni ruolo nella risposta, registra l'indirizzo email del service agent a cui deve essere concesso il ruolo. Utilizzerai queste informazioni per concedere ruoli ai service agent.

Di seguito è riportato un esempio troncato della risposta per la creazione di agenti di servizio per aiplatform.googleapis.com.

Provisioned service agents for aiplatform.googleapis.com under projects/123456789012:

container: projects/123456789012
principal: serviceAccount:service-123456789012@gcp-sa-aiplatform.iam.gserviceaccount.com
role: roles/aiplatform.serviceAgent
serviceProducer: aiplatform.googleapis.com
state: ACTIVE
----
container: projects/123456789012
principal: serviceAccount:service-123456789012@gcp-ri-aiplatform.iam.gserviceaccount.com
serviceProducer: aiplatform.googleapis.com
state: ACTIVE
----
...
----
container: projects/123456789012
principal: serviceAccount:service-123456789012@gcp-sa-vertex-vtc.iam.gserviceaccount.com
role: roles/aiplatform.trainingClusterServiceAgent
serviceProducer: aiplatform.googleapis.com
state: ACTIVE
----

Terraform

Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base. Per saperne di più, consulta la documentazione di riferimento del fornitore Terraform.

Utilizza la risorsa google_workload_identity_service_agent per attivare la creazione di agenti di servizio per ogni endpoint e risorsa che hai identificato in Identifica gli agenti di servizio da creare.

Ad esempio, se vuoi creare tutti gli agenti di servizio a livello di progetto per BigQuery per il progetto predefinito, puoi aggiungere il seguente codice alla configurazione Terraform:

data "google_project" "default" {
}

# Create all project-level bigquery.googleapis.com service agents
resource "google_workload_identity_service_agent" "primary" {
  parent = "projects/${data.google_project.default.number}/locations/global/serviceProducers/bigquery.googleapis.com"
}

REST

Per ogni endpoint per cui devi creare agenti di servizio, procedi nel seguente modo:

  1. Crea agenti di servizio per ogni risorsa che hai identificato in Identifica gli agenti di servizio da creare:

    Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:

    • RESOURCE_TYPE: il tipo di risorsa per cui vuoi creare service agent. Utilizza projects, folders o organizations.
    • RESOURCE_NUMERIC_ID: l'ID numerico del Google Cloud progetto, della cartella o dell'organizzazione per cui vuoi creare service agent. Ad esempio: 123456789012.

      Puoi creare agenti di servizio per una risorsa alla volta. Se devi creare service agent per più risorse, invia una richiesta per ogni risorsa.

    • ENDPOINT: l'endpoint dell'API per cui vuoi creare un service agent, ad esempio aiplatform.googleapis.com.

    Metodo HTTP e URL:

    POST https://workloadidentity.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_NUMERIC_ID/locations/global/serviceProducers/ENDPOINT:generateServiceAgents

    Per inviare la richiesta, espandi una di queste opzioni:

    La risposta contiene un Operation che indica lo stato della tua richiesta. Ad esempio:

    {
      "name": "projects/123456789012/locations/global/operations/operation-1775250941060-64e94d1baa76d-1aa958f3-07b2ea9c",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.workloadidentity.v1.OperationMetadata",
        "createTime": "2026-04-03T21:15:41.367155118Z",
        "target": "projects/123456789012/locations/global/serviceProducers/bigquery.googleapis.com",
        "verb": "passthroughLro",
        "requestedCancellation": false,
        "apiVersion": "v1"
      },
      "done": false
    }
    

  2. Ricevi la risposta dall'operazione completata. Per ogni ruolo nella risposta, registra l'indirizzo email del service agent a cui deve essere concesso il ruolo. Utilizzerai queste informazioni per concedere ruoli agli agenti del servizio.

    Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:

    • OPERATION_NAME: il nome di un'operazione generateServiceAgents. Copia questo valore dal campo name di una risposta serviceProducers.generateServiceAgents. Ad esempio: projects/123456789012/locations/global/operations/operation-1775250941060-64e94d1baa76d-1aa958f3-07b2ea9c
    • PROJECT_ID: l'ID progetto Google Cloud . Gli ID progetto sono stringhe alfanumeriche, come my-project.

    Metodo HTTP e URL:

    GET https://workloadidentity.googleapis.com/v1/OPERATION_NAME

    Per inviare la richiesta, espandi una di queste opzioni:

    Le operazioni in corso restituiscono una risposta simile alla seguente:

    {
      "name": "projects/123456789012/locations/global/operations/operation-1775258415970-64e968f44b91a-28fcf2f5-38367cfe",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.workloadidentity.v1.OperationMetadata",
        "createTime": "2026-04-03T23:20:15.982631253Z",
        "target": "projects/123456789012/locations/global/serviceProducers/aiplatform.googleapis.com",
        "verb": "passthroughLro",
        "requestedCancellation": false,
        "apiVersion": "v1"
      },
      "done": false
    }
    

    Le operazioni completate restituiscono una risposta contenente un elenco di service agent che sono stati creati. Per ogni agente di servizio, la risposta elenca la risorsa per cui è stato creato, l'indirizzo email dell'agente di servizio, il servizio a cui è associato l'agente di servizio e lo stato dell'agente di servizio. Se al service agent viene in genere concesso un ruolo specifico, la risposta elenca anche questo ruolo.

    Il ruolo elencato non viene concesso automaticamente al service agent. Per ogni ruolo nella risposta, registra l'indirizzo email del service agent a cui deve essere concesso il ruolo. Utilizzerai queste informazioni per concedere ruoli ai service agent.

    Di seguito è riportato un esempio troncato della risposta per la creazione di agenti di servizio per aiplatform.googleapis.com.

    {
      "name": "projects/123456789012/locations/global/operations/operation-1775258415970-64e968f44b91a-28fcf2f5-38367cfe",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.workloadidentity.v1.OperationMetadata",
        "createTime": "2026-04-03T23:20:15.982631253Z",
        "endTime": "2026-04-03T23:20:17.315225515Z",
        "target": "projects/123456789012/locations/global/serviceProducers/aiplatform.googleapis.com",
        "verb": "passthroughLro",
        "requestedCancellation": false,
        "apiVersion": "v1"
      },
      "done": true,
      "response": {
        "@type": "type.googleapis.com/google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse",
        "serviceAgents": [
          {
            "container": "projects/123456789012",
            "serviceProducer": "aiplatform.googleapis.com",
            "principal": "serviceAccount:service-123456789012@gcp-sa-aiplatform.iam.gserviceaccount.com",
            "role": "roles/aiplatform.serviceAgent",
            "state": "ACTIVE"
          },
          {
            "container": "projects/123456789012",
            "serviceProducer": "aiplatform.googleapis.com",
            "principal": "serviceAccount:service-123456789012@gcp-ri-aiplatform.iam.gserviceaccount.com",
            "state": "ACTIVE"
          },
          ...
          {
            "container": "projects/123456789012",
            "serviceProducer": "aiplatform.googleapis.com",
            "principal": "serviceAccount:service-123456789012@gcp-sa-vertex-vtc.iam.gserviceaccount.com",
            "role": "roles/aiplatform.trainingClusterServiceAgent",
            "state": "ACTIVE"
          }
        ]
      }
    }
    

Concedere ruoli ai service agent

Dopo che Google Cloud crea gli agenti di servizio necessari per i tuoi progetti, cartelle e organizzazioni, utilizzi gli indirizzi email degli agenti di servizio per concedere loro i ruoli.

Se hai chiesto Google Cloud di creare agenti di servizio, devi concedere a questi agenti di servizio i ruoli che in genere vengono concessi automaticamente. In caso contrario, alcuni servizi potrebbero non funzionare correttamente. Questo perché ai service agent creati su richiesta di un utente non vengono concessi automaticamente i ruoli.

Console

Utilizza l'elenco di ruoli e service agent che hai creato in Attiva la creazione di service agent per identificare a quali service agent devono essere concessi i ruoli. Per ogni service agent che necessita di un ruolo:

  1. Nella console Google Cloud vai alla pagina IAM.

    Vai a IAM

  2. Seleziona un progetto, una cartella o un'organizzazione per cui hai creato l'agente di servizio.

  3. Fai clic su Concedi accesso, quindi inserisci l'indirizzo email dell'agente di servizio.

  4. Fai clic su Seleziona un ruolo, quindi inserisci il nome di un ruolo o di un'autorizzazione per filtrare un ruolo da concedere. Per seguire il principio del privilegio minimo, scegli un ruolo che includa solo le autorizzazioni necessarie all'entità.

  5. Fai clic su Salva. Al service agent viene concesso il ruolo sulla risorsa.

gcloud

Utilizza l'elenco di ruoli e service agent che hai creato in Attiva la creazione di service agent per identificare a quali service agent devono essere concessi i ruoli. Per ogni service agent che necessita di un ruolo, utilizza il comando add-iam-policy-binding per concedere il ruolo al service agent.

Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:

  • RESOURCE_TYPE: il tipo di risorsa a cui vuoi gestire l'accesso. Utilizza projects, resource-manager folders o organizations.

  • RESOURCE_ID: l'ID progetto, cartella o organizzazione Google Cloud . Gli ID progetto sono alfanumerici, ad esempio my-project. Gli ID cartella e organizzazione sono numerici, ad esempio 123456789012.

  • PRINCIPAL: l'indirizzo email dell'agente di servizio a cui vuoi concedere l'accesso, preceduto da serviceAccount:. Ad esempio, serviceAccount:service-0123456789012@gcp-sa-aiplatform-cc.iam.gserviceaccount.com.

  • ROLE_NAME: il nome del ruolo che vuoi concedere all'agente di servizio.

Esegui questo comando:

Linux, macOS o Cloud Shell

gcloud RESOURCE_TYPE add-iam-policy-binding RESOURCE_ID \
    --member=PRINCIPAL --role=ROLE_NAME \
    --condition=CONDITION

Windows (PowerShell)

gcloud RESOURCE_TYPE add-iam-policy-binding RESOURCE_ID `
    --member=PRINCIPAL --role=ROLE_NAME `
    --condition=CONDITION

Windows (cmd.exe)

gcloud RESOURCE_TYPE add-iam-policy-binding RESOURCE_ID ^
    --member=PRINCIPAL --role=ROLE_NAME ^
    --condition=CONDITION

La risposta contiene la policy di autorizzazione IAM aggiornata.

Terraform

Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base. Per saperne di più, consulta la documentazione di riferimento del fornitore Terraform.

Per concedere ruoli agli agenti di servizio:

  1. Per ogni risorsa google_workload_identity_service_agent, concedi i ruoli associati ai service agent.

    Ad esempio, se vuoi concedere ruoli a tutti gli agenti di servizio per la risorsa google_workload_identity_service_agent.primary, puoi aggiungere il seguente codice alla configurazione Terraform:

    # Grant roles to BigQuery service agents for project
    resource "google_project_iam_member" "service_agents" {
      for_each = {
        for i, agent in google_workload_identity_service_agent.primary.service_agents :
        i => agent if try(agent.role, "") != ""
      }
      project = data.google_project.default.project_id
      role    = each.value.role
      member  = each.value.principal
    }
  2. Esegui un comando terraform apply mirato per la risorsa google_workload_identity_service_agent che hai aggiunto nella sezione Creazione dell'agente di servizio trigger di questa pagina.

    Ad esempio, se hai aggiunto una risorsa denominata google_workload_identity_service_agent.primary, esegui il seguente comando:

    terraform apply target="google_workload_identity_service_agent.primary"

    L'esecuzione di questo comando garantisce che la risorsa google_project_iam_member possa fare riferimento alle risorse dell'agente di servizio senza generare errori Known After Apply.

  3. Esegui il comando terraform plan per la configurazione di Terraform. Questo comando mostra il piano di esecuzione per la concessione dei ruoli agli agenti di servizio. Se il piano di esecuzione ti sembra corretto, esegui terraform apply per applicarlo.

REST

Utilizza l'elenco di ruoli e service agent che hai creato in Attiva la creazione di service agent per identificare a quali service agent devono essere concessi i ruoli. Per concedere ruoli agli agenti di servizio, utilizza il pattern di lettura, modifica e scrittura per aggiornare il criterio di autorizzazione della risorsa:

  1. Leggi la policy di autorizzazione corrente chiamando getIamPolicy.

    Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:

    • API_VERSION: la versione dell'API da utilizzare. Per progetti e organizzazioni, utilizza v1. Per le cartelle, utilizza v2.
    • RESOURCE_TYPE: il tipo di risorsa di cui vuoi gestire il criterio. Utilizza il valore projects, folders o organizations.
    • RESOURCE_ID: l'ID Google Cloud del progetto, dell'organizzazione o della cartella. Gli ID progetto sono stringhe alfanumeriche, comemy-project. Gli ID cartella e organizzazione sono numerici, ad esempio 123456789012.
    • POLICY_VERSION: la versione delle norme da restituire. Le richieste devono specificare la versione delle norme più recente, ovvero la versione 3. Per ulteriori dettagli, consulta Specifica di una versione delle norme durante il recupero di una norma.

    Metodo HTTP e URL:

    POST https://cloudresourcemanager.googleapis.com/API_VERSION/RESOURCE_TYPE/RESOURCE_ID:getIamPolicy

    Corpo JSON della richiesta:

    {
      "options": {
        "requestedPolicyVersion": POLICY_VERSION
      }
    }
    

    Per inviare la richiesta, espandi una di queste opzioni:

    La risposta contiene il criterio di autorizzazione della risorsa. Ad esempio:

    {
      "version": 1,
      "etag": "BwWKmjvelug=",
      "bindings": [
        {
          "role": "roles/owner",
          "members": [
            "user:my-user@example.com"
          ]
        }
      ]
    }
    

  2. Per ogni service agent a cui vuoi concedere un ruolo, crea un'associazione di ruolo che conceda al service agent il ruolo richiesto. Ad esempio, il seguente binding del ruolo concede all'agente di servizio del codice personalizzato AI Platform il ruolo di agente di servizio del codice personalizzato Vertex AI (roles/aiplatform.customCodeServiceAgent):

      {
        "role": "roles/aiplatform.customCodeServiceAgent",
        "members": [
          "serviceAccount:service-PROJECT_NUMBER@gcp-sa-aiplatform-cc.iam.gserviceaccount.com",
        ]
      }
    

    Se il criterio di autorizzazione ha già un'associazione di ruolo per il ruolo richiesto, aggiungi il service agent all'elenco members per questa associazione di ruolo.

  3. Scrivi la policy di autorizzazione aggiornata chiamando setIamPolicy.

    Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:

    • API_VERSION: la versione dell'API da utilizzare. Per progetti e organizzazioni, utilizza v1. Per le cartelle, utilizza v2.
    • RESOURCE_TYPE: il tipo di risorsa di cui vuoi gestire il criterio. Utilizza il valore projects, folders o organizations.
    • RESOURCE_ID: l'ID Google Cloud del progetto, dell'organizzazione o della cartella. Gli ID progetto sono stringhe alfanumeriche, comemy-project. Gli ID cartella e organizzazione sono numerici, ad esempio 123456789012.
    • POLICY: una rappresentazione JSON della policy che vuoi impostare. Per ulteriori informazioni sul formato di una policy, consulta il riferimento alle policy.

    Metodo HTTP e URL:

    POST https://cloudresourcemanager.googleapis.com/API_VERSION/RESOURCE_TYPE/RESOURCE_ID:setIamPolicy

    Corpo JSON della richiesta:

    {
      "policy": POLICY
    }
    

    Per inviare la richiesta, espandi una di queste opzioni:

    La risposta contiene la policy di autorizzazione aggiornata.

Passaggi successivi