Utilizzo dei vincoli

Questa guida spiega come creare un criterio dell'organizzazione con un particolare vincolo. I vincoli utilizzati negli esempi su questa pagina non sono vincoli effettivi, ma esempi generalizzati a scopo didattico.

Per ulteriori informazioni sui vincoli e sui problemi che possono risolvere, consulta l'elenco di tutti i vincoli del servizio Criteri dell'organizzazione.

Prima di iniziare

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per gestire i criteri dell'organizzazione, chiedi all'amministratore di concederti il ruolo IAM Amministratore criteri organizzazione (roles/orgpolicy.policyAdmin) per l'organizzazione. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

Questo ruolo predefinito contiene le autorizzazioni necessarie per gestire i criteri dell'organizzazione. Per visualizzare le autorizzazioni esatte necessarie, espandi la sezione Autorizzazioni richieste:

Autorizzazioni obbligatorie

Per gestire i criteri dell'organizzazione sono necessarie le seguenti autorizzazioni:

  • orgpolicy.constraints.list
  • orgpolicy.policies.create
  • orgpolicy.policies.delete
  • orgpolicy.policies.list
  • orgpolicy.policies.update
  • orgpolicy.policy.get
  • orgpolicy.policy.set

Potresti anche essere in grado di ottenere queste autorizzazioni con i ruoli personalizzati o altri ruoli predefiniti.

Utilizzo di vincoli dell'elenco con un criterio dell'organizzazione

Configura l'applicazione forzata sulla risorsa dell'organizzazione

Puoi impostare sulla risorsa dell'organizzazione un criterio dell'organizzazione che utilizzi un vincolo di elenco per negare l'accesso a un determinato servizio. Il seguente processo descrive come impostare un criterio dell'organizzazione utilizzando Google Cloud CLI. Per istruzioni su come visualizzare e impostare i criteri dell'organizzazione utilizzando la console Google Cloud, vedi Creazione e gestione dei criteri.

I criteri dell'organizzazione che utilizzano vincoli di elenco non possono avere più di 500 singoli valori consentiti o negati e non possono superare i 32 kB. Se un criterio dell'organizzazione viene creato o aggiornato in modo da contenere più di 500 valori o superare i 32 kB, non può essere salvato correttamente e la richiesta restituirà un errore.

API v2

  1. Ottieni il criterio attuale nella risorsa dell'organizzazione utilizzando il comando describe. Il comando seguente restituisce il criterio applicato direttamente a questa risorsa:

    gcloud org-policies describe \
      LIST_CONSTRAINT --organization=ORGANIZATION_ID
    

    Dove:

    • ORGANIZATION_ID è un identificatore univoco della risorsa organizzazione. L'ID organizzazione ha il formato di numeri decimali e non può avere zero iniziali.

    • LIST_CONSTRAINT è il vincolo dell'elenco per il servizio che vuoi applicare in modo forzato.

    Puoi anche applicare il criterio dell'organizzazione a una cartella o a un progetto con i flag --folder o --project e rispettivamente l'ID cartella e l'ID progetto.

    La risposta restituirà l'attuale criterio dell'organizzazione, se esistente. Ad esempio:

    name: projects/841166443394/policies/gcp.resourceLocations
    spec:
      etag: BwW5P5cEOGs=
      inheritFromParent: true
      rules:
      - condition:
          expression: resource.matchTagId("tagKeys/1111", "tagValues/2222")
        values:
          allowedValues:
          - in:us-east1-locations
      - condition:
          expression: resource.matchTag("123/env", "prod")
        values:
          allowedValues:
          - in:us-west1-locations
      - values:
          deniedValues:
          - in:asia-south1-locations
      updateTime: '2021-01-19T12:00:51.095Z'
    

    Se non viene configurato un criterio, verrà restituito un errore NOT_FOUND:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  2. Imposta il criterio nell'organizzazione utilizzando il comando set-policy. Tutti i criteri attualmente associati alla risorsa verranno sovrascritti.

    1. Crea un file temporaneo /tmp/policy.yaml per archiviare il criterio:

      name: organizations/ORGANIZATION_ID/policies/LIST_CONSTRAINT
      spec:
        rules:
        - values:
          deniedValues:
          - VALUE_A
      
    2. Esegui il comando set-policy:

      gcloud org-policies set-policy /tmp/policy.yaml
      
  3. Visualizza il criterio attualmente in vigore utilizzando describe --effective. Questo restituisce il criterio dell'organizzazione così come viene valutato a questo punto nella gerarchia delle risorse con l'ereditarietà inclusa.

    gcloud org-policies describe \
      LIST_CONSTRAINT --effective \
      --organization=ORGANIZATION_ID
    

    L'output del comando sarà:

    name: organizations/ORGANIZATION_ID/policies/LIST_CONSTRAINT
    spec:
      rules:
        - values:
            deniedValues:
            - VALUE_A
    

    Poiché questo criterio dell'organizzazione è stato impostato a livello di organizzazione, verrà ereditato da tutte le risorse figlio che consentono l'ereditarietà.

