Modifica le policy sul confine di accesso dell'entità

Le policy sul confine di accesso dell'entità (PAB) ti consentono di limitare le risorse a cui un set di entità può accedere. Questa pagina spiega come modificare le policy di Principal Access Boundary esistenti e come modificare le associazioni delle policy per le policy di Principal Access Boundary per modificare a chi si applicano le policy.

Prima di iniziare

  • Configurare l'autenticazione.

    Seleziona la scheda relativa a come prevedi di utilizzare gli esempi in questa pagina:

    gcloud

    Nella console Google Cloud , attiva Cloud Shell.

    Attiva Cloud Shell

    Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell e viene visualizzato un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installata e con valori già impostati per il progetto corrente. L'inizializzazione della sessione può richiedere alcuni secondi.

    REST

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

      Installa Google Cloud CLI.

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

    Per saperne di più, consulta Autenticati per usare REST nella documentazione sull'autenticazione di Google Cloud .

  • Leggi la panoramica delle policy sul confine di accesso dell'entità.

Ruoli richiesti per modificare le policy sul confine di accesso dell'entità

Per ottenere l'autorizzazione necessaria per modificare le policy sul confine di accesso dell'entità, chiedi all'amministratore di concederti il ruolo IAM Principal Access Boundary Admin (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.update necessaria per modificare le policy del confine di accesso dell'entità.

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

Ruoli richiesti per modificare le associazioni dei criteri di Principal Access Boundary

Le autorizzazioni necessarie per modificare le associazioni di policy per le policy di Principal Access Boundary dipendono dal set di entità associato alla policy.

Per ottenere le autorizzazioni necessarie per modificare le associazioni dei criteri per le policy Principal Access Boundary, chiedi all'amministratore di concederti i seguenti ruoli IAM:

  • Confine di accesso dell'entità Utente (roles/iam.principalAccessBoundaryUser) nella tua organizzazione
  • Modifica i binding dei criteri per i criteri Principal Access Boundary associati ai pool di identità per la forza lavoro: IAM Workforce Pool Admin (roles/iam.workforcePoolAdmin) sul pool di identità per la forza lavoro di destinazione
  • Modifica i binding dei criteri per i criteri Principal Access Boundary associati ai pool di identità del workload: Amministratore pool Workload Identity IAM (roles/iam.workloadIdentityPoolAdmin) sul progetto proprietario del pool di identità del workload di destinazione
  • Recupera lo stato di un'operazione a lunga esecuzione per la modifica di un binding che fa riferimento a un pool di identità del workload: Visualizzatore operazioni IAM (roles/iam.operationViewer) sul progetto proprietario del pool di identità del workload di destinazione
  • Modifica i binding dei criteri per i criteri Principal Access Boundary associati a un dominio Google Workspace: Amministratore IAM del pool Workspace (roles/iam.workspacePoolAdmin) nell'organizzazione
  • Modifica le associazioni di policy per le policy sul confine di accesso dell'entità associate al set di entità di un progetto: Project IAM Admin (roles/resourcemanager.projectIamAdmin) sul progetto
  • Ottieni lo stato di un'operazione a lunga esecuzione per la modifica di un binding che fa riferimento al set di entità di un progetto: Visualizzatore operazioni IAM (roles/iam.operationViewer) sul progetto
  • Modifica le associazioni di policy per le policy sul confine di accesso dell'entità associate al set di entità di una cartella: Amministratore IAM cartella (roles/resourcemanager.folderIamAdmin) nella cartella
  • Modifica le associazioni di policy per le policy sul confine di accesso dell'entità associate a un insieme di entità dell'organizzazione: Amministratore dell'organizzazione (roles/resourcemanager.organizationAdmin) sull'organizzazione

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 modificare le associazioni di policy per le policy di Principal Access Boundary. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per modificare le associazioni dei criteri per i criteri di Principal Access Boundary sono necessarie le seguenti autorizzazioni:

  • iam.principalaccessboundarypolicies.bind sull'organizzazione
  • Modifica le associazioni di policy per le policy di Principal Access Boundary associate ai pool di identità della forza lavoro: iam.workforcePools.updatePolicyBinding sul pool di identità della forza lavoro di destinazione
  • Modifica i binding delle policy per le policy sul confine di accesso dell'entità associate ai pool di identità del workload: iam.workloadIdentityPools.updatePolicyBinding sul progetto proprietario del pool di identità del workload di destinazione
  • Recupera lo stato di un'operazione a lunga esecuzione per la modifica di un'associazione che fa riferimento a un pool di identità del workload: iam.operations.get sul progetto proprietario del pool di identità del workload di destinazione
  • Modifica le associazioni di policy per le policy di Principal Access Boundary associate a un dominio Google Workspace: iam.workspacePools.updatePolicyBinding sull'organizzazione
  • Modifica le associazioni di policy per le policy sul confine di accesso dell'entità associate al set di entità di un progetto: resourcemanager.projects.updatePolicyBinding sul progetto
  • Recupera lo stato di un'operazione a lunga esecuzione per la modifica di un binding che fa riferimento al set di entità di un progetto: iam.operations.get sul progetto
  • Modifica le associazioni di policy per le policy sul confine di accesso dell'entità associate all'insieme di entità di una cartella: resourcemanager.folders.updatePolicyBinding nella cartella
  • Modifica le associazioni di policy per le policy di confine dell'accesso dell'entità associate all'insieme di entità di un'organizzazione: resourcemanager.organizations.updatePolicyBinding sull'organizzazione

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

