Rimuovere i criteri di Principal Access Boundary

Le policy di Principal Access Boundary (PAB) ti consentono di limitare le risorse a cui un insieme di entità può accedere. Se non vuoi più che una policy di Principal Access Boundary venga applicata a un insieme di entità, puoi eliminare l'associazione della policy che la lega all'insieme di entità. Se vuoi rimuovere un criterio di Principal Access Boundary da tutti i set di entità a cui è associato, puoi eliminarlo.

La rimozione di una policy di Principal Access Boundary da un insieme di entità ha uno dei seguenti effetti:

  • Se le entità nell'insieme di entità non sono soggette ad altri criteri di Principal Access Boundary, potranno accedere a tutte le risorseGoogle Cloud .
  • Se le entità nel set di entità sono soggette ad altre policy di Principal Access Boundary, potranno accedere solo alle risorse in queste policy.

Prima di iniziare

  • Configurare l'autenticazione.

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

    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 eliminare le policy di Principal Access Boundary

Per ottenere l'autorizzazione necessaria per eliminare i criteri dei limiti di accesso all'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.delete necessaria per eliminare i criteri dei limiti di accesso all'entità.

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

Ruoli richiesti per eliminare le associazioni delle policy di Principal Access Boundary

Le autorizzazioni necessarie per eliminare le associazioni dei criteri per i criteri di Principal Access Boundary dipendono dall'insieme di entità associato ai criteri.

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

  • Principal Access Boundary User (roles/iam.principalAccessBoundaryUser) nella tua organizzazione
  • Elimina i binding delle policy per le policy di Principal Access Boundary associate ai pool di identità per la forza lavoro: Amministratore pool di forza lavoro IAM (roles/iam.workforcePoolAdmin) sul pool di identità per la forza lavoro di destinazione
  • Elimina i binding dei criteri per le policy di Principal Access Boundary associate ai pool Workload Identity: Amministratore pool Workload Identity IAM (roles/iam.workloadIdentityPoolAdmin) sul progetto proprietario del pool Workload Identity di destinazione
  • Ottieni lo stato di unoperazione a lunga esecuzione per l'eliminazione 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
  • Elimina i binding delle policy per le policy di Principal Access Boundary associate a un dominio Google Workspace: Workspace Pool IAM Admin (roles/iam.workspacePoolAdmin) nell'organizzazione
  • Elimina le associazioni di policy per le policy di Principal Access Boundary 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 l'eliminazione di un binding che fa riferimento a un insieme di entità del progetto: Visualizzatore operazioni IAM (roles/iam.operationViewer) sul progetto
  • Elimina le associazioni dei criteri per le policy di Principal Access Boundary associate al set di entità di una cartella: Amministratore IAM cartella (roles/resourcemanager.folderIamAdmin) nella cartella
  • Elimina le associazioni di policy per le policy di Principal Access Boundary associate a un insieme di entità dell'organizzazione: Amministratore dell'organizzazione (roles/resourcemanager.organizationAdmin) sull'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 eliminare le associazioni delle policy per le policy di Principal Access Boundary. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per eliminare le associazioni di policy per le policy di Principal Access Boundary sono necessarie le seguenti autorizzazioni:

  • iam.principalaccessboundarypolicies.unbind sull'organizzazione
  • Elimina le associazioni di policy per le policy di Principal Access Boundary associate ai pool di identità della forza lavoro: iam.workforcePools.deletePolicyBinding nel pool di identità della forza lavoro di destinazione
  • Elimina le associazioni di policy per le policy di Principal Access Boundary associate ai pool di identità del workload: iam.workloadIdentityPools.deletePolicyBinding nel progetto proprietario del pool di identità del workload di destinazione
  • Recupera lo stato di unoperazione a lunga esecuzione per l'eliminazione di un binding che fa riferimento a un pool di identità del workload: iam.operations.get sul progetto proprietario del pool di identità del workload di destinazione
  • Elimina le associazioni di policy per le policy di Principal Access Boundary associate a un dominio Google Workspace: iam.workspacePools.deletePolicyBinding nell'organizzazione
  • Elimina le associazioni di policy per le policy di Principal Access Boundary associate a un insieme di entità di un progetto: resourcemanager.projects.deletePolicyBinding sul progetto
  • Visualizza lo stato di un'operazione a lunga esecuzione per l'eliminazione di un binding che fa riferimento al set di entità di un progetto: iam.operations.get sul progetto
  • Elimina le associazioni di policy per le policy di Principal Access Boundary associate a un insieme di entità di una cartella: resourcemanager.folders.deletePolicyBinding nella cartella
  • Elimina le associazioni di policy per le policy di Principal Access Boundary associate al set di entità di un'organizzazione: resourcemanager.organizations.deletePolicyBinding nell'organizzazione

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

Preparati a rimuovere una policy di Principal Access Boundary

