Creare e concedere ruoli agli agenti di servizio

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

Se necessario, puoi anche chiedere a Google Cloud di creare agenti di servizio a livello di progetto, di cartella e di organizzazione per un servizio prima di utilizzarlo. Chiedere a Google Cloud di creare agenti di servizio ti consente di assegnare ruoli agli agenti di servizio prima di utilizzare un servizio. Se un agente di servizio non è stato ancora creato, non puoi concedergli i ruoli.

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 agenti di servizio e concedi loro ruoli nella configurazione Terraform, ti assicuri che questi ruoli non vengano revocati.
  • Un sistema di norme come codice che memorizza copie delle norme consentite attuali in un repository di codice. Se consenti a Google Cloud di concedere 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 erroneamente questi ruoli. Creando agenti di servizio e concedendo loro ruoli in modo proattivo, puoi contribuire a evitare la deriva tra il tuo repository di codice e i tuoi criteri di autorizzazione effettivi.

Dopo aver attivato la creazione degli agenti 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 assegnati automaticamente i ruoli.

Prima di iniziare

Ruoli obbligatori

L'attivazione della creazione dell'agente di servizio non richiede autorizzazioni IAM. Tuttavia, sono necessarie autorizzazioni IAM specifiche per altre attività in questa pagina:

  • Per ottenere l'autorizzazione necessaria per elencare i servizi disponibili e i relativi endpoint, chiedi all'amministratore di concederti il ruolo IAM Visualizzatore utilizzo servizio (roles/serviceusage.serviceUsageViewer) per il progetto, la cartella o l'organizzazione per cui vuoi elencare i servizi disponibili. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.

    Questo ruolo predefinito contiene l'autorizzazione serviceusage.services.list necessaria per elencare i servizi disponibili e i relativi endpoint.

    Potresti anche ottenere questa autorizzazione con ruoli personalizzati o altri ruoli predefiniti.

  • Per ottenere le autorizzazioni necessarie per concedere l'accesso agli agenti di servizio, chiedi all'amministratore di concederti i seguenti ruoli IAM per il progetto, la cartella o l'organizzazione a cui stai concedendo l'accesso:

    • Concedi agli agenti di servizio l'accesso a un progetto: Project IAM Admin (roles/resourcemanager.projectIamAdmin)
    • Concedi agli agenti di servizio l'accesso a una cartella: Amministratore cartella (roles/resourcemanager.folderAdmin)
    • Concedi agli agenti di servizio l'accesso a progetti, cartelle e organizzazioni: Amministratore dell'organizzazione (roles/resourcemanager.organizationAdmin)

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

    Questi ruoli predefiniti contengono le autorizzazioni necessarie per concedere l'accesso agli agenti di servizio. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:

    Autorizzazioni obbligatorie

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

    • 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
    • Concedi 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 a livello di progetto, cartella e organizzazione che devi chiedere a Google Cloud di creare:

  1. Elenca i servizi che utilizzi e i 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 del 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 per 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 il seguente 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 dell'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 seguenti sostituzioni:

    • RESOURCE_TYPE: il tipo di risorsa per la quale vuoi elencare i servizi disponibili. Utilizza projects, folders o organizations.
    • RESOURCE_ID: l'ID del progetto, della cartella o dell'organizzazione Google Cloud per cui vuoi elencare i servizi disponibili. Gli ID progetto sono stringhe alfanumeriche, ad esempio 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 del numero di elementi per pagina, la risposta contiene un token di paginazione che puoi utilizzare per recuperare la pagina di risultati successiva.
    • NEXT_PAGE_TOKEN: facoltativo. Il token di pagina restituito in una risposta precedente di questo metodo. Se specificato, l'elenco dei servizi inizierà dove è 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 delle dimensioni della pagina, la risposta contiene anche un token di paginazione.

    L'endpoint API è il valore nel campo name.

  2. Nella pagina Service Agent Reference (Riferimento all'agente di servizio), cerca ogni endpoint API.

    Se l'endpoint è elencato nella tabella, trova tutti gli agenti di servizio per quell'endpoint. Ignora gli agenti di servizio il cui indirizzo email contiene il segnaposto IDENTIFIER. Questi agenti di servizio sono destinati alle risorse specifiche del servizio, non a progetti, cartelle o organizzazioni.

    Per ogni agente di servizio a livello di progetto, cartella e organizzazione, registra quanto segue:

    • Il formato dell'indirizzo email dell'agente di servizio.
    • Il ruolo concesso all'agente di servizio, se presente.

Attivare la creazione dell'agente di servizio

Una volta che sai quali agenti di servizio devi creare, puoi chiedere a Google Cloud di farlo.

Quando chiedi a Google Cloud di creare agenti di servizio, fornisci un servizio e una risorsa. Google Cloud crea quindi tutti gli agenti di servizio per quel servizio e quella risorsa.

gcloud

Per ogni servizio per cui devi creare agenti di servizio, svolgi i seguenti passaggi:

  1. Controlla gli indirizzi email degli agenti di servizio per il servizio. Utilizza i segnaposto negli indirizzi email per determinare per quali risorse devi creare agenti di servizio:

    Segnaposto Dove creare gli agenti di servizio
    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

  2. Crea agenti di servizio per ogni risorsa.

    Il comando gcloud beta services identity create crea tutti gli agenti di servizio per l'API e la risorsa specificate.

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

    • ENDPOINT: l'endpoint dell'API per cui vuoi creare un agente di servizio, ad esempio aiplatform.googleapis.com.
    • RESOURCE_TYPE: il tipo di risorsa per la quale vuoi creare un agente di servizio. Utilizza project, folder o organization.
    • RESOURCE_ID: l'ID del progetto, della cartella o dell'organizzazione Google Cloud per cui vuoi creare un agente di servizio. Gli ID progetto sono stringhe alfanumeriche, ad esempio my-project. Gli ID cartella e organizzazione sono numerici, ad esempio 123456789012.

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

    Esegui il seguente comando:

    Linux, macOS o Cloud Shell

    gcloud beta services identity create --service=ENDPOINT \
        --RESOURCE_TYPE=RESOURCE_ID

    Windows (PowerShell)

    gcloud beta services identity create --service=ENDPOINT `
        --RESOURCE_TYPE=RESOURCE_ID

    Windows (cmd.exe)

    gcloud beta services identity create --service=ENDPOINT ^
        --RESOURCE_TYPE=RESOURCE_ID

    La risposta contiene l'indirizzo email dell'agente di servizio principale del servizio. Questo indirizzo email include l'ID numerico del progetto, della cartella o dell'organizzazione per cui hai creato gli agenti di servizio.

    Se il servizio non ha un agente di servizio principale, la risposta non contiene un indirizzo email.

    Di seguito è riportato un esempio di risposta per un servizio con un agente di servizio principale.

    Service identity created: service-232332569935@gcp-sa-aiplatform.iam.gserviceaccount.com
    

  3. (Facoltativo) Registra l'indirizzo email dell'agente di servizio nella risposta, se presente. Questo indirizzo email identifica l'agente di servizio principale del servizio. Puoi utilizzare questo identificatore per concedere i ruoli all'agente di servizio principale.

Terraform

Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base. Per ulteriori informazioni, consulta la Terraform documentazione di riferimento del provider.

Per ogni servizio per cui devi creare agenti di servizio, svolgi i seguenti passaggi:

  1. Controlla gli indirizzi email degli agenti di servizio per il servizio. Utilizza i segnaposto negli indirizzi email per determinare per quali risorse devi creare agenti di servizio:

    Segnaposto Dove creare gli agenti di servizio
    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

  2. Crea agenti di servizio per ogni risorsa. Ad esempio, il codice seguente crea tutti gli agenti di servizio a livello di progetto per AI Platform:

data "google_project" "default" {
}

# Create all project-level aiplatform.googleapis.com service agents
resource "google_project_service_identity" "default" {
  provider = google-beta

  project = data.google_project.default.project_id
  service = "aiplatform.googleapis.com"
}

REST

Per ogni servizio per cui devi creare agenti di servizio, svolgi i seguenti passaggi:

  1. Controlla gli indirizzi email degli agenti di servizio per il servizio. Utilizza i segnaposto negli indirizzi email per determinare per quali risorse devi creare agenti di servizio:

    Segnaposto Dove creare gli agenti di servizio
    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

  2. Crea agenti di servizio per ogni risorsa.

    Il metodo services.generateServiceIdentity dell'API Service Usage crea tutti gli agenti di servizio per l'API e la risorsa specificate.

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

    • RESOURCE_TYPE: il tipo di risorsa per la quale vuoi creare un agente di servizio. Utilizza projects, folders o organizations.
    • RESOURCE_ID: l'ID del progetto, della cartella o dell'organizzazione Google Cloud per cui vuoi creare agenti di servizio. Gli ID progetto sono stringhe alfanumeriche, ad esempio my-project. Gli ID cartella e organizzazione sono numerici, ad esempio 123456789012.

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

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

    Metodo HTTP e URL:

    POST https://serviceusage.googleapis.com/v1beta1/RESOURCE_TYPE/RESOURCE_ID/services/ENDPOINT:generateServiceIdentity

    Per inviare la richiesta, espandi una di queste opzioni:

    La risposta contiene un Operation che indica lo stato della richiesta. Per controllare lo stato dell'operazione, utilizza il metodo operations.get.

    Le operazioni completate contengono l'indirizzo email dell'agente di servizio principale del servizio. Questo indirizzo email include l'ID numerico del progetto, della cartella o dell'organizzazione per cui hai creato gli agenti di servizio.

    Se il servizio non ha un agente di servizio principale, la risposta non contiene un indirizzo email.

    Di seguito è riportato un esempio di operazione completata per un servizio che ha un agente di servizio primario.

    {
      "name": "operations/finished.DONE_OPERATION",
      "done": true,
      "response": {
        "@type": "type.googleapis.com/google.api.serviceusage.v1beta1.ServiceIdentity",
        "email": "service-232332569935@gcp-sa-aiplatform.iam.gserviceaccount.com",
        "uniqueId": "112245693826560101651"
      }
    }
    

  3. (Facoltativo) Registra l'indirizzo email dell'agente di servizio nella risposta, se presente. Questo indirizzo email identifica l'agente di servizio principale del servizio. Puoi utilizzare questo identificatore per concedere i ruoli all'agente di servizio principale.

Concedi i ruoli agli agenti di servizio

Dopo che Google Cloud ha creato gli agenti di servizio necessari per i tuoi progetti, le tue cartelle e le tue organizzazioni, utilizza gli indirizzi email degli agenti di servizio per conceder loro i ruoli.

Se hai chiesto a Google Cloud di creare agenti di servizio, devi concedere a questi agenti 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 i ruoli.

Per scoprire come identificare i ruoli concessi automaticamente, consulta Identificare gli agenti di servizio da creare.

Trovare l'indirizzo email dell'agente di servizio

Per trovare l'indirizzo email di un agente di servizio:

gcloud

  1. Se non l'hai ancora fatto, individua il formato dell'indirizzo email dell'agente di servizio. Questo formato è descritto nella documentazione di riferimento per gli agenti di servizio.

  2. Sostituisci eventuali segnaposto nell'indirizzo email con il numero corrispondente del progetto, della cartella o dell'organizzazione.

In alternativa, se l'agente di servizio è un agente di servizio primario, puoi ottenere il suo indirizzo email attivando la creazione dell'agente di servizio per il servizio. Il comando per attivare la creazione dell'agente di servizio restituisce l'indirizzo email dell'agente di servizio principale.

Terraform

Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base. Per ulteriori informazioni, consulta la Terraform documentazione di riferimento del provider.

  1. Se non l'hai ancora fatto, individua il formato dell'indirizzo email dell'agente di servizio. Questo formato è descritto nella documentazione di riferimento per gli agenti di servizio.

  2. Sostituisci eventuali segnaposto nell'indirizzo email con espressioni che fanno riferimento al progetto, alla cartella o al numero dell'organizzazione appropriati.

    Ad esempio, considera la seguente situazione:

    • Il formato dell'indirizzo email è service-PROJECT_NUMBER@gcp-sa-aiplatform-cc.iam.gserviceaccount.com
    • L'agente di servizio è destinato a un progetto etichettato come default

    In questo caso, l'indirizzo email dell'agente di servizio è il seguente:

    service-${data.google_project.default.number}@gcp-sa-aiplatform-cc.iam.gserviceaccount.com
    

In alternativa, se un agente di servizio è l'agente di servizio principale per un servizio, puoi recuperare il suo indirizzo email dall'attributo email della risorsa google_project_service_identity.

Ad esempio, se hai un blocco google_project_service_identity etichettato default, puoi ottenere l'indirizzo email dell'agente di servizio principale del servizio utilizzando la seguente espressione:

${google_project_service_identity.default.email}

REST

  1. Se non l'hai ancora fatto, individua il formato dell'indirizzo email dell'agente di servizio. Questo formato è descritto nella documentazione di riferimento per gli agenti di servizio.

  2. Sostituisci eventuali segnaposto nell'indirizzo email con il numero corrispondente del progetto, della cartella o dell'organizzazione.

In alternativa, se l'agente di servizio è un agente di servizio primario, puoi ottenere il suo indirizzo email attivando la creazione dell'agente di servizio per il servizio. Il comando per attivare la creazione dell'agente di servizio restituisce l'indirizzo email dell'agente di servizio principale.

Concedi un ruolo all'agente di servizio

Dopo aver trovato l'indirizzo email dell'agente di servizio, puoi concedergli un ruolo come faresti con qualsiasi altra entità.

Console

  1. Nella console Google Cloud, vai alla pagina IAM.

    Vai a IAM

  2. Seleziona un progetto, una cartella o un'organizzazione.

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

  4. Seleziona un ruolo da concedere dall'elenco a discesa.

  5. (Facoltativo) Aggiungi una condizione al ruolo.

  6. Fai clic su Salva. All'agente di servizio viene concesso il ruolo nella risorsa.

gcloud

Il comando add-iam-policy-binding ti consente di concedere rapidamente un ruolo a un'entità.

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 del tuo progetto, della tua cartella o della tua organizzazione Google Cloud. Gli ID progetto sono alfanumerici, ad esempio my-project. Gli ID cartella e organizzazione sono numerici, ad esempio 123456789012.

  • PRINCIPAL: un identificatore per il principale o il membro, solitamente nella forma seguente: PRINCIPAL_TYPE:ID. Ad esempio, user:my-user@example.com. Per un elenco completo dei valori che PRINCIPAL può avere, consulta Identificatori principali.

    Per il tipo di principale user, il nome di dominio nell'identificatore deve essere un dominio Google Workspace o un dominio Cloud Identity. Per scoprire come configurare un dominio Cloud Identity, consulta la panoramica di Cloud Identity.

  • ROLE_NAME: il nome del ruolo da revocare. Utilizza uno dei seguenti formati:

    • Ruoli predefiniti: roles/SERVICE.IDENTIFIER
    • Ruoli personalizzati a livello di progetto: projects/PROJECT_ID/roles/IDENTIFIER
    • Ruoli personalizzati a livello di organizzazione: organizations/ORG_ID/roles/IDENTIFIER

    Per un elenco dei ruoli predefiniti, consulta Informazioni sui ruoli.

  • CONDITION: la condizione da aggiungere all'associazione di ruolo. Se non vuoi aggiungere una condizione, utilizza il valore None. Per maggiori informazioni sulle condizioni, consulta la panoramica delle condizioni.

Esegui il seguente 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 il criterio IAM aggiornato.

Terraform

Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base. Per ulteriori informazioni, consulta la Terraform documentazione di riferimento del provider.

# Grant the AI Platform Custom Code Service Account the Vertex AI Custom
# Code Service Agent role (roles/aiplatform.customCodeServiceAgent)
resource "google_project_iam_member" "custom_code" {
  project = data.google_project.default.project_id
  role    = "roles/aiplatform.customCodeServiceAgent"
  member  = "serviceAccount:service-${data.google_project.default.number}@gcp-sa-aiplatform-cc.iam.gserviceaccount.com"
}

# Grant the primary aiplatform.googleapis.com service agent (AI Platform
# Service Agent) the Vertex AI Service Agent role
# (roles/aiplatform.serviceAgent)
resource "google_project_iam_member" "primary" {
  project = data.google_project.default.project_id
  role    = "roles/aiplatform.serviceAgent"
  member  = "serviceAccount:${google_project_service_identity.default.email}"
}

REST

Per concedere un ruolo con l'API REST, utilizza il pattern di lettura, modifica e scrittura:

  1. Leggi il criterio di autorizzazione corrente chiamando getIamPolicy().

    Il metodo getIamPolicy dell'API Resource Manager recupera il criterio di autorizzazione di un progetto, di una cartella o di un'organizzazione.

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

    • 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 del tuo progetto, della tua organizzazione o della tua cartella Google Cloud. Gli ID progetto sono stringhe alfanumeriche, comemy-project. Gli ID cartella e organizzazione sono numerici, ad esempio 123456789012.
    • POLICY_VERSION: la versione del criterio da restituire. Le richieste devono specificare la versione più recente dei criteri, ovvero la versione 3. Per maggiori dettagli, consulta la sezione Specificare una versione delle norme al momento dell'ottenimento delle norme.

    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. Modifica il criterio di autorizzazione della risorsa mediante un editor di testo o in modo programmatico per aggiungere o rimuovere eventuali entità o associazioni di ruoli. Ad esempio, puoi aggiungere una nuova associazione di ruoli, rimuovere un'associazione di ruoli esistente o aggiungere o rimuovere entità da un'associazione di ruoli esistente.

  3. Scrivi il criterio di autorizzazione aggiornato chiamando setIamPolicy().

    Il metodo setIamPolicy dell'API Resource Manager imposta il criterio nella richiesta come nuovo criterio di autorizzazione per il progetto, la cartella o l'organizzazione.

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

    • 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 del tuo progetto, della tua organizzazione o della tua cartella Google Cloud. Gli ID progetto sono stringhe alfanumeriche, comemy-project. Gli ID cartella e organizzazione sono numerici, ad esempio 123456789012.
    • POLICY: una rappresentazione JSON del criterio che vuoi impostare. Per ulteriori informazioni sul formato di un criterio, consulta la pagina Riferimento ai criteri.

    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 il criterio di autorizzazione aggiornato.

Passaggi successivi