API v1

  1. Ottieni il criterio attuale nella risorsa dell'organizzazione utilizzando il comando describe:

    gcloud resource-manager org-policies describe \
      LIST_CONSTRAINT --organization ORGANIZATION_ID
    

    Dove:

    • ORGANIZATION_ID è un identificatore univoco della risorsa organizzazione. L'ID organizzazione ha il formato di numeri decimali e non può avere zero iniziali.

    • LIST_CONSTRAINT è il vincolo dell'elenco per il servizio che vuoi applicare in modo forzato.

    Puoi anche applicare il criterio dell'organizzazione a una cartella o a un progetto con i flag --folder o --project e rispettivamente l'ID cartella e l'ID progetto.

    Poiché non viene impostato un criterio, viene restituito un criterio incompleto, come nell'esempio seguente:

    constraint: "constraints/LIST_CONSTRAINT"
    etag: BwVJi0OOESU=
    
  2. Utilizza il comando deny per aggiungere il valore negato per il servizio a cui vuoi limitare l'accesso.

    gcloud resource-manager org-policies deny \
      LIST_CONSTRAINT VALUE_A \
      --organization ORGANIZATION_ID
    

    L'output del comando sarà:

    constraint: constraints/LIST_CONSTRAINT
    etag: BwVJi0OOESU=
    listPolicy:
      deniedValues:
        - VALUE_A
    updateTime: CURRENT_TIME
    
  3. Visualizza il criterio attualmente in vigore utilizzando describe --effective.

    gcloud resource-manager org-policies describe \
      LIST_CONSTRAINT --effective \
      --organization ORGANIZATION_ID
    

    L'output del comando sarà:

    constraint: constraints/LIST_CONSTRAINT
    listPolicy:
      deniedValues:
        - VALUE_A
    

    Poiché questo criterio dell'organizzazione è stato impostato a livello di organizzazione, verrà ereditato da tutte le risorse figlio che consentono l'ereditarietà.

L'applicazione completa delle modifiche ai criteri dell'organizzazione può richiedere fino a 15 minuti.

Configura l'applicazione in un sottoalbero della gerarchia

I vincoli di elenco assumono valori definiti esplicitamente per determinare quali risorse consentire o negare. Alcuni vincoli possono anche accettare valori che utilizzano il prefisso under:, che specifica un sottoalbero con quella risorsa come radice. L'utilizzo del prefisso under: in un valore consentito o negato fa sì che il criterio dell'organizzazione agisca sulla risorsa e su tutte le risorse figlio. Per informazioni sui vincoli che consentono l'utilizzo del prefisso under:, consulta la pagina Vincoli dei criteri dell'organizzazione.

Un valore che utilizza il prefisso under: viene chiamato stringa di sottoalbero della gerarchia. Una stringa di un sottoalbero della gerarchia specifica il tipo di risorsa a cui si applica. Ad esempio, l'utilizzo di una stringa di sottoalbero di projects/PROJECT_ID durante l'impostazione del vincolo constraints/compute.storageResourceUseRestrictions consentirà o negarà l'utilizzo dello spazio di archiviazione di Compute Engine per PROJECT_ID e per tutti i suoi elementi figlio.