Prima di rimuovere una policy di Principal Access Boundary, decidi quale dei seguenti obiettivi vuoi raggiungere:

  • Rendere le entità in un insieme di entità idonee ad accedere a tutte le risorse
  • Ridurre il numero di risorse a cui possono accedere le entità in un insieme di entità

Le sezioni seguenti descrivono i passaggi da seguire per raggiungere ciascuno di questi obiettivi.

Rendere le entità idonee ad accedere a tutte le risorse

Se vuoi rendere le entità in un insieme di entità idonee ad accedere a tutte le risorse, procedi nel seguente modo:

  1. Identifica tutte le policy di Principal Access Boundary associate all'insieme di entità.
  2. Rimuovi tutte le policy di Principal Access Boundary associate al principal impostato eliminando le associazioni di policy pertinenti.

Se un'entità non è soggetta ad alcuna policy di Principal Access Boundary, è idonea ad accedere a tutte le risorse Google Cloud .

L'idoneità all'accesso a una risorsa non significa necessariamente che un utente sia in grado di accedere a una risorsa. Per ulteriori informazioni, consulta la sezione Valutazione delle policy.

Ridurre le risorse a cui le entità possono accedere

Se le entità in un set di entità sono soggette a più policy di Principal Access Boundary, puoi ridurre il numero di risorse a cui le entità possono accedere rimuovendo una o più policy di Principal Access Boundary a cui sono soggette. Tuttavia, non rimuovere in nessun momento tutte le policy di Principal Access Boundary a cui sono soggette le entità. In caso contrario, le entità potranno accedere a tutte le risorse Google Cloud .

Per rimuovere una policy di Principal Access Boundary assicurandoti che le entità in un insieme di entità siano sempre soggette ad almeno una policy di Principal Access Boundary, segui questi passaggi:

  1. Identifica tutte le policy di Principal Access Boundary associate all'insieme di entità.
  2. Identifica le policy di Principal Access Boundary che contengono solo le risorse a cui vuoi che le entità nell'insieme di entità possano accedere. Questi sono i criteri che non rimuoverai dal set di entità.

    Se non hai queste norme, crea una nuova norma di Principal Access Boundary con solo le risorse a cui vuoi che le entità possano accedere. Quindi, allega la policy al set di entità.

  3. Identifica le policy di Principal Access Boundary che contengono risorse a cui non vuoi che le entità nell'insieme di entità possano accedere. Poi, rimuovi queste policy di Principal Access Boundary eliminando l'associazione della policy pertinente.

    Se vuoi ridurre l'accesso per entità specifiche, aggiungi una condizione al binding della policy anziché eliminarlo.

Se vuoi ridurre il numero di risorse a cui un'entità può accedere, ma non vuoi rimuovere le policy di Principal Access Boundary, puoi invece modificare le policy di Principal Access Boundary a cui è soggetta l'entità. Per scoprire come modificare le policy di Principal Access Boundary, consulta Modificare le policy di Principal Access Boundary.

Testa l'eliminazione di una policy o di un'associazione di Principal Access Boundary

Prima di eseguire il commit per eliminare una policy o un'associazione Principal Access Boundary, ti consigliamo di testare in che modo la modifica potrebbe influire sull'accesso delle entità. Puoi utilizzare Policy Simulator per simulare un'eliminazione e comprendere il potenziale impatto.

Per testare un'eliminazione, consulta le seguenti procedure nella documentazione di Policy Intelligence:

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.

Rimuovere una policy di Principal Access Boundary da un insieme di entità

Prima di rimuovere una policy di Principal Access Boundary da un insieme di entità, preparati alla rimozione della policy. Poi rimuovi il criterio eliminando l'associazione di criteri che lo associa al set di entità.

Puoi eliminare 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 del criterio del confine dell'accesso dell'entità la cui associazione vuoi eliminare.

  3. Fai clic sull'ID policy di Principal Access Boundary di cui vuoi eliminare le associazioni.

  4. Fai clic sulla scheda Binding.

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

  6. Nella finestra di dialogo di conferma, fai clic su Elimina.

gcloud

Il comando gcloud iam policy-bindings delete elimina un'associazione di policy.

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

  • BINDING_ID: l'ID del binding della policy che vuoi eliminare, 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.

Esegui questo comando:

Linux, macOS o Cloud Shell

gcloud iam policy-bindings delete BINDING_ID \
    --RESOURCE_TYPE=RESOURCE_ID --location=global

Windows (PowerShell)

