Creare e applicare i criteri di confine dell'accesso dell'entità

Le policy di Principal Access Boundary (PAB) ti consentono di limitare le risorse a cui un insieme di entità può accedere. Questa pagina spiega come creare e applicare le policy di Principal Access Boundary.

Prima di iniziare

  • Configurare l'autenticazione.

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

    REST

    Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali che fornisci a gcloud CLI.

      Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il seguente comando:

      gcloud init

      Se utilizzi un provider di identità (IdP) esterno, devi prima accedere alla gcloud CLI con la tua identità federata.

    Per saperne di più, consulta Autenticarsi per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud .

  • Leggi la panoramica delle policy di Principal Access Boundary.

Ruoli richiesti per creare policy di Principal Access Boundary

Per ottenere l'autorizzazione necessaria per creare criteri dei limiti di accesso all'entità, chiedi all'amministratore di concederti il ruolo IAM Amministratore dei limiti di accesso all'entità (roles/iam.principalAccessBoundaryAdmin) nella tua organizzazione. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questo ruolo predefinito contiene l'autorizzazione iam.principalaccessboundarypolicies.create necessaria per creare policy di confine di accesso per i principal.

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

Ruoli richiesti per applicare le policy di Principal Access Boundary

Le autorizzazioni necessarie per applicare una policy di Principal Access Boundary dipendono dall'insieme di entità a cui vuoi applicare la policy.

Per ottenere le autorizzazioni necessarie per applicare i criteri dei limiti di accesso all'entità, chiedi all'amministratore di concederti i seguenti ruoli IAM:

  • Utente del criterio di Principal Access Boundary (roles/iam.principalAccessBoundaryUser) nell'organizzazione
  • Applica i criteri del perimetro di accesso dell'entità ai pool di identità della forza lavoro: Amministratore pool di forza lavoro IAM (roles/iam.workforcePoolAdmin) sul pool di identità della forza lavoro di destinazione
  • Applica i criteri del limite di accesso dell'entità ai pool Workload Identity: Amministratore pool Workload Identity IAM (roles/iam.workloadIdentityPoolAdmin) sul progetto proprietario del pool Workload Identity di destinazione
  • Recupera lo stato di unoperazione a lunga esecuzione per l'applicazione di un criterio di limite di accesso principale a un pool di identità del workload: Visualizzatore operazioni IAM (roles/iam.operationViewer) sul progetto proprietario del pool di identità del workload di destinazione
  • Applica i criteri del perimetro di accesso dei principal a un dominio Google Workspace: Workspace Pool IAM Admin (roles/iam.workspacePoolAdmin) nell'organizzazione
  • Applica le policy di Principal Access Boundary a un insieme di principal di un progetto: Project IAM Admin (roles/resourcemanager.projectIamAdmin) sul progetto
  • Recupera lo stato di un'operazione a lunga esecuzione per l'applicazione di un criterio di confine di accesso principale a un insieme di principali di un progetto: Visualizzatore operazioni IAM (roles/iam.operationViewer) sul progetto
  • Applica le policy di Principal Access Boundary al set di entità di una cartella: Folder IAM Admin (roles/resourcemanager.folderIamAdmin) sulla cartella
  • Applica le policy di Principal Access Boundary a un insieme di entità di un'organizzazione: Amministratore dell'organizzazione (roles/resourcemanager.organizationAdmin) nell'organizzazione

Per ulteriori informazioni sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questi ruoli predefiniti contengono le autorizzazioni necessarie per applicare i criteri dei limiti di accesso all'entità. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per applicare le policy di Principal Access Boundary sono necessarie le seguenti autorizzazioni:

  • iam.principalaccessboundarypolicies.bind sull'organizzazione
  • Applica le policy di Principal Access Boundary ai pool della federazione delle identità della forza lavoro: iam.workforcePools.createPolicyBinding sul pool di federazione delle identità della forza lavoro di destinazione
  • Applica i criteri del limite di accesso principale ai pool di federazione delle identità per il workload: iam.workloadIdentityPools.createPolicyBinding sul progetto proprietario del pool di federazione delle identità per il workload di destinazione
  • Recupera lo stato di unoperazione a lunga esecuzione per l'applicazione di una policy di limite di accesso dell'entità a un pool di identità del workload: iam.operations.get sul progetto proprietario del pool di identità del workload di destinazione
  • Applica i criteri di Principal Access Boundary a un dominio Google Workspace: iam.workspacePools.createPolicyBinding nell'organizzazione
  • Applica le policy di Principal Access Boundary a un insieme di entità di un progetto: resourcemanager.projects.createPolicyBinding sul progetto
  • Ottieni lo stato di un'operazione a lunga esecuzione per l'applicazione di una policy di Principal Access Boundary a un insieme di entità di un progetto: iam.operations.get sul progetto
  • Applica le policy di Principal Access Boundary a un insieme di entità di una cartella: resourcemanager.folders.createPolicyBinding nella cartella
  • Applica le policy di Principal Access Boundary a un insieme di entità di un'organizzazione: resourcemanager.organizations.createPolicyBinding sull'organizzazione

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