API v2

  1. Ottieni il criterio attuale nella risorsa dell'organizzazione utilizzando il comando describe:

    gcloud org-policies describe \
      LIST_CONSTRAINT --organization=ORGANIZATION_ID
    

    Dove:

    • ORGANIZATION_ID è un identificatore univoco per la risorsa dell'organizzazione.

    • LIST_CONSTRAINT è il vincolo dell'elenco per il servizio che vuoi applicare in modo forzato.

    Puoi anche applicare il criterio dell'organizzazione a una cartella o a un progetto con i flag --folder o --project e rispettivamente l'ID cartella e l'ID progetto.

    Se non viene configurato un criterio, verrà restituito un errore NOT_FOUND:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  2. Imposta il criterio sul progetto utilizzando il comando set-policy. Il prefisso under: imposta il vincolo per negare la risorsa denominata e tutte le relative risorse figlio.

    1. Crea un file temporaneo /tmp/policy.yaml per archiviare il criterio:

      name: organizations/ORGANIZATION_ID/policies/LIST_CONSTRAINT
      spec:
        rules:
        - values:
          deniedValues:
          - under:folders/VALUE_A
      
    2. Esegui il comando set-policy:

      gcloud org-policies set-policy /tmp/policy.yaml
      

    Dove:

    • under: è un prefisso che indica che ciò che segue è una stringa di un sottoalbero.

    • folders/VALUE_A è l'ID cartella della risorsa radice che vuoi negare. Questa risorsa e tutte le relative risorse secondarie nella gerarchia delle risorse verranno negate.

    Puoi anche applicare il prefisso under: a organizzazioni e progetti, come nei seguenti esempi:

    • under:organizations/VALUE_X

    • under:projects/VALUE_Y

  3. Visualizza il criterio attualmente in vigore utilizzando describe --effective.

    gcloud org-policies describe \
      LIST_CONSTRAINT --effective \
      --organization=ORGANIZATION_ID
    

    L'output del comando sarà:

    name: organizations/ORGANIZATION_ID/policies/LIST_CONSTRAINT
    spec:
      rules:
        - values:
            deniedValues:
            - under:folders/VALUE_A
    

    Il criterio ora valuta di negare la cartella VALUE_A e tutte le relative risorse figlio.

API v1

  1. Ottieni il criterio attuale nella risorsa dell'organizzazione utilizzando il comando describe:

    gcloud resource-manager org-policies describe \
      LIST_CONSTRAINT --organization ORGANIZATION_ID
    

    Dove:

    • ORGANIZATION_ID è un identificatore univoco per la risorsa dell'organizzazione.

    • LIST_CONSTRAINT è il vincolo dell'elenco per il servizio che vuoi applicare in modo forzato.

    Puoi anche applicare il criterio dell'organizzazione a una cartella o a un progetto con i flag --folder o --project e rispettivamente l'ID cartella e l'ID progetto.

    Poiché non viene impostato un criterio, viene restituito un criterio incompleto, come nell'esempio seguente:

    constraint: "constraints/LIST_CONSTRAINT"
    etag: BwVJi0OOESU=
    
  2. Utilizza il comando deny per aggiungere il valore negato per il servizio a cui vuoi limitare l'accesso. Il prefisso under: imposta il vincolo per negare la risorsa denominata e tutte le relative risorse figlio.

    gcloud resource-manager org-policies deny \
      LIST_CONSTRAINT under:folders/VALUE_A \
      --organization ORGANIZATION_ID
    

    Dove:

    • under: è un prefisso che indica che ciò che segue è una stringa di un sottoalbero.

    • folders/VALUE_A è l'ID cartella della risorsa principale che vuoi negare. Questa risorsa e tutte le risorse secondarie nella gerarchia delle risorse verranno rifiutate.

    • VALUE_B e VALUE_C sono progetti presenti nella gerarchia con VALUE_A come elemento padre.

    L'output del comando di negazione sarà:

    constraint: constraints/LIST_CONSTRAINT
    etag: BwVJi0OOESU=
    listPolicy:
      deniedValues:
        - under:folders/VALUE_A
    updateTime: CURRENT_TIME
    

    Puoi anche applicare il prefisso under: a organizzazioni e progetti, come nei seguenti esempi:

    • under:organizations/VALUE_X

    • under:projects/VALUE_Y

  3. Visualizza il criterio attualmente in vigore utilizzando describe --effective.

    gcloud resource-manager org-policies describe \
      LIST_CONSTRAINT --effective \
      --organization ORGANIZATION_ID
    

    L'output del comando sarà:

    constraint: constraints/LIST_CONSTRAINT
    listPolicy:
      deniedValues:
        - under:folders/VALUE_A
    

    Il criterio ora valuta di negare la cartella VALUE_A e tutte le relative risorse figlio, in questo caso VALUE_B e VALUE_C.

L'applicazione completa delle modifiche ai criteri dell'organizzazione può richiedere fino a 15 minuti.

Unisci il criterio dell'organizzazione in un progetto

