Ripristinare una versione precedente di una policy di autorizzazione IAM

Questa pagina spiega come ripristinare una versione precedente di una policy di autorizzazione IAM dopo aver apportato modifiche involontarie o eliminazioni accidentali.

Per ripristinare una policy IAM precedente, trova l'ultima setIamPolicy riuscita prima della modifica o dell'eliminazione e utilizzala per ripristinare la policy.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per ripristinare una precedente policy di autorizzazione, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto, nella cartella o nell'organizzazione:

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

Quando ripristini le policy di autorizzazione con setIamPolicy, il ruolo Amministratore dell'organizzazione è necessario per le policy di autorizzazione a livello di organizzazione e cartella, mentre il ruolo Proprietario è necessario per le policy di autorizzazione a livello di progetto.

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

Ripristina una policy di autorizzazione con l'ultima istanza setIamPolicy riuscita

Per ripristinare una policy di autorizzazione a una versione precedente, puoi esaminare i log di controllo dell'ultima istanza riuscita di setIamPolicy prima della modifica o dell'eliminazione e utilizzare le informazioni di quell'istanza per ripristinare la policy. Questo processo prevede i seguenti passaggi:

  1. Identifica l'ultima istanza setIamPolicy riuscita per la policy di autorizzazione e recupera insertId.
  2. Utilizza insertId dalla richiesta setIamPolicy per esportare la policy di autorizzazione in formato YAML o JSON.
  3. Modifica il file di output in modo che corrisponda alla precedente policy di autorizzazione funzionante e sovrascrivi la policy di autorizzazione attuale.

Identifica l'ultima istanza riuscita di setIamPolicy e recupera insertId

Per identificare l'ultima istanza riuscita di setIamPolicy e recuperare il isertId, utilizza la console Cloud de Confiance o gcloud CLI per esaminare i log di controllo.

Console

  1. Nella console Cloud de Confiance , vai alla pagina Esplora log.

    Vai a Esplora log

  2. Nell'editor di query, inserisci una delle seguenti query. Queste query cercano nei tuoi audit log le voci che contengono SetIamPolicy nel campo methodName di protoPayload:

    • Per ottenere i log di tutte le modifiche alla policy di autorizzazione apportate a una risorsa, utilizza la seguente query:

      logName="RESOURCE_TYPE/RESOURCE_ID/logs/cloudaudit.googleapis.com%2Factivity"
      protoPayload.methodName:SetIamPolicy
      
    • Per ottenere i log delle modifiche ai criteri di autorizzazione che coinvolgono un utente o un account di servizio specifico, utilizza la seguente query:

      logName="RESOURCE_TYPE/RESOURCE_ID/logs/cloudaudit.googleapis.com%2Factivity"
      protoPayload.methodName:SetIamPolicy
      protoPayload.serviceData.policyDelta.bindingDeltas.member:"EMAIL_ADDRESS"
      

      Sostituisci quanto segue:

      • RESOURCE_TYPE: Il tipo di risorsa per cui stai elencando gli audit log. I valori validi sono projects, folders o organizations.
      • RESOURCE_ID: l'ID progetto, cartella o organizzazione Cloud de Confiance . Gli ID progetto sono alfanumerici, ad esempio my-project. Gli ID cartella e organizzazione sono numerici, ad esempio 123456789012.
      • EMAIL_ADDRESS: l'indirizzo email dell'utente o delaccount di serviziot, ad esempio example-service-account@example-project.s3ns.iam.gserviceaccount.com.
  3. Per eseguire la query, fai clic su Esegui query.

  4. Utilizza il selettore Sequenza temporale per specificare l'intervallo di tempo appropriato per la query. In alternativa, puoi aggiungere un'espressione timestamp direttamente all'editor di query. Per saperne di più, vedi Visualizzare i log per intervallo di tempo.

  5. Copia insertId dall'ultima istanza riuscita di setIamPolicy prima della modifica o dell'eliminazione.

gcloud

Il comando gcloud logging read legge le voci di log.

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

  • RESOURCE_TYPE: Il tipo di risorsa per cui stai elencando i log di controllo. Utilizza il valore projects, folders o organizations.
  • RESOURCE_ID: l'ID Cloud de Confiance 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.
  • TIME_PERIOD: il periodo di tempo per cui stai elencando i log di controllo. Le voci restituite non sono precedenti a questo valore. Se non specificato, il valore predefinito è 1d. Per informazioni sui formati di ora, consulta gcloud topic datetimes.
  • RESOURCE_TYPE_SINGULAR: Il tipo di risorsa per cui stai elencando i log di controllo. Utilizza il valore project, folder o organization.