Crea una policy di Principal Access Boundary

Puoi creare un criterio per il perimetro di accesso dei principal utilizzando la console Google Cloud , gcloud CLI o l'API REST IAM.

Console

  1. Nella console Google Cloud , vai alla pagina Policy del limite di accesso entità.

    Vai alle policy di Principal Access Boundary

  2. Seleziona l'organizzazione per cui vuoi creare le policy di Principal Access Boundary.

  3. Fai clic su Crea policy.

  4. Aggiungi regole di Principal Access Boundary al criterio:

    1. Fai clic su Aggiungi regola di confine.
    2. Nel campo Descrizione, aggiungi una descrizione della regola dei criteri di Principal Access Boundary. La descrizione può contenere un massimo di 256 caratteri.
    3. Nella sezione Risorse, inserisci tutte le risorse di Resource Manager (progetti, cartelle e organizzazioni) a cui vuoi che i principal possano accedere. Qualsiasi entità soggetta a questa policy è idonea ad accedere a queste risorse.

      Ogni policy di Principal Access Boundary può fare riferimento a un massimo di 500 risorse in tutte le regole della policy.

    4. Fai clic su Fine.

    5. Per aggiungere altre regole delle norme, ripeti questi passaggi. Ogni policy di Principal Access Boundary può avere fino a 500 regole.

  5. Nella sezione Nome policy, inserisci un nome per la policy. Il nome può contenere un massimo di 63 caratteri.

  6. Nell'elenco Versione di applicazione, seleziona la versione di applicazione per il policy. La versione della policy di Principal Access Boundary determina le autorizzazioni per cui IAM applica la policy di Principal Access Boundary.

    Per saperne di più sulle versioni di applicazione, consulta Versioni di applicazione di Principal Access Boundary.

  7. Fai clic su Crea.

gcloud

Il comando gcloud iam principal-access-boundary-policies create crea una policy di Principal Access Boundary.

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

  • ORG_ID: l'ID dell'organizzazione in cui vuoi creare la policy di Principal Access Boundary. Gli ID organizzazione sono numerici, ad esempio 123456789012.
  • PAB_POLICY_ID: un ID univoco per il criterio del limite di accesso principale, ad esempio example-policy. :
  • DISPLAY_NAME: (Facoltativo) Una descrizione leggibile della policy di Principal Access Boundary, ad esempio Example policy. Il nome visualizzato può contenere un massimo di 63 caratteri.
  • FILE_PATH: il percorso di un file JSON contenente i dettagli della regola della policy Principal Access Boundary. Questo file deve avere il seguente formato:

    {
      "description": DESCRIPTION,
      "resources": [
        RESOURCES
      ],
      "effect": ALLOW
    }
        

    Sostituisci i seguenti valori:

    • DESCRIPTION: (Facoltativo) La descrizione della regola dei criteri di Principal Access Boundary. La descrizione può contenere un massimo di 256 caratteri.
    • RESOURCES: un elenco di risorse Resource Manager (progetti, cartelle e organizzazioni) a cui vuoi che le entità abbiano diritto di accesso. Qualsiasi entità soggetta a questo criterio è idonea ad accedere a queste risorse.

      Ogni policy di Principal Access Boundary può fare riferimento a un massimo di 500 risorse in tutte le regole della policy.

  • ENFORCEMENT_VERSION: la versione delle policy di Principal Access Boundary che IAM utilizza per applicare la policy. La versione di applicazione determina per quali autorizzazioni IAM applica il criterio di Principal Access Boundary.

    I valori accettati sono 1, 2, 3 e latest.

    Per saperne di più sulle versioni dell'applicazione, consulta Versioni dell'applicazione di Principal Access Boundary.