Modifica una policy sul confine di accesso dell'entità esistente

Se vuoi aggiungere regole a una policy di Principal Access Boundary, rimuovere regole da una policy di Principal Access Boundary o modificare i metadati di una policy di Principal Access Boundary, modifica la policy di Principal Access Boundary.

Puoi modificare una policy del 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 di Principal Access Boundary.

    Vai alle policy di Principal Access Boundary

  2. Seleziona l'organizzazione proprietaria del criterio del confine dell'accesso dell'entità che vuoi modificare.

  3. Fai clic sull'ID policy della policy sul confine di accesso dell'entità che vuoi modificare.

  4. Fai clic su Modifica policy.

  5. Per modificare le regole del criterio:

    1. Fai clic sulla regola che vuoi modificare.
    2. Modifica la descrizione della regola o le risorse incluse nella regola.
    3. Fai clic su Fine.
  6. Per eliminare una regola dalla policy, fai clic su Elimina nella riga della regola.

  7. Per modificare il nome visualizzato della norma, modifica il campo Nome visualizzato.

  8. Per modificare la versione di applicazione della norma, fai clic sull'elenco Versione di applicazione e scegli un nuovo valore.

  9. (Facoltativo) Per testare le modifiche alla policy del confine di accesso dell'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 sul confine di accesso dell'entità con Policy Simulator, consulta Policy Simulator per le policy sul confine di accesso dell'entità.

  10. Fai clic su Salva.

gcloud

Il comando gcloud iam principal-access-boundary-policies update aggiorna una policy sul confine di accesso dell'entità esistente.

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

  • PAB_POLICY_ID: l'ID della policy di Principal Access Boundary che vuoi aggiornare, ad esempio example-policy.
  • ORG_ID: l'ID dell'organizzazione proprietaria della policy del perimetro di accesso dei principal. Gli ID organizzazione sono numerici, ad esempio 123456789012.
  • FIELD_TO_UPDATE=UPDATED_VALUE: i campi che vuoi aggiornare e il valore aggiornato corrispondente.

    Di seguito sono riportati alcuni esempi di flag che puoi utilizzare per aggiornare i campi nella policy:

    • --display-name=DISPLAY_NAME: Sostituisci il nome visualizzato della policy con DISPLAY_NAME.
    • --details-enforcement-version=ENFORCEMENT_VERSION: aggiorna la versione di applicazione delle norme a ENFORCEMENT_VERSION.
    • --details-rules=RULES_FILE.json: sostituisci le regole della policy di Principal Access Boundary con le regole in RULES_FILE.json. Per scoprire come formattare il file di regole, consulta Creare una policy sul confine di accesso dell'entità.

      Se utilizzi questo flag, non puoi utilizzare il flag --add-details-rules.

    • --add-details-rules=RULES_FILE: aggiungi le regole in RULES_FILE.json alle regole esistenti della policy. Per scoprire come formattare il file di regole, consulta Creare una policy sul confine di accesso dell'entità.

      Se utilizzi questo flag, non puoi utilizzare il flag --details-rules.

    • --remove-details-rules=RULES_FILE: rimuovi le regole in RULES_FILE.json dalle regole esistenti della policy. Per scoprire come formattare il file di regole, consulta Creare una policy sul confine di accesso dell'entità. Vengono rimosse solo le regole che corrispondono esattamente a una delle regole in RULES_FILE.json.

      Se utilizzi questo flag, non puoi utilizzare il flag --clear-rule-details.

    • --clear-details-rules: Cancella tutte le regole dalla policy sul confine di accesso dell'entità.

      Se utilizzi questo flag, non puoi utilizzare il flag --remove-rule-details.

    Per un elenco completo dei flag che puoi utilizzare per aggiornare una policy sul confine di accesso dell'entità, consulta il riferimento al comando gcloud iam principal-access-boundary-policies update.

  • FORMAT: il formato della risposta. Utilizza json o yaml.

