Utilizzo dei vincoli

Questa guida spiega come creare un criterio dell'organizzazione con un particolare vincolo. I vincoli utilizzati negli esempi di 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 dei criteri dell'organizzazione (roles/orgpolicy.policyAdmin) per l'organizzazione. Per saperne di più sulla concessione dei ruoli, vedi Gestire l'accesso.

Questo ruolo predefinito contiene le autorizzazioni necessarie per gestire i criteri dell'organizzazione. Per visualizzare le autorizzazioni esatte richieste, 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 ruoli personalizzati o altri ruoli predefiniti.

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

Configura l'applicazione forzata sulla risorsa dell'organizzazione

Puoi impostare un criterio dell'organizzazione sulla risorsa dell'organizzazione che utilizzi un vincolo dell'elenco per negare l'accesso a un determinato servizio. La procedura seguente 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, consulta 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 avere più di 500 valori o avere dimensioni superiori a 32 kB, non può essere salvato correttamente e la richiesta restituirà un errore.

API v2

  1. Recuperare il criterio attuale sulla risorsa dell'organizzazione utilizzando il comando describe. Questo comando 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 è formattato come numeri decimali e non può avere zero iniziali.

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

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

    La risposta restituirà il criterio dell'organizzazione corrente, 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 un criterio non viene configurato, 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. In questo modo, tutti i criteri attualmente collegati 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 effettivo corrente utilizzando describe --effective. Questo restituisce il criterio dell'organizzazione così come viene valutato a questo punto nella gerarchia delle risorse con 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. Recuperare il criterio attuale sulla 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 è formattato come numeri decimali e non può avere zero iniziali.

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

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

    Poiché un criterio non viene impostato, 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 effettivo corrente 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 forzata rispetto a una sottostruttura ad albero della gerarchia

I vincoli di elenco assumono valori definiti esplicitamente per determinare quali risorse consentire o negare. Alcuni vincoli possono accettare anche valori che utilizzano il prefisso under:, che specifica un sottoalbero con quella risorsa come radice. L'utilizzo del prefisso under: su un valore consentito o negato fa sì che il criterio dell'organizzazione intervenga sulla risorsa e su tutte le relative risorse secondarie. 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 della sottostruttura della gerarchia specifica il tipo di risorsa a cui si applica. Ad esempio, l'utilizzo di una stringa di sottoalbero projects/PROJECT_ID durante l'impostazione del vincolo constraints/compute.storageResourceUseRestrictions consente o nega l'utilizzo dello spazio di archiviazione di Compute Engine per PROJECT_ID e per tutti i suoi elementi secondari.

API v2

  1. Recuperare il criterio attuale sulla 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.

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

    Se un criterio non viene configurato, 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 sottoalbero.

    • folders/VALUE_A è l'ID cartella della risorsa principale 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 effettivo corrente 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 rifiutare la cartella VALUE_A e tutte le relative risorse figlio.

API v1

  1. Recuperare il criterio attuale sulla 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.

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

    Poiché un criterio non viene impostato, 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 sottoalbero.

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

    • VALUE_B e VALUE_C sono progetti che esistono nella gerarchia, con VALUE_A come elemento padre.

    L'output del comando deny 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 effettivo corrente 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 personalizzato 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. Recupera il criterio attuale sulla 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.

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

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  2. Visualizza il criterio effettivo corrente 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. Utilizza 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 dalla risorsa padre:

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

API v1

  1. Recupera il criterio attuale sulla 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.

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

    constraint: "constraints/LIST_CONSTRAINT"
    etag: BwVJi0OOESU=
    
  2. Visualizza il criterio effettivo corrente 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. Utilizza 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 dalla risorsa 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 predefinito del vincolo

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 dei relativi valori predefiniti, consulta la sezione Vincoli dei criteri dell'organizzazione.Nel seguente esempio si presume che il comportamento predefinito del vincolo sia consentire tutti i valori.

API v2

  1. Ottieni il criterio effettivo del 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. Recupera 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 del 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. Recupera 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.

Eliminare un criterio dell'organizzazione

Puoi eliminare un criterio dell'organizzazione da una risorsa. Una risorsa senza un criterio dell'organizzazione impostato erediterà qualsiasi criterio dalla relativa 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 dell'organizzazione. L'output del comando sarà:

    Deleted policy
    [organizations/ORGANIZATION_ID/policies/LIST_CONSTRAINT].
    {}
    
  2. Scarica il criterio effettivo sull'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 in 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. Recupera il criterio effettivo sul progetto per verificare che non sia 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 dell'organizzazione. L'output del comando sarà:

    Deleted [<Empty>].
    
  2. Scarica il criterio effettivo sull'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 in 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. Recupera il criterio effettivo sul progetto per verificare che non sia 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.

Utilizzo di vincoli booleani nei criteri dell'organizzazione

Configura l'applicazione forzata sulla risorsa dell'organizzazione

Puoi impostare un criterio dell'organizzazione per la 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. Recuperare il criterio attuale sulla risorsa dell'organizzazione utilizzando il comando describe:

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

    Dove ORGANIZATION_ID è l'identificatore univoco della risorsa dell'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 della cartella e l'ID progetto.

    Se un criterio non viene configurato, 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 effettivo corrente 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. Recuperare il criterio attuale sulla 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 dell'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 della cartella e l'ID progetto.

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

    booleanPolicy: {}
    constraint: "constraints/BOOLEAN_CONSTRAINT"
    
  2. Imposta il criterio per l'applicazione forzata nell'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 effettivo corrente 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.

Sostituire il criterio dell'organizzazione per un progetto

Per eseguire l'override del criterio dell'organizzazione per un progetto, imposta un criterio che disattivi l'applicazione del vincolo booleano su tutte le risorse nella gerarchia al di sotto del 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 un criterio non viene configurato, verrà restituito un errore NOT_FOUND:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  2. Recupera il criterio effettivo sul progetto, che conferma 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. Recupera 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. Recupera il criterio effettivo sul progetto, che conferma 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. Recupera 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.

Eliminare un criterio dell'organizzazione

Puoi eliminare un criterio dell'organizzazione da una risorsa. Una risorsa senza un criterio dell'organizzazione impostato erediterà qualsiasi criterio dalla relativa 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. Scarica il criterio effettivo sull'organizzazione per verificare che non sia applicato:

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

    Se un criterio non viene configurato, 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. Recupera il criterio effettivo sul progetto per verificare che non sia 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 un criterio non viene configurato, 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. Scarica il criterio effettivo sull'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. Recupera il criterio effettivo sul progetto per verificare che non sia 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.