Esegui questo comando:

Linux, macOS o Cloud Shell

gcloud iam principal-access-boundary-policies create PAB_POLICY_ID \
    --organization=ORG_ID --location=global \
    --display-name=DISPLAY_NAME --details-rules=FILE_PATH.json \
    --details-enforcement-version=ENFORCEMENT_VERSION

Windows (PowerShell)

gcloud iam principal-access-boundary-policies create PAB_POLICY_ID `
    --organization=ORG_ID --location=global `
    --display-name=DISPLAY_NAME --details-rules=FILE_PATH.json `
    --details-enforcement-version=ENFORCEMENT_VERSION

Windows (cmd.exe)

gcloud iam principal-access-boundary-policies create PAB_POLICY_ID ^
    --organization=ORG_ID --location=global ^
    --display-name=DISPLAY_NAME --details-rules=FILE_PATH.json ^
    --details-enforcement-version=ENFORCEMENT_VERSION

La risposta contiene un'operazione a lunga esecuzione che rappresenta la tua richiesta. Per scoprire come ottenere lo stato di un'operazione a lunga esecuzione, consulta Controllare lo stato di un'operazione a lunga esecuzione in questa pagina.

Create request issued for: [example-policy]
Waiting for operation [organizations/123456789012/locations/global/operations/operation-1715373988044-6181fa136df85-3b06a30a-4816d25b] to complete...done.
Created principalAccessBoundaryPolicy [example-policy].

REST

Il metodo principalAccessBoundaryPolicies.create crea una policy di Principal Access Boundary.

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

  • ORG_ID: l'ID dell'organizzazione in cui vuoi creare la policy di Principal Access Boundary. Gli ID organizzazione sono numerici, ad esempio 123456789012.
  • PAB_POLICY_ID: un ID univoco per il criterio del limite di accesso principale, ad esempio example-policy.
  • DISPLAY_NAME: (Facoltativo) Una descrizione leggibile della policy di Principal Access Boundary, ad esempio Example policy. Il nome visualizzato può contenere un massimo di 63 caratteri.
  • PAB_RULES: un elenco di regole di Principal Access Boundary, che definiscono le risorse a cui le entità interessate possono accedere. Un criterio di Principal Access Boundary può avere fino a 500 regole. Ogni regola ha il seguente formato:

    {
    "description": "DESCRIPTION",
    "resources": [
      RESOURCES
    ],
    "effect": ALLOW
    }

    Sostituisci i seguenti valori:

    • DESCRIPTION: (Facoltativo) La descrizione della regola dei criteri di Principal Access Boundary. La descrizione può contenere un massimo di 256 caratteri.
    • RESOURCES: un elenco di risorse Resource Manager (progetti, cartelle e organizzazioni) a cui vuoi che le entità abbiano diritto di accesso. Qualsiasi entità soggetta a questo criterio è idonea ad accedere a queste risorse.

      Ogni policy di Principal Access Boundary può fare riferimento a un massimo di 500 risorse in tutte le regole della policy.

  • ENFORCEMENT_VERSION: la versione delle policy di Principal Access Boundary che IAM utilizza per applicare la policy. La versione di applicazione determina per quali autorizzazioni IAM applica il criterio di Principal Access Boundary.

    I valori accettati sono 1, 2, 3 e latest.

    Per saperne di più sulle versioni dell'applicazione, consulta Versioni dell'applicazione di Principal Access Boundary.

Metodo HTTP e URL:

POST https://iam.googleapis.com/v3/organizations/ORG_ID/locations/global?principalAccessBoundaryPolicyId=PAB_POLICY_ID

Corpo JSON della richiesta:

{
  "displayName": DISPLAY_NAME,
  "details": {
    "rules": [
      PAB_RULES
    ],
    "effect": ALLOW
    }
  ],
  "enforcementVersion": "ENFORCEMENT_VERSION"
}

Per inviare la richiesta, espandi una di queste opzioni:

La risposta contiene un'operazione a lunga esecuzione che rappresenta la tua richiesta. Per scoprire come ottenere lo stato di un'operazione a lunga esecuzione, consulta Controllare lo stato di un'operazione a lunga esecuzione in questa pagina.

{
  "name": "organizations/123456789012/locations/global/operations/operation-1715373120647-6181f6d8371d2-83309b71-2b8a7532",
  "metadata": {
    "@type": "type.googleapis.com/google.iam.v3.OperationMetadata",
    "createTime": "2024-05-10T20:32:00.898809495Z",
    "target": "organizations/123456789012/locations/global/policyBindings/example-policy",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v3"
  },
  "done": false
}

Applica una policy di Principal Access Boundary a un insieme di entità

Per applicare una policy di Principal Access Boundary a un insieme di entità, crea una risorsa di associazione della policy che associa la policy all'insieme di entità. Dopo aver creato un'associazione di policy, la policy di Principal Access Boundary nell'associazione viene applicata alle entità nell'associazione.

Puoi creare un binding dei criteri utilizzando la console Google Cloud , gcloud CLI o l'API REST IAM.

Console

  1. Nella console Google Cloud , vai alla pagina Policy del limite di accesso entità.

    Vai alle policy di Principal Access Boundary

  2. Seleziona l'organizzazione proprietaria della policy di Principal Access Boundary per cui vuoi creare un'associazione.

  3. Fai clic sull'ID della policy di Principal Access Boundary per cui vuoi creare un'associazione.

  4. Fai clic sulla scheda Associazioni, poi su Aggiungi associazione.

  5. Inserisci i dettagli del collegamento:

    1. (Facoltativo) Nel campo Nome visualizzato, inserisci un nome visualizzato per il binding. Il nome visualizzato può contenere un massimo di 63 caratteri.
    2. Nel campo ID binding, inserisci un nome univoco per il binding, ad esempio example-binding.
    3. Nella sezione Set di entità target, inserisci il tipo e l'ID del set di entità a cui vuoi associare la policy. Non puoi modificare questo valore dopo aver creato l'associazione di criteri.

      Per saperne di più sulle entità incluse in ogni set di entità, consulta Set di entità supportati.

  6. (Facoltativo) Per specificare per quali entità nel set di entità viene applicata la policy di Principal Access Boundary, aggiungi una condizione all'associazione:

    1. Fai clic su Aggiungi condizione.
    2. Nel campo Titolo, inserisci un breve riepilogo dello scopo della condizione.
    3. (Facoltativo) Nel campo Descrizione, inserisci una descrizione più lunga della condizione.
    4. Nel campo Espressione, inserisci l'espressione della condizione che utilizza la sintassi del Common Expression Language (CEL). L'espressione deve fare riferimento agli attributi principal.type o principal.subject. Gli altri attributi non sono supportati.
    5. Fai clic su Salva.
  7. (Facoltativo) Per testare le modifiche ai criteri dei limiti di accesso all'entità con Policy Simulator, fai clic su Testa modifiche. Esamina i risultati della simulazione e aggiorna le norme, se necessario.

    Per scoprire di più sul test delle policy di Principal Access Boundary con Policy Simulator, consulta Policy Simulator per le policy di Principal Access Boundary.

  8. Per creare l'associazione, fai clic su Aggiungi.

gcloud

Il comando gcloud iam policy-bindings create crea un'associazione di policy.

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

  • BINDING_ID: un nome univoco per l'associazione di policy, ad esempio example-binding.
  • RESOURCE_TYPE: il tipo di risorsa Resource Manager (progetto, cartella o organizzazione) di cui l'associazione di criteri è un elemento secondario. Utilizza il valore project, folder o organization

    Il tipo di risorsa dipende dall'entità impostata nel binding della policy. Per scoprire quale tipo di risorsa utilizzare, consulta Tipi di entità supportati.

  • RESOURCE_ID: l'ID del progetto, della cartella o dell'organizzazione di cui è figlio il binding dei criteri. Gli ID progetto sono stringhe alfanumeriche, come my-project. Gli ID cartella e organizzazione sono numerici, ad esempio 123456789012.
  • ORG_ID: l'ID dell'organizzazione proprietaria della policy di Principal Access Boundary che vuoi associare all'insieme di entità. Gli ID organizzazione sono numerici, ad esempio 123456789012.
  • PAB_POLICY_ID: l'ID del criterio perimetrale di accesso dell'entità che vuoi associare al set di entità, ad esempio example-pab-policy. Non puoi modificare questo valore dopo aver creato l'associazione di criteri.
  • PRINCIPAL_SET: Il set di entità a cui vuoi associare la policy. Per un elenco dei tipi di entità validi, consulta Set di entità supportati. Non puoi modificare questo valore dopo aver creato l'associazione di policy.
  • DISPLAY_NAME: (Facoltativo) Una descrizione leggibile dell'associazione, ad esempio Example binding. Il nome visualizzato può contenere un massimo di 63 caratteri.
  • CONDITION_DETAILS: (Facoltativo) Un'espressione di condizione che specifica per quali entità nel set di entità viene applicata la policy di Principal Access Boundary. Contiene i seguenti campi:

    • expression: un'espressione di condizione che utilizza la sintassi di Common Expression Language (CEL). L'espressione deve fare riferimento agli attributi principal.type o principal.subject. Gli altri attributi non sono supportati.

      L'espressione può contenere fino a 10 operatori logici (&&, ||, !) e può essere lunga fino a 250 caratteri.

    • title: (Facoltativo) Un breve riepilogo dello scopo della condizione.
    • description: (Facoltativo) Una descrizione più lunga della condizione.

Esegui questo comando:

Linux, macOS o Cloud Shell

gcloud iam policy-bindings create BINDING_ID \
    --RESOURCE_TYPE=RESOURCE_ID --location=global \
    --policy="organizations/ORG_ID/locations/global/principalAccessBoundaryPolicies/PAB_POLICY_ID" \
    --target-principal-set=PRINCIPAL_SET_ID \
    --display-name=DISPLAY_NAME \
    CONDITION_DETAILS

Windows (PowerShell)

gcloud iam policy-bindings create BINDING_ID `
    --RESOURCE_TYPE=RESOURCE_ID --location=global `
    --policy="organizations/ORG_ID/locations/global/principalAccessBoundaryPolicies/PAB_POLICY_ID" `
    --target-principal-set=PRINCIPAL_SET_ID `
    --display-name=DISPLAY_NAME `
    CONDITION_DETAILS