Puoi impostare un criterio dell'organizzazione su una risorsa, che verrà unita a qualsiasi criterio ereditato dalla risorsa padre. Questo criterio unito verrà quindi valutato per creare un nuovo criterio effettivo basato sulle regole di ereditarietà.

API v2

  1. Ottieni il criterio attuale nella risorsa utilizzando il comando describe:

    gcloud org-policies describe \
      LIST_CONSTRAINT --project=PROJECT_ID
    

    Dove:

    • PROJECT_ID è l'identificatore univoco del progetto.

    • LIST_CONSTRAINT è il vincolo dell'elenco per il servizio che vuoi applicare in modo forzato.

    Se non viene configurato un criterio, verrà restituito un errore NOT_FOUND:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  2. Visualizza il criterio effettivo attuale utilizzando il comando describe --effective:

    gcloud org-policies describe \
      LIST_CONSTRAINT --effective \
      --project=PROJECT_ID
    

    L'output del comando includerà un valore negato che eredita dalla risorsa dell'organizzazione:

    name: projects/PROJECT_ID/policies/LIST_CONSTRAINT
    spec:
      rules:
        - values:
            deniedValues:
              - VALUE_A
    
  3. Imposta il criterio sul progetto utilizzando il comando set-policy.

    1. Crea un file temporaneo /tmp/policy.yaml per archiviare il criterio:

      name: projects/PROJECT_ID/policies/LIST_CONSTRAINT
      spec:
        inheritFromParent: true
        rules:
        - values:
          deniedValues:
          - VALUE_B
          - VALUE_C
      
    2. Esegui il comando set-policy:

      gcloud org-policies set-policy /tmp/policy.yaml
      
  4. Usa di nuovo il comando describe --effective per visualizzare il criterio aggiornato:

    gcloud org-policies describe \
      LIST_CONSTRAINT --effective \
      --project=PROJECT_ID
    

    L'output del comando includerà il risultato effettivo dell'unione del criterio dalla risorsa e da quella padre:

    name: projects/PROJECT_ID/policies/LIST_CONSTRAINT
    spec:
      rules:
        - values:
            deniedValues:
              - VALUE_A
              - VALUE_B
              - VALUE_C
    

API v1

  1. Ottieni il criterio attuale nella risorsa utilizzando il comando describe:

    gcloud resource-manager org-policies describe \
      LIST_CONSTRAINT --project PROJECT_ID
    

    Dove:

    • PROJECT_ID è l'identificatore univoco del progetto.

    • LIST_CONSTRAINT è il vincolo dell'elenco per il servizio che vuoi applicare in modo forzato.

    Poiché non viene impostato un criterio, viene restituito un criterio incompleto, come nell'esempio seguente:

    constraint: "constraints/LIST_CONSTRAINT"
    etag: BwVJi0OOESU=
    
  2. Visualizza il criterio effettivo attuale utilizzando il comando describe --effective:

    gcloud resource-manager org-policies describe \
      LIST_CONSTRAINT --effective \
      --project PROJECT_ID
    

    L'output del comando includerà un valore negato che eredita dalla risorsa dell'organizzazione:

    constraint: constraints/LIST_CONSTRAINT
    listPolicy:
      deniedValues:
        - VALUE_A
    
  3. Imposta il criterio sul progetto utilizzando il comando set-policy.

    1. Crea un file temporaneo /tmp/policy.yaml per archiviare il criterio:

      constraint: constraints/LIST_CONSTRAINT
      listPolicy:
        deniedValues:
          - VALUE_B
          - VALUE_C
        inheritFromParent: true
      
    2. Esegui il comando set-policy:

      gcloud resource-manager org-policies set-policy \
        --project PROJECT_ID /tmp/policy.yaml
      
    3. L'output del comando sarà:

      constraint: constraints/LIST_CONSTRAINT
      etag: BwVLO2timxY=
      listPolicy:
        deniedValues:
          - VALUE_B
          - VALUE_C
        inheritFromParent: true
      
  4. Usa di nuovo il comando describe --effective per visualizzare il criterio aggiornato:

    gcloud resource-manager org-policies describe \
      LIST_CONSTRAINT --effective \
      --project PROJECT_ID
    

    L'output del comando includerà il risultato effettivo dell'unione del criterio dalla risorsa e da quella padre:

    constraint: constraints/LIST_CONSTRAINT
      listPolicy:
        deniedValues:
          - VALUE_A
          - VALUE_B
          - VALUE_C
    