gcloud iam policy-bindings delete BINDING_ID `
    --RESOURCE_TYPE=RESOURCE_ID --location=global

Windows (cmd.exe)

gcloud iam policy-bindings delete BINDING_ID ^
    --RESOURCE_TYPE=RESOURCE_ID --location=global

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.

Delete request issued for: [example-binding]
Waiting for operation [organizations/123456789012/locations/global/operations/operation-1715374724030-6181fcd1520c5-d21b0a12-b704e1ce] to complete...done.
Deleted policyBinding [example-binding].

REST

Il metodo policyBindings.delete elimina 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: l'ID del binding della policy che vuoi eliminare, ad esempio example-binding.

Metodo HTTP e URL:

DELETE https://iam.googleapis.com/v3/RESOURCE_TYPE/RESOURCE_ID/locations/global/policyBindings/BINDING_ID

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-1715373190994-6181f71b4daad-6d8168c1-13cc6600",
  "metadata": {
    "@type": "type.googleapis.com/google.iam.v3.OperationMetadata",
    "createTime": "2024-05-10T20:33:11.165728913Z",
    "target": "organizations/123456789012/locations/global/policyBindings/example-binding",
    "verb": "delete",
    "requestedCancellation": false,
    "apiVersion": "v3"
  },
  "done": false
}

Elimina una policy di Principal Access Boundary

Prima di eliminare una policy di Principal Access Boundary, ti consigliamo di identificare ed eliminare tutte le associazioni di policy di Principal Access Boundary che fanno riferimento alla policy di Principal Access Boundary.

Se elimini una policy di Principal Access Boundary con associazioni di policy esistenti, queste verranno eliminate. Tuttavia, fino a quando non vengono eliminate, le associazioni delle policy vengono comunque conteggiate ai fini del limite di 10 associazioni che possono fare riferimento a un singolo set di entità.

Puoi eliminare una policy del confine di accesso per i 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 proprietaria del criterio del confine dell'accesso dell'entità la cui associazione vuoi eliminare.

  3. Trova l'ID della norma che vuoi eliminare. Nella riga del criterio, fai clic su Azioni, poi su Elimina criterio.

  4. Nella finestra di dialogo di conferma, conferma che vuoi eliminare il criterio:

    • Per eliminare il criterio solo se non ha associazioni, fai clic su Elimina.
    • Per eliminare la policy e tutte le associazioni associate, seleziona la casella di controllo Elimina la policy in modo forzato, quindi fai clic su Elimina.

gcloud

Il comando gcloud iam gcloud iam principal-access-boundary-policies delete elimina una policy di Principal Access Boundary e tutte le associazioni correlate.

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

  • PAB_POLICY_ID: l'ID della policy di confine di accesso dell'entità che vuoi eliminare, ad esempio example-policy.
  • ORG_ID: l'ID dell'organizzazione proprietaria della policy del confine di accesso del principal. Gli ID organizzazione sono numerici, ad esempio 123456789012.
  • FORCE_FLAG: Facoltativo. Per forzare l'eliminazione di una policy, anche se viene fatta riferimento in binding delle policy esistenti, utilizza il flag --force. Se questo flag non è impostato e il criterio viene fatto riferimento in binding dei criteri esistenti, il comando non va a buon fine.

Esegui questo comando:

Linux, macOS o Cloud Shell

gcloud iam principal-access-boundary-policies delete PAB_POLICY_ID \
    --organization=ORG_ID --location=global FORCE_FLAG

Windows (PowerShell)

gcloud iam principal-access-boundary-policies delete PAB_POLICY_ID `
    --organization=ORG_ID --location=global FORCE_FLAG

Windows (cmd.exe)

gcloud iam principal-access-boundary-policies delete PAB_POLICY_ID ^
    --organization=ORG_ID --location=global FORCE_FLAG

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.

Delete request issued for: [example-policy]
Waiting for operation [organizations/123456789012/locations/global/operations/operation-1715374811191-6181fd2471ab4-f0947406-85778c43] to complete...
Waiting for operation [organizations/123456789012/locations/global/operations/operation-1715374811191-6181fd2471ab4-f0947406-85778c43] to complete...done.
Deleted principalAccessBoundaryPolicy [example-policy].

REST

Il metodo principalAccessBoundaryPolicies.delete elimina una policy di Principal Access Boundary e tutte le associazioni correlate.

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

  • ORG_ID: l'ID dell'organizzazione proprietaria della policy del confine di accesso del principal. Gli ID organizzazione sono numerici, ad esempio 123456789012.
  • PAB_POLICY_ID: l'ID della policy di confine di accesso dell'entità che vuoi eliminare, ad esempio example-policy.
  • FORCE_DELETE: (Facoltativo) Per forzare la richiesta di eliminazione del criterio, anche se il criterio viene fatto riferimento in associazioni di criteri esistenti, aggiungi il parametro di query force=true. Se questo parametro di query non è impostato e viene fatto riferimento al criterio nei binding dei criteri esistenti, la richiesta non va a buon fine.

Metodo HTTP e URL:

DELETE https://iam.googleapis.com/v3/organizations/ORG_ID/locations/global/principalAccessBoundaryPolicies/PAB_POLICY_ID?FORCE_DELETE

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-1715373190994-6181f71b4daad-6d8168c1-13cc6600",
  "metadata": {
    "@type": "type.googleapis.com/google.iam.v3.OperationMetadata",
    "createTime": "2024-05-10T20:33:11.165728913Z",
    "target": "organizations/123456789012/locations/global/policyBindings/example-policy",
    "verb": "delete",
    "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