Windows (cmd.exe)

gcloud iam policy-bindings create BINDING_ID ^
    --RESOURCE_TYPE=RESOURCE_ID --location=global ^
    --policy="organizations/ORG_ID/locations/global/principalAccessBoundaryPolicies/PAB_POLICY_ID" ^
    --target-principal-set=PRINCIPAL_SET_ID ^
    --display-name=DISPLAY_NAME ^
    CONDITION_DETAILS

La risposta contiene un'operazione a lunga esecuzione che rappresenta la tua richiesta. Per scoprire come ottenere lo stato di un'operazione a lunga esecuzione, consulta Controllare lo stato di un'operazione a lunga esecuzione in questa pagina.

Create request issued for: [example-binding]
Waiting for operation [organizations/123456789012/locations/global/operations/operation-1715374545618-6181fc272c6f9-55ff07f4-97d0ac76] to complete...done.
Created policyBinding [example-binding].

REST

Il metodo policyBindings.create crea un'associazione di policy.

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

  • RESOURCE_TYPE: il tipo di risorsa Resource Manager (progetto, cartella o organizzazione) di cui l'associazione di criteri è un elemento secondario. Utilizza il valore projects, folders o organizations

    Il tipo di risorsa dipende dall'entità impostata nel binding della policy. Per scoprire quale tipo di risorsa utilizzare, consulta Tipi di entità supportati.

  • RESOURCE_ID: l'ID del progetto, della cartella o dell'organizzazione di cui è figlio il binding dei criteri. Gli ID progetto sono stringhe alfanumeriche, come my-project. Gli ID cartella e organizzazione sono numerici, ad esempio 123456789012.
  • BINDING_ID: un nome univoco per l'associazione di policy, ad esempio example-binding.
  • DISPLAY_NAME: (Facoltativo) Una descrizione leggibile dell'associazione, ad esempio Example binding. Il nome visualizzato può contenere un massimo di 63 caratteri.
  • PRINCIPAL_SET: Il set di entità a cui vuoi associare la policy. Per un elenco dei tipi di entità validi, consulta Set di entità supportati. Non puoi modificare questo valore dopo aver creato l'associazione di policy.
  • ORG_ID: l'ID dell'organizzazione proprietaria della policy di Principal Access Boundary che vuoi associare all'insieme di entità. Gli ID organizzazione sono numerici, ad esempio 123456789012.
  • PAB_POLICY_ID: l'ID del criterio perimetrale di accesso dell'entità che vuoi associare al set di entità, ad esempio example-pab-policy. Non puoi modificare questo valore dopo aver creato l'associazione di criteri.
  • CONDITION_DETAILS: (Facoltativo) Un'espressione di condizione che specifica per quali entità nel set di entità viene applicata la policy di Principal Access Boundary. Contiene i seguenti campi:

    • expression: un'espressione di condizione che utilizza la sintassi di Common Expression Language (CEL). L'espressione deve fare riferimento agli attributi principal.type o principal.subject. Gli altri attributi non sono supportati.

      L'espressione può contenere fino a 10 operatori logici (&&, ||, !) e può essere lunga fino a 250 caratteri.

    • title: (Facoltativo) Un breve riepilogo dello scopo della condizione.
    • description: (Facoltativo) Una descrizione più lunga della condizione.