L'applicazione completa delle modifiche ai criteri dell'organizzazione può richiedere fino a 15 minuti.

Ripristina il comportamento del vincolo predefinito

Puoi utilizzare il comando reset per reimpostare il criterio in modo da utilizzare il comportamento predefinito del vincolo. Per un elenco di tutti i vincoli disponibili e i relativi valori predefiniti, consulta la sezione Vincoli dei criteri dell'organizzazione.L'esempio seguente presuppone che il comportamento del vincolo predefinito sia consentire tutti i valori.

API v2

  1. Ottieni il criterio effettivo sul progetto per mostrare il criterio unito attuale:

    gcloud org-policies describe \
      LIST_CONSTRAINT --effective \
      --project=PROJECT_ID
    

    Dove PROJECT_ID è l'identificatore univoco del progetto. L'output del comando sarà:

    name: projects/PROJECT_ID/policies/LIST_CONSTRAINT
    spec:
      rules:
        - values:
          deniedValues:
            - VALUE_A
            - VALUE_B
            - VALUE_C
    
  2. Reimposta il criterio dell'organizzazione utilizzando il comando reset.

    gcloud org-policies reset LIST_CONSTRAINT \
        --project=PROJECT_ID
    
  3. Scarica il criterio effettivo per verificare il comportamento predefinito:

    gcloud org-policies describe \
      LIST_CONSTRAINT --effective \
      --project=PROJECT_ID
    

    L'output del comando consentirà tutti i valori:

    name: projects/PROJECT_ID/policies/LIST_CONSTRAINT
    spec:
      rules:
        - allowAll: true
    

API v1

  1. Ottieni il criterio effettivo sul progetto per mostrare il criterio unito attuale:

    gcloud resource-manager org-policies describe \
      LIST_CONSTRAINT --effective \
      --project PROJECT_ID
    

    Dove PROJECT_ID è l'identificatore univoco del progetto. L'output del comando sarà:

    constraint: constraints/LIST_CONSTRAINT
      listPolicy:
        deniedValues:
          - VALUE_A
          - VALUE_B
          - VALUE_C
    
  2. Imposta il criterio sul progetto utilizzando il comando set-policy.

    1. Crea un file temporaneo /tmp/restore-policy.yaml per archiviare il criterio:

      restoreDefault: {}
      constraint: constraints/LIST_CONSTRAINT
      
    2. Esegui il comando set-policy:

      gcloud resource-manager org-policies set-policy \
        --project PROJECT_ID /tmp/restore-policy.yaml
      
    3. L'output del comando sarà:

      constraint: constraints/LIST_CONSTRAINT
      etag: BwVJi9D3VLY=
      restoreDefault: {}
      
  3. Scarica il criterio effettivo per verificare il comportamento predefinito:

    gcloud resource-manager org-policies describe \
      LIST_CONSTRAINT --effective \
      --project PROJECT_ID
    

    L'output del comando consentirà tutti i valori:

    Constraint: constraints/LIST_CONSTRAINT
    listPolicy:
      allValues: ALLOW
    

L'applicazione completa delle modifiche ai criteri dell'organizzazione può richiedere fino a 15 minuti.

Elimina un criterio dell'organizzazione

Puoi eliminare un criterio dell'organizzazione da una risorsa. Una risorsa senza un set di criteri dell'organizzazione erediterà qualsiasi criterio dalla risorsa padre. Se elimini il criterio dell'organizzazione sulla risorsa dell'organizzazione, il criterio effettivo sarà il comportamento predefinito del vincolo.

I passaggi seguenti descrivono come eliminare un criterio dell'organizzazione su un'organizzazione.

API v2

  1. Elimina il criterio nella risorsa dell'organizzazione utilizzando il comando delete:

    gcloud org-policies delete \
      LIST_CONSTRAINT --organization=ORGANIZATION_ID
    

    Dove ORGANIZATION_ID è l'identificatore univoco della risorsa organizzazione. L'output del comando sarà:

    Deleted policy
    [organizations/ORGANIZATION_ID/policies/LIST_CONSTRAINT].
    {}
    
  2. Ottieni il criterio effettivo per l'organizzazione per verificare che non sia applicato:

    gcloud org-policies describe \
      LIST_CONSTRAINT --effective \
      --organization=ORGANIZATION_ID
    

    L'output del comando sarà:

    name: organizations/ORGANIZATION_ID/policies/LIST_CONSTRAINT
    spec:
      rules:
        - allowAll: true
    