Esegui questo comando:

Linux, macOS o Cloud Shell

gcloud iam principal-access-boundary-policies update PAB_POLICY_ID \
    --organization=ORG_ID --location=global \
    --FIELD_TO_UPDATE=UPDATED_VALUE \
    --format=FORMAT

Windows (PowerShell)

gcloud iam principal-access-boundary-policies update PAB_POLICY_ID `
    --organization=ORG_ID --location=global `
    --FIELD_TO_UPDATE=UPDATED_VALUE `
    --format=FORMAT

Windows (cmd.exe)

gcloud iam principal-access-boundary-policies update PAB_POLICY_ID ^
    --organization=ORG_ID --location=global ^
    --FIELD_TO_UPDATE=UPDATED_VALUE ^
    --format=FORMAT

La risposta contiene un'operazione a lunga esecuzione che rappresenta la tua richiesta. Al termine dell'operazione, la risposta stampa i criteri aggiornati dei limiti di accesso all'entità.

Request issued for: [example-policy]
Waiting for operation [organizations/123456789012/locations/global/operations/operation-1715374208720-6181fae5e2034-2d8a712b-5c92e5b9] to complete...done.
Updated principalAccessBoundaryPolicy [example-policy].
{
  "name": "organizations/123456789012/locations/global/principalAccessBoundaryPolicies/example-policy",
  "uid": "puid_13364150419245236225",
  "etag": "W/\"Gh/PcTdJD/AWHUhPW45kdw==\"",
  "displayName": "Updated display name",
  "createTime": "2024-05-07T00:05:48.295209Z",
  "updateTime": "2024-05-10T20:50:09.200421Z",
  "details": [
    "rules": {
      [
        "description": "Make principals eligible to access example.com"
        "resources": {
          "//cloudresourcemanager.googleapis.com/organizations/123456789012"
        },
        "effect": ALLOW
      ]
    },
    "enforcementVersion": "1"
  ]
}

REST

Il metodo principalAccessBoundaryPolicies.patch aggiorna una policy sul confine di accesso dell'entità esistente.

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

  • ORG_ID: l'ID dell'organizzazione proprietaria della policy del perimetro di accesso dei principal. Gli ID organizzazione sono numerici, ad esempio 123456789012.
  • PAB_POLICY_ID: l'ID della policy di Principal Access Boundary che vuoi aggiornare, ad esempio example-policy.
  • FIELDS_TO_UPDATE: un elenco separato da virgole dei campi che vuoi aggiornare. Se non specifichi i campi da aggiornare, IAM sostituisce la policy esistente con i contenuti del corpo della richiesta.

    I valori accettati sono displayName, details, details.rules, details.rules.description, details.rules.resources, details.rules.effect e details.enforcementVersion.

  • DISPLAY_NAME: (Facoltativo) Una descrizione leggibile della policy sul confine di accesso dell'entità, ad esempio Example policy. Il nome visualizzato può contenere un massimo di 63 caratteri.
  • PAB_RULES: un elenco di regole del confine di accesso dell'entità, 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 del criterio 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à possano accedere. Qualsiasi entità soggetta a questa policy è idonea ad accedere a queste risorse.

      Ogni policy sul confine di accesso dell'entità 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 la policy sul confine di accesso dell'entità.

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

    Per saperne di più su come impostare e gestire le versioni di applicazione, vedi Gestione delle versioni di applicazione.

Metodo HTTP e URL:

PATCH https://iam.googleapis.com/v3/organizations/ORG_ID/locations/global/principalAccessBoundaryPolicies/PAB_POLICY_ID?updateMask=FIELDS_TO_UPDATE

Corpo JSON della richiesta:

{
  "displayName": DISPLAY_NAME,
  "details": {
    "rules": [
      PAB_RULES
    ],
    "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-1715626721931-6185a7953ef76-76f80ee4-19cd1bf7",
  "metadata": {
    "@type": "type.googleapis.com/google.iam.v3.OperationMetadata",
    "createTime": "2024-05-13T18:58:43.721277235Z",
    "target": "organizations/123456789012/locations/global/principalAccessBoundaryPolicies/example-policy",
    "verb": "update",
    "requestedCancellation": false,
    "apiVersion": "v3"
  },
  "done": false
}

Modificare per chi viene applicata una policy sul confine di accesso dell'entità

Dopo aver creato un'associazione di policy per una policy di Principal Access Boundary, non puoi modificare l'ID policy o l'insieme di entità nell'associazione. Di conseguenza, se vuoi modificare l'entità per cui viene applicata una policy di Principal Access Boundary, devi eseguire una delle seguenti operazioni:

  • Per perfezionare l'insieme di entità per cui viene applicata una policy sul confine di accesso dell'entità, puoi modificare le condizioni nell'associazione della policy. Per modificare le condizioni in un'associazione, modifica l'associazione di policy.
  • Per applicare la policy sul confine di accesso dell'entità a un insieme di entità aggiuntivo, crea una nuova associazione di policy che associa la policy a quell'insieme di entità.
  • Per rimuovere una policy sul confine di accesso dell'entità da un insieme di entità, elimina l'associazione della policy che la associa all'insieme di entità.

Modifica delle associazioni di policy esistenti per le policy sul confine di accesso dell'entità

Dopo aver creato un'associazione di policy, puoi modificarla per cambiare le condizioni o il nome visualizzato.

Puoi modificare 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 di Principal Access Boundary.

    Vai alle policy di Principal Access Boundary

  2. Seleziona l'organizzazione proprietaria del criterio del confine dell'accesso dell'entità che vuoi modificare.

  3. Fai clic sull'ID della policy sul confine di accesso dell'entità di cui vuoi modificare le associazioni.

  4. Fai clic sulla scheda Binding.

  5. Trova l'ID del binding che vuoi modificare. Nella riga dell'associazione, fai clic su Azioni, poi su Modifica associazione.

  6. Per aggiornare il nome visualizzato del binding, modifica il campo Nome visualizzato.

  7. Per aggiungere 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 di condizione che utilizza la sintassi 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.
  8. Per aggiornare una condizione esistente:

    1. Fai clic su Modifica condizione accanto al nome della condizione.
    2. Aggiorna il titolo, la descrizione o l'espressione della condizione.
    3. Fai clic su Salva.
  9. (Facoltativo) Per testare le modifiche all'associazione di policy del confine di accesso dell'entità con Policy Simulator, fai clic su Testa modifiche. Esamina i risultati della simulazione e aggiorna l'associazione di policy, se necessario.

    Per scoprire di più sul test delle policy sul confine di accesso dell'entità con Policy Simulator, consulta Policy Simulator per le policy sul confine di accesso dell'entità.

  10. Per salvare le modifiche, fai clic su Salva.

gcloud

Il comando gcloud iam policy-bindings update aggiorna un'associazione di policy esistente.

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

  • BINDING_ID: l'ID del binding della policy che vuoi aggiornare, ad esempio example-binding.
  • RESOURCE_TYPE: il tipo di risorsa Resource Manager (progetto, cartella o organizzazione) di cui il binding dei criteri è figlio. Utilizza il valore project, folder o organization

    Il tipo di risorsa dipende dall'entità impostata nell'associazione di 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.
  • FIELD_TO_UPDATE=UPDATED_VALUE: i campi che vuoi aggiornare e il valore aggiornato corrispondente.

    Di seguito sono riportati alcuni esempi di flag che puoi utilizzare per aggiornare i campi in un'associazione di policy:

    • --display-name=DISPLAY_NAME: Sostituisci il nome visualizzato dell'associazione con DISPLAY_NAME.
    • --condition-description=CONDITION_DESCRIPTION: se l'associazione ha una condizione, sostituisci la descrizione della condizione con CONDITION_DESCRIPTION. In caso contrario, aggiungi una nuova condizione al binding con la descrizione specificata. Se utilizzi questo flag per aggiornare un binding che non ha una condizione, devi impostare anche il flag --condition-expression.
    • --condition-expression=CONDITION_EXPRESSION: se l'associazione ha una condizione, sostituisci l'espressione della condizione con CONDITION_EXPRESSION. In caso contrario, aggiungi una nuova condizione al binding con l'espressione specificata.
    • --condition-title=CONDITION_TITLE: se l'associazione ha una condizione, sostituisci il titolo della condizione con CONDITION_TITLE. In caso contrario, aggiungi una nuova condizione al binding con il titolo specificato. Se utilizzi questo flag per aggiornare un binding senza una condizione, devi impostare anche il flag --condition-expression.

    Per un elenco completo dei campi che puoi aggiornare, consulta la documentazione di riferimento del comando gcloud iam policy-bindings update.

  • FORMAT: il formato della risposta. Utilizza json o yaml.

Esegui questo comando:

Linux, macOS o Cloud Shell

gcloud iam policy-bindings update BINDING_ID \
    --RESOURCE_TYPE=RESOURCE_ID --location=global \
    --FIELD_TO_UPDATE=UPDATED_VALUE \
    --format=FORMAT

Windows (PowerShell)

gcloud iam policy-bindings update BINDING_ID `
    --RESOURCE_TYPE=RESOURCE_ID --location=global `
    --FIELD_TO_UPDATE=UPDATED_VALUE `
    --format=FORMAT