Metodo HTTP e URL:

POST https://iam.googleapis.com/v3/RESOURCE_TYPE/RESOURCE_ID/locations/global/policyBindings?policyBindingId=BINDING_ID

Corpo JSON della richiesta:

{
  "displayName": DISPLAY_NAME,
  "target": {
    "principalSet": PRINCIPAL_SET
  },
  "policyKind": "PRINCIPAL_ACCESS_BOUNDARY",
  "policy": "organizations/ORG_ID/locations/global/principalAccessBoundaryPolicies/PAB_POLICY_ID",
  "condition": {
    CONDITION_DETAILS
  }
}

Per inviare la richiesta, espandi una di queste opzioni:

La risposta contiene un'operazione a lunga esecuzione che rappresenta la tua richiesta. Per scoprire come ottenere lo stato di un'operazione a lunga esecuzione, consulta Controllare lo stato di un'operazione a lunga esecuzione in questa pagina.

{
  "name": "organizations/123456789012/locations/global/operations/operation-1715373120647-6181f6d8371d2-83309b71-2b8a7532",
  "metadata": {
    "@type": "type.googleapis.com/google.iam.v3.OperationMetadata",
    "createTime": "2024-05-10T20:32:00.898809495Z",
    "target": "organizations/123456789012/locations/global/policyBindings/example-binding",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v3"
  },
  "done": false
}