I passaggi seguenti descrivono come eliminare un criterio dell'organizzazione su un progetto:

  1. Elimina il criterio su un progetto utilizzando il comando delete:

    gcloud org-policies delete \
      LIST_CONSTRAINT --project=PROJECT_ID
    

    Dove PROJECT_ID è l'identificatore univoco del progetto. L'output del comando sarà:

    Deleted policy
    [projects/PROJECT_ID/policies/LIST_CONSTRAINT].
    {}
    
  2. Ottieni il criterio effettivo sul progetto per verificare che non venga applicato:

    gcloud org-policies describe \
      --effective \
      LIST_CONSTRAINT --project=PROJECT_ID
    

    L'output del comando sarà:

    name: projects/PROJECT_ID/policies/LIST_CONSTRAINT
    spec:
      rules:
        - allowAll: true
    

API v1

  1. Elimina il criterio nella risorsa dell'organizzazione utilizzando il comando delete:

    gcloud resource-manager org-policies delete \
      LIST_CONSTRAINT --organization ORGANIZATION_ID
    

    Dove ORGANIZATION_ID è l'identificatore univoco della risorsa organizzazione. L'output del comando sarà:

    Deleted [<Empty>].
    
  2. Ottieni il criterio effettivo per l'organizzazione per verificare che non sia applicato:

    gcloud resource-manager org-policies describe \
      LIST_CONSTRAINT --effective \
      --organization ORGANIZATION_ID
    

    L'output del comando sarà:

    constraint: constraints/LIST_CONSTRAINT
    listPolicy:
      allValues: ALLOW
    

I passaggi seguenti descrivono come eliminare un criterio dell'organizzazione su un progetto:

  1. Elimina il criterio su un progetto utilizzando il comando delete:

    gcloud resource-manager org-policies delete \
      LIST_CONSTRAINT --project PROJECT_ID
    

    Dove PROJECT_ID è l'identificatore univoco del progetto. L'output del comando sarà:

    Deleted [<Empty>].
    
  2. Ottieni il criterio effettivo sul progetto per verificare che non venga applicato:

    gcloud resource-manager org-policies describe \
      --effective \
      LIST_CONSTRAINT --project PROJECT_ID
    

    L'output del comando sarà:

    constraint: constraints/LIST_CONSTRAINT
    listPolicy:
      allValues: ALLOW
    

L'applicazione completa delle modifiche ai criteri dell'organizzazione può richiedere fino a 15 minuti.

Utilizzare vincoli booleani nei criteri dell'organizzazione

Configura l'applicazione forzata sulla risorsa dell'organizzazione

Puoi impostare un criterio dell'organizzazione sulla risorsa dell'organizzazione per applicare un vincolo booleano. Il seguente processo descrive come impostare un criterio dell'organizzazione utilizzando Google Cloud CLI. Per istruzioni su come visualizzare e impostare i criteri dell'organizzazione utilizzando la console Google Cloud, vedi Creazione e gestione dei criteri.

API v2

  1. Ottieni il criterio attuale nella risorsa dell'organizzazione utilizzando il comando describe:

    gcloud org-policies describe \
      BOOLEAN_CONSTRAINT --organization=ORGANIZATION_ID
    

    Dove ORGANIZATION_ID è l'identificatore univoco della risorsa organizzazione. Puoi anche applicare il criterio dell'organizzazione a una cartella o a un progetto con i flag --folder o --project e rispettivamente l'ID cartella e l'ID progetto.

    Se non viene configurato un criterio, verrà restituito un errore NOT_FOUND:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  2. Imposta il criterio sul progetto utilizzando il comando set-policy.

    1. Crea un file temporaneo /tmp/policy.yaml per archiviare il criterio:

      name: organizations/ORGANIZATION_ID/policies/BOOLEAN_CONSTRAINT
      spec:
        rules:
          - enforce: true
      
    2. Esegui il comando set-policy:

      gcloud org-policies set-policy /tmp/policy.yaml
      
  3. Visualizza il criterio attualmente in vigore utilizzando describe --effective:

    gcloud org-policies describe \
      BOOLEAN_CONSTRAINT --effective \
      --organization=ORGANIZATION_ID
    

    L'output del comando sarà:

    name: organizations/ORGANIZATION_ID/policies/BOOLEAN_POLICY
    spec:
      rules:
        - enforce: true
    

