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 agenti di servizio 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 agenti di servizio a livello di progetto, di cartella e di organizzazione per un servizio prima di utilizzarlo. Chiedere a 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 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 erroneamente questi ruoli. Creando agenti di servizio e concedendo 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 i ruoli.

Prima di iniziare

Ruoli obbligatori

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

  • Per ottenere l'autorizzazione necessaria per elencare i servizi disponibili e i relativi endpoint, chiedi all'amministratore di concederti il ruolo IAM Visualizzatore Service Usage (roles/serviceusage.serviceUsageViewer) nel progetto, nella cartella o nell'organizzazione per cui vuoi elencare i servizi disponibili. Per saperne di più sulla concessione dei ruoli, consulta Gestisci 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 Gestisci l'accesso a progetti, cartelle e organizzazioni.

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

    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
    • 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.

Identificare gli agenti di servizio da creare

Per identificare gli agenti di servizio a livello di progetto, cartella e organizzazione a cui devi chiedere di creare, segui questi passaggi: Google Cloud

  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 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, apporta 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 seguenti sostituzioni:

    • 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 <0A> 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. Nella pagina Riferimento dell'agente di servizio, cerca ogni endpoint API.

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

    Per ogni service agent a livello di progetto, cartella e organizzazione, registra quanto segue:

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

Attiva la creazione dell'agente di servizio

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

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

gcloud

Per ogni servizio per cui devi creare agenti di servizio, segui questi passaggi:

  1. Controlla gli indirizzi email dell'agente 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 service agent 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, apporta le seguenti sostituzioni:

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

      Puoi creare service agent 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 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 service agent.

    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 che ha 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 ruoli all'agente di servizio principale.

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 ogni servizio per cui devi creare agenti di servizio, segui questi passaggi:

  1. Controlla gli indirizzi email dell'agente 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 service agent per ogni risorsa. Ad esempio, il seguente codice 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, segui questi passaggi:

  1. Controlla gli indirizzi email dell'agente 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 service agent 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 cui vuoi creare un service agent. Utilizza projects, folders o organizations.
    • RESOURCE_ID: L'ID del Google Cloud progetto, della cartella o dell'organizzazione per cui vuoi creare agenti di servizio. Gli ID progetto sono stringhe alfanumeriche, come my-project. Gli ID cartella e organizzazione sono numerici, ad esempio 123456789012.

      Puoi creare service agent per una 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 service agent, 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 tua 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 service agent.

    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 con un agente di servizio principale.

    {
      "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 ruoli all'agente di servizio principale.

Concedere ruoli agli agenti di servizio

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 a Google Cloud di creare service agent, devi concedere a questi service agent 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.

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 del servizio:

gcloud

  1. Se non l'hai ancora fatto, trova il formato dell'indirizzo email dell'agente del servizio. Questo formato è documentato nel riferimento all'agente di servizio.

  2. Sostituisci i segnaposto nell'indirizzo email con il numero di progetto, cartella o organizzazione corrispondente.

In alternativa, se l'agente di servizio è un agente di servizio principale, 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 saperne di più, consulta la documentazione di riferimento del fornitore Terraform.

  1. Se non l'hai ancora fatto, trova il formato dell'indirizzo email dell'agente del servizio. Questo formato è documentato nel riferimento all'agente di servizio.

  2. Sostituisci i segnaposto nell'indirizzo email con espressioni che fanno riferimento al numero di progetto, cartella o organizzazione appropriato.

    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 è per un progetto etichettato 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 ottenere 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, trova il formato dell'indirizzo email dell'agente del servizio. Questo formato è documentato nel riferimento all'agente di servizio.

  2. Sostituisci i segnaposto nell'indirizzo email con il numero di progetto, cartella o organizzazione corrispondente.

In alternativa, se l'agente di servizio è un agente di servizio principale, 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 proprio 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 accesso, quindi 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 sulla 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, apporta le seguenti sostituzioni:

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

  • RESOURCE_ID: il tuo 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: un identificatore per il principale o il membro, che di solito ha il seguente formato: PRINCIPAL_TYPE:ID. Ad esempio, user:my-user@example.com o principalSet://iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com. Per un elenco completo dei valori che può assumere PRINCIPAL, consulta Identificatori principali.

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

  • ROLE_NAME: il nome del ruolo che vuoi 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 del ruolo. Se non vuoi aggiungere una condizione, utilizza il valore None. Per maggiori informazioni sulle condizioni, consulta la panoramica delle condizioni.

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

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.

# 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 la policy di autorizzazione corrente chiamando getIamPolicy().

    Il metodo getIamPolicy dell'API Resource Manager recupera il criterio di autorizzazione di un progetto, una cartella o 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 i criteri. Utilizza il valore projects, folders o organizations.
    • RESOURCE_ID: il tuo ID progetto, organizzazione o 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 della policy da restituire. Le richieste devono specificare la versione più recente delle norme, ovvero la versione 3. Per maggiori dettagli, vedi Specificare una versione delle norme quando si recuperano le 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 utilizzando 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 principal da un'associazione di ruoli esistente.

  3. Scrivi la policy di autorizzazione aggiornata 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 i criteri. Utilizza il valore projects, folders o organizations.
    • RESOURCE_ID: il tuo ID progetto, organizzazione o 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 della policy che vuoi impostare. Per ulteriori informazioni sul formato di un criterio, consulta la documentazione di riferimento sui 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 la policy di autorizzazione aggiornata.

Passaggi successivi