Controllare lo stato di un'operazione a lunga esecuzione

Quando utilizzi l'API REST o le librerie client, qualsiasi metodo che modifichi un binding o una policy del perimetro di accesso dei principal restituisce uoperazione a lunga esecuzionea (LRO). L'operazione a lunga esecuzione monitora lo stato della richiesta e indica se la modifica alla norma o al binding è stata completata.

REST

Il metodo operations.get restituisce lo stato di un'operazione a lunga esecuzione.

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

  • OPERATION_NAME: il nome completo dell'operazione. Riceverai questo nome nella risposta alla tua richiesta originale.

    Il nome dell'operazione ha il seguente formato:

          RESOURCE_TYPE/RESOURCE_ID/locations/global/operations/OPERATION_ID
        

Metodo HTTP e URL:

GET https://iam.googleapis.com/v3/OPERATION_NAME

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "name": "organizations/314340013352/locations/global/operations/operation-1732752311821-627edd607a3df-9a62cdea-2a7d9f07",
  "metadata": {
    "@type": "type.googleapis.com/google.iam.v3.OperationMetadata",
    "createTime": "2024-11-28T00:05:12.006289686Z",
    "endTime": "2024-11-28T00:05:12.192141801Z",
    "target": "organizations/314340013352/locations/global/principalAccessBoundaryPolicies/example-policy",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v3"
  },
  "done": true,
  "response": {
    PAB_POLICY
  }
}

Se il campo done dell'operazione non è presente, continua a monitorarne lo stato recuperando ripetutamente l'operazione. Utilizza il backoff esponenziale troncato per introdurre un ritardo tra una richiesta e l'altra. Quando il campo done è impostato su true, l'operazione è completata e puoi interrompere la ricezione dell'operazione.

Passaggi successivi