Esegui questo comando:

Linux, macOS o Cloud Shell

gcloud logging read \
    'logName:RESOURCE_TYPE/RESOURCE_ID/logs/cloudaudit.googleapis.com%2Factivity
    AND protoPayload.methodName=SetIamPolicy' \
    --freshness=TIME_PERIOD \
    --RESOURCE_TYPE_SINGULAR=RESOURCE_ID

Windows (PowerShell)

gcloud logging read `
    'logName:RESOURCE_TYPE/RESOURCE_ID/logs/cloudaudit.googleapis.com%2Factivity
    AND protoPayload.methodName=SetIamPolicy' `
    --freshness=TIME_PERIOD `
    --RESOURCE_TYPE_SINGULAR=RESOURCE_ID

Windows (cmd.exe)

gcloud logging read ^
    'logName:RESOURCE_TYPE/RESOURCE_ID/logs/cloudaudit.googleapis.com%2Factivity
    AND protoPayload.methodName=SetIamPolicy' ^
    --freshness=TIME_PERIOD ^
    --RESOURCE_TYPE_SINGULAR=RESOURCE_ID

Copia insertId dall'ultima istanza riuscita di setIamPolicy prima della modifica o dell'eliminazione.

Utilizza insertId per esportare la policy di autorizzazione

Utilizza insertId recuperato dall'ultima istanza riuscita di setIamPolicy per eseguire il seguente comando in gcloud CLI per esportare la policy di autorizzazione in formato JSON o YAML. Puoi esportare le policy di autorizzazione per organizzazioni e progetti.

Livello dell'organizzazione

Il comando gcloud logging read legge le voci di log.

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

  • ORGANIZATION_ID: l'organizzazione per cui vuoi visualizzare ed esportare la policy di autorizzazione.
  • INSERT_ID: il insertId della richiesta setIamPolicy.
  • FORMAT: il formato della risposta. Utilizza json o yaml.
  • TIME_PERIOD: Il periodo di tempo per cui stai elencando i log di controllo. Le voci restituite non sono precedenti a questo valore. Se non specificato, il valore predefinito è 1d. Per informazioni sui formati di ora, consulta gcloud topic datetimes.
  • OUTPUT_FILE: il nome e l'estensione del file di output. Ad esempio, previous_policy.json o previous_policy.yaml.

Esegui questo comando:

Linux, macOS o Cloud Shell

gcloud logging read organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com
insertId="INSERT_ID"'
--organization=ORGANIZATION_ID
--format="FORMAT(protoPayload.request.policy)"
--freshness=TIME_PERIOD > OUTPUT_FILE

Windows (PowerShell)

gcloud logging read organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com
insertId="INSERT_ID"'
--organization=ORGANIZATION_ID
--format="FORMAT(protoPayload.request.policy)"
--freshness=TIME_PERIOD > OUTPUT_FILE

Windows (cmd.exe)

gcloud logging read organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com
insertId="INSERT_ID"'
--organization=ORGANIZATION_ID
--format="FORMAT(protoPayload.request.policy)"
--freshness=TIME_PERIOD > OUTPUT_FILE

Livello progetto

Il comando gcloud logging read legge le voci di log.

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

  • INSERT_ID: il insertId della richiesta setIamPolicy.
  • TIME_PERIOD: Il periodo di tempo per cui stai elencando i log di controllo. Le voci restituite non sono precedenti a questo valore. Se non specificato, il valore predefinito è 1d. Per informazioni sui formati di ora, consulta gcloud topic datetimes.
  • FORMAT: il formato della risposta. Utilizza json o yaml.
  • OUTPUT_FILE: il nome del file in cui vuoi salvare l'output, ad esempio previous_policy.json o previous_policy.yaml.

Esegui questo comando:

Linux, macOS o Cloud Shell

gcloud logging read \
'protoPayload.methodName="SetIamPolicy" AND insertId="INSERT_ID"' \
--freshness=TIME_PERIOD \
--format="FORMAT(protoPayload.request.policy)" > OUTPUT_FILE

Windows (PowerShell)

gcloud logging read `
'protoPayload.methodName="SetIamPolicy" AND insertId="INSERT_ID"' `
--freshness=TIME_PERIOD `
--format="FORMAT(protoPayload.request.policy)" > OUTPUT_FILE

