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

I criteri di Principal Access Boundary (PAB) consentono di limitare le risorse impostate di entità idonee all'accesso. In questa pagina viene spiegato come creare e applicare i criteri 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 dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite a gcloud CLI.

      Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init

    Per ulteriori informazioni, vedi Esegui l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.

  • Leggi la panoramica dei criteri di Principal Access Boundary.

Ruoli necessari per creare criteri di Principal Access Boundary

Per ottenere l'autorizzazione necessaria per creare criteri di Principal Access Boundary, chiedi all'amministratore di concederti Ruolo IAM Amministratore Principal Access Boundary (roles/iam.principalAccessBoundaryAdmin) nella tua organizzazione. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.

Questo ruolo predefinito contiene iam.principalaccessboundarypolicies.create autorizzazione, che è obbligatorio crea criteri di Principal Access Boundary.

Potresti anche riuscire a ottenere questa autorizzazione con ruoli personalizzati e altri ruoli predefiniti.

Ruoli necessari per applicare i criteri di Principal Access Boundary

Le autorizzazioni necessarie per applicare un criterio di Principal Access Boundary dipendono dal set di entità a cui vuoi applicare il criterio.

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

  • Utente di confine dell'accesso dell'entità (roles/iam.principalAccessBoundaryUser) nell'organizzazione
  • Applica i criteri di Principal Access Boundary ai pool della federazione delle identità per la forza lavoro: Amministratore pool di forza lavoro IAM (roles/iam.workforcePoolAdmin) nel pool federazione delle identità per la forza lavoro di destinazione
  • Applica i criteri di confine di accesso dei principali ai pool di federazione delle identità per il carico di lavoro: Amministratore pool Workload Identity IAM (roles/iam.workloadIdentityPoolAdmin) nel progetto proprietario del pool di federazione delle identità per la forza lavoro di destinazione
  • Applica i criteri di Principal Access Boundary a un dominio Google Workspace: Amministratore IAM pool di aree di lavoro (roles/iam.workspacePoolAdmin) dell'organizzazione
  • Applica i criteri di confine di accesso delle entità al set di entità di un progetto: Amministratore IAM del progetto (roles/resourcemanager.projectIamAdmin) nel progetto
  • Applica i criteri di Principal Access Boundary all'insieme di entità di una cartella: Amministratore IAM cartella (roles/resourcemanager.folderIamAdmin) nella cartella
  • Applica i criteri di Principal Access Boundary al set di entità di un'organizzazione: Amministratore organizzazione (roles/resourcemanager.organizationAdmin) dell'organizzazione

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

Questi ruoli predefiniti contengono le autorizzazioni necessarie per applicare i criteri di Principal Access Boundary. Per vedere le autorizzazioni esatte obbligatorie, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

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

  • iam.principalaccessboundarypolicies.bind sull'organizzazione
  • Applica i criteri di Principal Access Boundary ai pool della federazione delle identità per la forza lavoro: iam.workforcePools.createPolicyBinding nel pool federazione delle identità per la forza lavoro di destinazione
  • Applica i criteri di Principal Access Boundary ai pool della federazione di Workload Identity: iam.workloadIdentityPools.createPolicyBinding sul progetto proprietario del pool federazione delle identità per la forza lavoro di destinazione
  • Applica i criteri di Principal Access Boundary a un dominio Google Workspace: iam.workspacePools.createPolicyBinding dell'organizzazione
  • Applica i criteri di Principal Access Boundary al set di entità di un progetto: resourcemanager.projects.createPolicyBinding del progetto
  • Applica i criteri di Principal Access Boundary a un set di entità di una cartella: resourcemanager.folders.createPolicyBinding sulla cartella
  • Applica i criteri di Principal Access Boundary al set di entità di un'organizzazione: resourcemanager.organizations.createPolicyBinding dell'organizzazione

Potresti anche riuscire a ottenere queste autorizzazioni con ruoli personalizzati e altri ruoli predefiniti.

Crea un criterio di Principal Access Boundary

Per creare un criterio di Principal Access Boundary, puoi utilizzare la console Google Cloud gcloud CLI o l'API REST IAM.