Windows (cmd.exe)

gcloud iam policy-bindings update BINDING_ID ^
    --RESOURCE_TYPE=RESOURCE_ID --location=global ^
    --FIELD_TO_UPDATE=UPDATED_VALUE ^
    --format=FORMAT

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.

Update request issued for: [my-binding]
Waiting for operation [organizations/123456789012/locations/global/operations/operation-1715374545618-6181fc272c6f9-55ff07f4-97d0ac76] to complete...done.
Updated policyBinding [my-binding].
{
  "createTime": "2024-05-06T18:08:24.729843Z",
  "displayName": "Updated display name",
  "etag": "W/\"xkdnPfTxoxyVqOwhQSJbMg==\"",
  "name": "organizations/123456789012/locations/global/policyBindings/example-binding",
  "policy": "organizations/123456789012/locations/global/principalAccessBoundaryPolicies/example-pab-policy",
  "policyKind": "PRINCIPAL_ACCESS_BOUNDARY",
  "policyUid": "puid_9519202237377675265",
  "target": {
    "principalSet": "//cloudresourcemanager.googleapis.com/organizations/123456789012"
  },
  "uid": "buid_9904260005517852673", 
  "updateTime": "2024-05-06T18:11:16.798841Z"
}

REST

Il metodo policyBindings.patch aggiorna un'associazione di policy esistente.

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

  • RESOURCE_TYPE: il tipo di risorsa Resource Manager (progetto, cartella o organizzazione) di cui il binding dei criteri è figlio. Utilizza il valore projects, folders o organizations

    Il tipo di risorsa dipende dall'entità impostata nell'associazione di 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: l'ID del binding della policy che vuoi aggiornare, ad esempio example-binding.
  • FIELDS_TO_UPDATE: un elenco separato da virgole dei campi che vuoi aggiornare. Se non specifichi i campi da aggiornare, IAM sostituisce l'associazione esistente con i contenuti del corpo della richiesta.

    I valori accettati sono displayName, condition, condition.expression, condition.title e condition.description.

  • DISPLAY_NAME: (Facoltativo) Una descrizione dell'associazione leggibile da una persona, 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 sul confine di accesso dell'entità. Contiene i seguenti campi:

    • expression: un'espressione di condizione che utilizza la sintassi 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/BINDING_ID?updateMask=FIELDS_TO_UPDATE

Corpo JSON della richiesta:

{
  "displayName": DISPLAY_NAME,
  "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-1715373159010-6181f6fcccfa7-dcd0055c-00c22cad",
  "metadata": {
    "@type": "type.googleapis.com/google.iam.v3.OperationMetadata",
    "createTime": "2024-05-10T20:32:39.254910121Z",
    "target": "organizations/123456789012/locations/global/policyBindings/example-binding",
    "verb": "update",
    "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 un criterio di Principal Access Boundary restituisce un'operazione a lunga esecuzione (LRO). L'operazione a lunga esecuzione monitora lo stato della richiesta e indica se la modifica alla policy o all'associazione è 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 sostituzioni seguenti:

  • OPERATION_NAME: il nome completo dell'operazione. Ricevi 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