Windows (cmd.exe)

gcloud logging read ^
'protoPayload.methodName="SetIamPolicy" AND insertId="INSERT_ID"' ^
--freshness=TIME_PERIOD ^
--format="FORMAT(protoPayload.request.policy)" > OUTPUT_FILE

Modificare il file di output e ignorare la policy di autorizzazione corrente

Modifica il file di output nei seguenti modi e sostituisci la policy di autorizzazione corrente.

  1. Modifica il file di output in modo programmatico o utilizzando un editor di testo eliminando le seguenti righe:

     ---
     protoPayload:
        request:
          policy:
    

    Il file risultante inizia con auditConfigs:.

  2. Recupera la policy di autorizzazione attuale.

    gcloud

    Il comando gcloud get-iam-policy recupera il criterio di autorizzazione di un progetto, una cartella o un'organizzazione.

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

    • RESOURCE_TYPE: Il tipo di risorsa per cui vuoi ottenere la policy di autorizzazione. I valori validi sono projects, resource-manager folders o organizations.

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

    • FORMAT: Il formato desiderato per la policy di autorizzazione. Utilizza json o yaml.

    • PATH: il percorso di un nuovo file di output per la policy consenti.

    Esegui questo comando:

    Linux, macOS o Cloud Shell

    gcloud RESOURCE_TYPE get-iam-policy RESOURCE_ID --format=FORMAT > PATH

    Windows (PowerShell)

    gcloud RESOURCE_TYPE get-iam-policy RESOURCE_ID --format=FORMAT > PATH

    Windows (cmd.exe)

    gcloud RESOURCE_TYPE get-iam-policy RESOURCE_ID --format=FORMAT > PATH

    Ad esempio, il seguente comando recupera la policy di autorizzazione per il progetto my-project e la salva nella tua home directory in formato JSON:

    gcloud projects get-iam-policy my-project --format json > ~/policy.json

    C#

    Per eseguire l'autenticazione in Resource Manager, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.

    Per scoprire come installare e utilizzare la libreria client per Resource Manager, consulta Librerie client di Resource Manager.

    L'esempio seguente mostra come ottenere la policy di autorizzazione per un progetto. Per scoprire come ottenere la policy di autorizzazione di una cartella o di un'organizzazione, consulta la documentazione della libreria client Resource Manager per il tuo linguaggio di programmazione.

    
    using Google.Apis.Auth.OAuth2;
    using Google.Apis.CloudResourceManager.v1;
    using Google.Apis.CloudResourceManager.v1.Data;
    
    public partial class AccessManager
    {
        public static Policy GetPolicy(string projectId)
        {
            var credential = GoogleCredential.GetApplicationDefault()
                .CreateScoped(CloudResourceManagerService.Scope.CloudPlatform);
            var service = new CloudResourceManagerService(
                new CloudResourceManagerService.Initializer
                {
                    HttpClientInitializer = credential
                });
    
            var policy = service.Projects.GetIamPolicy(new GetIamPolicyRequest(),
                projectId).Execute();
            return policy;
        }
    }
    

    Java

    Per eseguire l'autenticazione in Resource Manager, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.

    Per scoprire come installare e utilizzare la libreria client per Resource Manager, consulta Librerie client di Resource Manager.

    L'esempio seguente mostra come ottenere la policy di autorizzazione per un progetto. Per scoprire come ottenere la policy di autorizzazione di una cartella o di un'organizzazione, consulta la documentazione della libreria client Resource Manager per il tuo linguaggio di programmazione.

    import com.google.cloud.resourcemanager.v3.ProjectsClient;
    import com.google.iam.admin.v1.ProjectName;
    import com.google.iam.v1.GetIamPolicyRequest;
    import com.google.iam.v1.Policy;
    import java.io.IOException;
    
    public class GetProjectPolicy {
      public static void main(String[] args) throws IOException {
        // TODO(developer): Replace the variables before running the sample.
        // TODO: Replace with your project ID.
        String projectId = "your-project-id";
    
        getProjectPolicy(projectId);
      }
    
      // Gets a project's policy.
      public static Policy getProjectPolicy(String projectId) throws IOException {
        // Initialize client that will be used to send requests.
        // This client only needs to be created once, and can be reused for multiple requests.
        try (ProjectsClient projectsClient = ProjectsClient.create()) {
          GetIamPolicyRequest request = GetIamPolicyRequest.newBuilder()
                  .setResource(ProjectName.of(projectId).toString())
                  .build();
          return projectsClient.getIamPolicy(request);
        }
      }
    }

    Python

    Per eseguire l'autenticazione in Resource Manager, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.

    Per scoprire come installare e utilizzare la libreria client per Resource Manager, consulta Librerie client di Resource Manager.

    L'esempio seguente mostra come ottenere la policy di autorizzazione per un progetto. Per scoprire come ottenere la policy di autorizzazione di una cartella o di un'organizzazione, consulta la documentazione della libreria client Resource Manager per il tuo linguaggio di programmazione.

    from google.cloud import resourcemanager_v3
    from google.iam.v1 import iam_policy_pb2, policy_pb2
    
    
    def get_project_policy(project_id: str) -> policy_pb2.Policy:
        """Get policy for project.
    
        project_id: ID or number of the Google Cloud project you want to use.
        """
    
        client = resourcemanager_v3.ProjectsClient()
        request = iam_policy_pb2.GetIamPolicyRequest()
        request.resource = f"projects/{project_id}"
    
        policy = client.get_iam_policy(request)
        print(f"Policy retrieved: {policy}")
    
        return policy

    REST

    Il metodo get-iam-policy dell'API Resource Manager recupera la policy di autorizzazione di un progetto, una cartella o un'organizzazione.

    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 la policy. Utilizza il valore projects, folders o organizations.
    • RESOURCE_ID: l'ID Cloud de Confiance 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 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 la policy di autorizzazione della risorsa. Ad esempio:

    {
      "version": 1,
      "etag": "BwWKmjvelug=",
      "bindings": [
        {
          "role": "roles/owner",
          "members": [
            "principal://iam.googleapis.com/locations/global/workforcePools/my-pool/subject/my-user@example.com"
          ]
        }
      ]
    }
    

    Salva la risposta in un file del tipo appropriato (json o yaml).

  3. Copia il valore di etag dalla policy di autorizzazione corrente.

  4. Sostituisci il valore etag nel file di output con il valore etag che hai copiato dal criterio di autorizzazione corrente. Il etag nel file di output deve corrispondere al etag attuale per avviare una nuova richiesta setIamPolicy. Assicurati che la spaziatura dell'etag non sia cambiata nel file di output.

  5. Rivedi il file per assicurarti che corrisponda alla precedente policy di autorizzazione funzionante. Potresti valutare la possibilità di creare un nuovo progetto e applicare la policy per assicurarti che funzioni come previsto.

  6. Imposta la policy di autorizzazione in modo che sostituisca quella attuale con quella nel file di output che hai creato.

    gcloud

    Il comando gcloud set-iam-policy imposta la policy nella richiesta come nuova policy di autorizzazione per il progetto, la cartella o l'organizzazione.

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

    • RESOURCE_TYPE: Il tipo di risorsa per cui vuoi impostare la policy di autorizzazione. I valori validi sono projects, resource-manager folders o organizations.

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

    • PATH: il percorso di un file che contiene la nuova policy di autorizzazione.

    Esegui questo comando:

    Linux, macOS o Cloud Shell

    gcloud RESOURCE_TYPE set-iam-policy RESOURCE_ID PATH

    Windows (PowerShell)

    gcloud RESOURCE_TYPE set-iam-policy RESOURCE_ID PATH

    Windows (cmd.exe)

    gcloud RESOURCE_TYPE set-iam-policy RESOURCE_ID PATH

    La risposta contiene la policy di autorizzazione aggiornata.

    Ad esempio, il seguente comando imposta la policy di autorizzazione archiviata in policy.json come policy di autorizzazione per il progetto my-project:

    gcloud projects set-iam-policy my-project ~/policy.json

    C#

    
    using Google.Apis.Auth.OAuth2;
    using Google.Apis.CloudResourceManager.v1;
    using Google.Apis.CloudResourceManager.v1.Data;
    
    public partial class AccessManager
    {
        public static Policy SetPolicy(string projectId, Policy policy)
        {
            var credential = GoogleCredential.GetApplicationDefault()
                .CreateScoped(CloudResourceManagerService.Scope.CloudPlatform);
            var service = new CloudResourceManagerService(
                new CloudResourceManagerService.Initializer
                {
                    HttpClientInitializer = credential
                });
    
            return service.Projects.SetIamPolicy(new SetIamPolicyRequest
            {
                Policy = policy
            }, projectId).Execute();
        }
    }
    

    Java

    Per eseguire l'autenticazione in Resource Manager, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.

    Per scoprire come installare e utilizzare la libreria client per Resource Manager, consulta Librerie client di Resource Manager.

    L'esempio seguente mostra come impostare la policy di autorizzazione per un progetto. Per scoprire come impostare la policy di autorizzazione di una cartella o di un'organizzazione, consulta la documentazione della libreria client Resource Manager per il tuo linguaggio di programmazione.

    import com.google.cloud.resourcemanager.v3.ProjectsClient;
    import com.google.iam.admin.v1.ProjectName;
    import com.google.iam.v1.Policy;
    import com.google.iam.v1.SetIamPolicyRequest;
    import com.google.protobuf.FieldMask;
    import java.io.IOException;
    import java.util.Arrays;
    import java.util.List;
    
    public class SetProjectPolicy {
      public static void main(String[] args) throws IOException {
        // TODO(developer): Replace the variables before running the sample.
        // TODO: Replace with your project ID.
        String projectId = "your-project-id";
        // TODO: Replace with your policy, GetPolicy.getPolicy(projectId, serviceAccount).
        Policy policy = Policy.newBuilder().build();
    
        setProjectPolicy(policy, projectId);
      }
    
      // Sets a project's policy.
      public static Policy setProjectPolicy(Policy policy, String projectId)
              throws IOException {
    
        // Initialize client that will be used to send requests.
        // This client only needs to be created once, and can be reused for multiple requests.
        try (ProjectsClient projectsClient = ProjectsClient.create()) {
          List<String> paths = Arrays.asList("bindings", "etag");
          SetIamPolicyRequest request = SetIamPolicyRequest.newBuilder()
                  .setResource(ProjectName.of(projectId).toString())
                  .setPolicy(policy)
                  // A FieldMask specifying which fields of the policy to modify. Only
                  // the fields in the mask will be modified. If no mask is provided, the
                  // following default mask is used:
                  // `paths: "bindings, etag"`
                  .setUpdateMask(FieldMask.newBuilder().addAllPaths(paths).build())
                  .build();
    
          return projectsClient.setIamPolicy(request);
        }
      }
    }

    Python

    Per eseguire l'autenticazione in Resource Manager, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.

    Per scoprire come installare e utilizzare la libreria client per Resource Manager, consulta Librerie client di Resource Manager.

    L'esempio seguente mostra come impostare la policy di autorizzazione per un progetto. Per scoprire come impostare la policy di autorizzazione di una cartella o di un'organizzazione, consulta la documentazione della libreria client Resource Manager per il tuo linguaggio di programmazione.

    from google.cloud import resourcemanager_v3
    from google.iam.v1 import iam_policy_pb2, policy_pb2
    
    
    def set_project_policy(
        project_id: str, policy: policy_pb2.Policy, merge: bool = True
    ) -> policy_pb2.Policy:
        """
        Set policy for project. Pay attention that previous state will be completely rewritten.
        If you want to update only part of the policy follow the approach read->modify->write.
        For more details about policies check out https://cloud.google.com/iam/docs/policies
    
        project_id: ID or number of the Google Cloud project you want to use.
        policy: Policy which has to be set.
        merge: The strategy to be used forming the request. CopyFrom is clearing both mutable and immutable fields,
        when MergeFrom is replacing only immutable fields and extending mutable.
        https://googleapis.dev/python/protobuf/latest/google/protobuf/message.html#google.protobuf.message.Message.CopyFrom
        """
        client = resourcemanager_v3.ProjectsClient()
    
        request = iam_policy_pb2.GetIamPolicyRequest()
        request.resource = f"projects/{project_id}"
        current_policy = client.get_iam_policy(request)
    
        # Etag should as fresh as possible to lower chance of collisions
        policy.ClearField("etag")
        if merge:
            current_policy.MergeFrom(policy)
        else:
            current_policy.CopyFrom(policy)
    
        request = iam_policy_pb2.SetIamPolicyRequest()
        request.resource = f"projects/{project_id}"
    
        # request.etag field also will be merged which means you are secured from collision,
        # but it means that request may fail and you need to leverage exponential retries approach
        # to be sure policy has been updated.
        request.policy.CopyFrom(current_policy)
    
        policy = client.set_iam_policy(request)
        return policy
    
    

    REST

    Il metodo set-iam-policy 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 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 la policy. Utilizza il valore projects, folders o organizations.
    • RESOURCE_ID: l'ID Cloud de Confiance 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.