API v1

  1. Ottieni il criterio attuale nella risorsa dell'organizzazione utilizzando il comando describe:

    gcloud resource-manager org-policies describe \
      BOOLEAN_CONSTRAINT --organization ORGANIZATION_ID
    

    Dove ORGANIZATION_ID è l'identificatore univoco della risorsa organizzazione. Puoi anche applicare il criterio dell'organizzazione a una cartella o a un progetto con i flag --folder o --project e rispettivamente l'ID cartella e l'ID progetto.

    Poiché non viene impostato un criterio, viene restituito un criterio incompleto, come nell'esempio seguente:

    booleanPolicy: {}
    constraint: "constraints/BOOLEAN_CONSTRAINT"
    
  2. Imposta il criterio per l'applicazione forzata all'organizzazione utilizzando il comando enable-enforce:

    gcloud resource-manager org-policies enable-enforce \
      BOOLEAN_CONSTRAINT --organization ORGANIZATION_ID
    

    L'output del comando sarà:

    booleanPolicy:
      enforced: true
    constraint: constraints/BOOLEAN_CONSTRAINT
    etag: BwVJitxdiwY=
    
  3. Visualizza il criterio attualmente in vigore utilizzando describe --effective:

    gcloud resource-manager org-policies describe \
      BOOLEAN_CONSTRAINT --effective \
      --organization ORGANIZATION_ID
    

    L'output del comando sarà:

    booleanPolicy:
      enforced: true
    constraint: constraints/BOOLEAN_CONSTRAINT
    

L'applicazione completa delle modifiche ai criteri dell'organizzazione può richiedere fino a 15 minuti.

Esegui l'override del criterio dell'organizzazione per un progetto

Per eseguire l'override del criterio dell'organizzazione per un progetto, imposta un criterio che disabilita l'applicazione del vincolo booleano su tutte le risorse nella gerarchia sotto il progetto.

API v2

  1. Recupera il criterio attuale nella risorsa per mostrare che è vuoto.

    gcloud org-policies describe \
      BOOLEAN_CONSTRAINT --project=PROJECT_ID
    

    Dove PROJECT_ID è l'identificatore univoco del progetto. L'output del comando sarà:

    Se non viene configurato un criterio, verrà restituito un errore NOT_FOUND:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  2. Ottieni il criterio effettivo sul progetto, che confermi che il vincolo viene applicato in questo progetto.

    gcloud org-policies describe \
      BOOLEAN_CONSTRAINT --effective \
      --project=PROJECT_ID
    

    L'output del comando sarà:

    name: projects/PROJECT_ID/policies/BOOLEAN_POLICY
    spec:
      rules:
        - enforce: true
    
  3. Imposta il criterio sul progetto utilizzando il comando set-policy.

    1. Crea un file temporaneo /tmp/policy.yaml per archiviare il criterio:

      name: projects/PROJECT_ID/policies/BOOLEAN_CONSTRAINT
      spec:
        rules:
          - enforce: false
      
    2. Esegui il comando set-policy:

      gcloud org-policies set-policy /tmp/policy.yaml
      
  4. Ottieni il criterio effettivo per dimostrare che non è più applicato al progetto.

    gcloud org-policies describe \
      --effective \
      BOOLEAN_CONSTRAINT --project=PROJECT_ID
    

    L'output del comando sarà:

    name: organizations/ORGANIZATION_ID/policies/BOOLEAN_POLICY
    spec:
      rules:
        - enforce: false
    

API v1

  1. Recupera il criterio attuale nella risorsa per mostrare che è vuoto.

    gcloud resource-manager org-policies describe \
      BOOLEAN_CONSTRAINT --project PROJECT_ID
    

    Dove PROJECT_ID è l'identificatore univoco del progetto. L'output del comando sarà:

    booleanPolicy: {}
    constraint: "constraints/BOOLEAN_CONSTRAINT"
    
  2. Ottieni il criterio effettivo sul progetto, che confermi che il vincolo viene applicato in questo progetto.

    gcloud resource-manager org-policies describe \
      BOOLEAN_CONSTRAINT --effective \
      --project PROJECT_ID
    

    L'output del comando sarà:

    booleanPolicy:
      enforced: true
    constraint: constraints/BOOLEAN_CONSTRAINT
    
  3. Imposta il criterio sul progetto per non applicare il vincolo utilizzando il comando disable-enforce:

    gcloud resource-manager org-policies disable-enforce \
      BOOLEAN_CONSTRAINT --project PROJECT_ID
    

    L'output del comando sarà:

    booleanPolicy: {}
    constraint: constraints/BOOLEAN_CONSTRAINT
    etag: BwVJivdnXvM=
    
  4. Ottieni il criterio effettivo per dimostrare che non è più applicato al progetto.

    gcloud resource-manager org-policies describe \
      --effective \
      BOOLEAN_CONSTRAINT --project PROJECT_ID
    

    L'output del comando sarà:

    booleanPolicy: {}
    constraint: constraints/BOOLEAN_CONSTRAINT
    