Console

  1. Nella console Google Cloud, vai alla pagina Regole di confine di accesso principale.

    Vai a Principal Access Boundary norme

  2. Seleziona l'organizzazione per la quale vuoi creare criteri di Principal Access Boundary .

  3. Fai clic su Crea criterio.

  4. Aggiungi al criterio le regole di Principal Access Boundary:

    1. Fai clic su Aggiungi regola di confine.
    2. Nel campo Descrizione, aggiungi una descrizione del limite di accesso all'entità regola del criterio. La descrizione può contenere al massimo 256 caratteri.
    3. Nella sezione Risorse, inserisci tutte le risorse di Resource Manager (progetti, cartelle e organizzazioni) a cui vuoi che gli entità possano accedere. Qualsiasi entità soggetta a queste norme è idoneo per accedere a queste risorse.

      Ogni criterio di limite di accesso all'entità può fare riferimento a un massimo di 500 risorse in tutte le regole del criterio.

    4. Fai clic su Fine.

    5. Per aggiungere altre regole dei criteri, ripeti questi passaggi. Ogni criterio di Principal Access Boundary può avere fino a 500 regole.

  5. Nella sezione Nome della norma, inserisci il nome della norma. Il nome può essere un massimo di 63 caratteri.

  6. Nell'elenco Versione applicazione, seleziona la versione di applicazione per il regolamento. La versione del criterio di limite di accesso all'entità determina per quali autorizzazioni IAM viene applicato il criterio.

    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 beta iam principal-access-boundary-policies create crea un criterio di confine dell'accesso dell'entità.

Prima di utilizzare uno qualsiasi dei dati di comando riportati di seguito, effettua le seguenti sostituzioni:

  • ORG_ID: l'ID dell'organizzazione che vuoi il criterio di Principal Access Boundary. Gli ID organizzazione sono numerici, ad esempio 123456789012.
  • PAB_POLICY_ID: un ID univoco per il criterio di Principal Access Boundary, ad esempio example-policy. :
  • DISPLAY_NAME: facoltativo. Una descrizione in formato leggibile da parte dell'utente del criterio di confine dell'accesso dell'entità, ad esempio Example policy. Il nome visualizzato può contenere un massimo di 63 caratteri.
  • FILE_PATH: il percorso di un file JSON contenente il criterio di Principal Access Boundary dettagli della regola. Questo file deve avere il seguente formato:

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

    Sostituisci i seguenti valori:

    • DESCRIPTION: facoltativo. Descrizione del limite di accesso all'entità regola del criterio. La descrizione può contenere al massimo 256 caratteri.
    • RESOURCES: un elenco di risorse Resource Manager (progetti, cartelle e organizzazioni) a cui vuoi che le entità possano accedere. Qualsiasi l'entità soggetta a queste norme è idonea per accedere a queste risorse.

      Ogni criterio di limite di accesso all'entità può fare riferimento a un massimo di 500 risorse in tutte le regole del criterio.

  • ENFORCEMENT_VERSION: la versione dei criteri di Principal Access Boundary che IAM per l'applicazione dei criteri. La versione di applicazione determina quali autorizzazioni vengono applicate da IAM il criterio di Principal Access Boundary.

    I valori accettati sono 1 e latest.

    Per saperne di più sulle versioni di applicazione, consulta Applicazione di Principal Access Boundary le versioni secondarie.

Esegui il seguente comando:

Linux, macOS o Cloud Shell

gcloud beta 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 beta 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 beta 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.

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

La principalAccessBoundaryPolicies.create crea un criterio di Principal Access Boundary.

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

  • ORG_ID: l'ID dell'organizzazione in cui vuoi creare il criterio di Principal Access Boundary. Gli ID organizzazione sono numerici, ad esempio 123456789012.
  • PAB_POLICY_ID: un ID univoco per il criterio di Principal Access Boundary, ad esempio example-policy.
  • DISPLAY_NAME: facoltativo. Un file leggibile descrizione del criterio di Principal Access Boundary, ad esempio Example policy. Il display può contenere un massimo di 63 caratteri.
  • PAB_RULES: un elenco di regole di Principal Access Boundary che definiscono le risorse che le entità interessate sono idonee all'accesso. 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. Descrizione del limite di accesso all'entità regola del criterio. La descrizione può contenere al massimo 256 caratteri.
    • RESOURCES: un elenco di risorse Resource Manager (progetti, cartelle, e organizzazioni) a cui vuoi che le entità siano idonee ad accedere. Qualsiasi entità soggetto a queste norme è idoneo per accedere a queste risorse.

      Ogni criterio di Principal Access Boundary può fare riferimento a un massimo di 500 in tutte le regole del criterio.

  • ENFORCEMENT_VERSION: la versione dei criteri di Principal Access Boundary che IAM per l'applicazione dei criteri. La versione di applicazione determina quali autorizzazioni vengono applicate da IAM il criterio di Principal Access Boundary.

    I valori accettati sono 1 e latest.

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

Metodo HTTP e URL:

POST https://iam.googleapis.com/v3beta/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 delle seguenti opzioni:

La risposta contiene un'operazione a lunga esecuzione che rappresenta la tua richiesta.

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

Applica un criterio di Principal Access Boundary a un set di entità

Per applicare un criterio di confine dell'accesso dell'entità a un insieme di entità, crea una risorsa di associazione al criterio che associ il criterio all'insieme di entità. Dopo aver creato un criterio associazione, il criterio di Principal Access Boundary nell'associazione viene applicato in modo nell'associazione.

Puoi creare un'associazione di criteri utilizzando la console Google Cloud, la riga di comando gcloud o l'API REST IAM.

Console

  1. Nella console Google Cloud, vai a Principal Access Boundary norme.

    Vai a Principal Access Boundary norme

  2. Seleziona l'organizzazione proprietaria del criterio di Principal Access Boundary che ti interessa. per cui creare un'associazione.

  3. Fai clic sull'ID del criterio di Principal Access Boundary che vuoi creare un'associazione.

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

  5. Inserisci i dettagli dell'associazione:

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

      Per saperne di più sugli entità inclusi in ogni set di entità, consulta Set di entità supportati.

  6. (Facoltativo) Per specificare quali entità nel set di entità vengono per cui viene applicato in modo forzato il criterio 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 del .
    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 linguaggio Common Expression Language (CEL). La deve fare riferimento a principal.type o principal.subject personalizzati. Altri attributi non sono supportati.
    5. Fai clic su Salva.
  7. Per creare l'associazione, fai clic su Aggiungi.

gcloud

La gcloud beta iam policy-bindings create crea un'associazione di criteri.

Prima di utilizzare uno qualsiasi dei dati di comando riportati di seguito, effettua le seguenti sostituzioni:

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

    Il tipo di risorsa dipende dal set di entità nell'associazione di criteri. Per vedere quale risorsa tipo da utilizzare, consulta Entità supportata di classificazione.

  • RESOURCE_ID: l'ID del progetto, della cartella o dell'organizzazione di cui è un elemento secondario il vincolo dei criteri. Gli ID progetto sono stringhe alfanumeriche, come my-project. Gli ID cartella e organizzazione sono numerici, ad esempio123456789012.
  • ORG_ID: l'ID dell'organizzazione proprietaria del criterio di Principal Access Boundary da associare al set di entità. Gli ID organizzazione sono numerici, ad esempio 123456789012.
  • PAB_POLICY_ID: l'ID del criterio di Principal Access Boundary che vuoi associare al set di entità, ad esempio example-pab-policy. Non puoi modificare questa impostazione dopo aver creato l'associazione dei criteri.
  • PRINCIPAL_SET: il set di entità a cui vuoi associare il criterio. Per un elenco dei tipi di entità validi, consulta Set di entità supportati. Non puoi modificare questo valore dopo aver creato l'associazione dei criteri.
  • DISPLAY_NAME: facoltativo. R descrizione leggibile dell'associazione, ad esempio Example binding. La il nome visualizzato può contenere un massimo di 63 caratteri.
  • CONDITION_DETAILS: facoltativo. Un'espressione di condizione che specifica quali entità Nel set di entità viene applicato in modo forzato il criterio 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 principal.type o principal.subject attributi. Gli altri attributi non sono supportati.

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

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

Esegui la persone che seguo :

Linux, macOS o Cloud Shell

gcloud beta 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 beta 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 beta 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.

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

La policyBindings.create crea un'associazione di criteri.

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

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

    Il tipo di risorsa dipende dal set di entità nell'associazione di criteri. Per vedere quale risorsa tipo da utilizzare, consulta Entità supportata di classificazione.

  • RESOURCE_ID: l'ID del progetto, della cartella o dell'organizzazione di cui è un elemento secondario il vincolo 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 criteri, ad esempio example-binding.
  • DISPLAY_NAME: facoltativo. Una descrizione leggibile della associazione, ad esempio Example binding. La il nome visualizzato può contenere un massimo di 63 caratteri.
  • PRINCIPAL_SET: il set di entità a cui vuoi associare il criterio. Per un elenco dei tipi di entità validi, consulta Set di entità supportati. Non puoi modificare questo valore dopo aver creato l'associazione dei criteri.
  • ORG_ID: l'ID dell'organizzazione proprietaria del criterio di Principal Access Boundary da associare al set di entità. Gli ID organizzazione sono numerici, ad esempio 123456789012.
  • PAB_POLICY_ID: l'ID del criterio di Principal Access Boundary che vuoi associare al set di entità, ad esempio example-pab-policy. Non puoi modificare questa impostazione dopo aver creato l'associazione dei criteri.
  • CONDITION_DETAILS: facoltativo. Un'espressione di condizione che specifica quali entità Nel set di entità viene applicato in modo forzato il criterio 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 principal.type o principal.subject attributi. Altri attributi non sono supportati.

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

    • 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/v3beta/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 delle seguenti opzioni:

La risposta contiene un'operazione a lunga esecuzione che rappresenta la tua richiesta.

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

Passaggi successivi