L'applicazione completa delle modifiche ai criteri dell'organizzazione può richiedere fino a 15 minuti.

Elimina un criterio dell'organizzazione

Puoi eliminare un criterio dell'organizzazione da una risorsa. Una risorsa senza un set di criteri dell'organizzazione erediterà qualsiasi criterio dalla risorsa padre. Se elimini il criterio dell'organizzazione sulla risorsa dell'organizzazione, il criterio effettivo sarà il comportamento predefinito dei vincoli.

I passaggi seguenti descrivono come eliminare un criterio dell'organizzazione su un'organizzazione e un progetto.

API v2

  1. Elimina il criterio dalla risorsa dell'organizzazione utilizzando il comando delete:

    gcloud org-policies delete \
      BOOLEAN_CONSTRAINT --organization=ORGANIZATION_ID
    

    Dove ORGANIZATION_ID è un identificatore univoco per la risorsa dell'organizzazione. L'output del comando sarà:

    Deleted policy
    [organizations/ORGANIZATION_ID/policies/BOOLEAN_CONSTRAINT].
    {}
    
  2. Ottieni il criterio effettivo per l'organizzazione per verificare che non sia applicato:

    gcloud org-policies describe \
      --effective \
      BOOLEAN_CONSTRAINT --organization=ORGANIZATION_ID
    

    Se non viene configurato un criterio, verrà restituito un errore NOT_FOUND:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  3. Elimina il criterio dell'organizzazione dal progetto utilizzando il comando delete:

    gcloud org-policies delete \
      BOOLEAN_CONSTRAINT --project=PROJECT_ID
    

    L'output del comando sarà:

    Deleted policy
    [organizations/ORGANIZATION_ID/policies/BOOLEAN_CONSTRAINT].
    {}
    
  4. Ottieni il criterio effettivo sul progetto per verificare che non venga applicato:

    gcloud org-policies describe \
      BOOLEAN_CONSTRAINT --effective \
      --project=PROJECT_ID
    

    Dove PROJECT_ID è l'identificatore univoco del progetto. L'output del comando sarà:

    Se non viene configurato un criterio, verrà restituito un errore NOT_FOUND:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    

API v1

  1. Elimina il criterio dalla risorsa dell'organizzazione utilizzando il comando delete:

    gcloud resource-manager org-policies delete \
      BOOLEAN_CONSTRAINT --organization ORGANIZATION_ID
    

    Dove ORGANIZATION_ID è un identificatore univoco per la risorsa dell'organizzazione. L'output del comando sarà:

    Deleted [<Empty>].
    
  2. Ottieni il criterio effettivo per l'organizzazione per verificare che non sia applicato:

    gcloud resource-manager org-policies describe \
      --effective \
      BOOLEAN_CONSTRAINT --organization ORGANIZATION_ID
    

    L'output del comando sarà:

    booleanPolicy: {}
    constraint: constraints/BOOLEAN_CONSTRAINT
    
  3. Elimina il criterio dell'organizzazione dal progetto utilizzando il comando delete:

    gcloud resource-manager org-policies delete \
      BOOLEAN_CONSTRAINT --project PROJECT_ID
    

    L'output del comando sarà:

    Deleted [<Empty>].
    
  4. Ottieni il criterio effettivo sul progetto per verificare che non venga applicato:

    gcloud resource-manager org-policies describe \
      BOOLEAN_CONSTRAINT --effective \
      --project PROJECT_ID
    

    Dove PROJECT_ID è l'identificatore univoco del progetto. L'output del comando sarà:

    booleanPolicy: {}
    constraint: constraints/BOOLEAN_CONSTRAINT
    

L'applicazione completa delle modifiche ai criteri dell'organizzazione può richiedere fino a 15 minuti.