Utilizzo dei vincoli

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.
Questa guida spiega come creare un criterio dell'organizzazione con un determinato vincolo. I vincoli utilizzati in questi esempi non sono vincoli reali, ma sono campioni generali a scopo didattico.

Per ulteriori informazioni sui vincoli e sui problemi risolti, 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 al tuo amministratore di concederti il ruolo IAM di amministratore dei criteri dell'organizzazione (roles/orgpolicy.policyAdmin) nell'organizzazione. Per ulteriori informazioni 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

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

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

Utilizzo dei vincoli degli elenchi con un criterio dell'organizzazione

Configura l'applicazione forzata sulla risorsa organizzazione

Puoi impostare un criterio dell'organizzazione sulla tua 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 i vincoli elenco non possono avere più di 500 singoli valori consentiti o rifiutati 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 se supera 32 kB, non può essere salvato correttamente e la richiesta restituirà un errore.

API v2

  1. Ottenere 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. Il valore dell'ID organizzazione è formattato come numeri decimali e non può includere zeri iniziali.

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

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

    La risposta restituirà il criterio dell'organizzazione attuale, 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, viene restituito un errore NOT_FOUND:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  2. Imposta il criterio per l'organizzazione utilizzando il comando set-policy. In questo modo, qualsiasi criterio attualmente collegato alla risorsa verrà sovrascritto.

    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 mentre viene valutato in questa fase della 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 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. Il valore dell'ID organizzazione è formattato come numeri decimali e non può includere zeri iniziali.

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

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

    Poiché non viene configurato, viene restituito un criterio incompleto, come nel seguente esempio:

    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.

Configurare l'applicazione forzata per una struttura secondaria della gerarchia

I vincoli elenco prendono valori definiti in modo esplicito per determinare quali risorse devono essere consentite o negate. Alcuni vincoli possono anche accettare valori che utilizzano il prefisso under:, che specifica una struttura secondaria con quella risorsa come radice. L'utilizzo del prefisso under: in un valore consentito o negato fa sì che il criterio dell'organizzazione agisca su tale risorsa e su tutte le sue unità 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: è chiamato stringa secondaria della struttura gerarchica. Una stringa secondaria 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 negherà l'utilizzo dello spazio di archiviazione di Compute Engine per PROJECT_ID e per tutti i relativi elementi secondari.

API v2

  1. Ottieni 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 della risorsa dell'organizzazione.

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

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

    Se un criterio non viene configurato, viene 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 ciò che segue è una stringa di sottoalbero.

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

    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 rifiutare la cartella VALUE_A e tutte le relative risorse figlio.

API v1

  1. Ottieni 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 dell'organizzazione.

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

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

    Poiché non viene configurato, viene restituito un criterio incompleto, come nel seguente esempio:

    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 ciò che segue è una stringa di sottoalbero.

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

    • VALUE_B e VALUE_C sono progetti che esistono 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 rifiutare 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 per una risorsa, che verrà unito a qualsiasi criterio ereditato dalla risorsa padre. Questo criterio unito verrà valutato per creare un nuovo criterio efficace basato sulle regole di ereditarietà.

API v2

  1. Ottieni 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 da applicare.

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

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  2. Visualizza il criterio attualmente in vigore 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 quello 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 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 da applicare.

    Poiché non viene configurato, viene restituito un criterio incompleto, come nel seguente esempio:

    constraint: "constraints/LIST_CONSTRAINT"
    etag: BwVJi0OOESU=
    
  2. Visualizza il criterio attualmente in vigore 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 quello 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 comportamento 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 dei relativi valori predefiniti, vedi Vincoli dei criteri dell'organizzazione.L'esempio seguente presuppone che il comportamento predefinito del vincolo consenta tutti i valori.

API v2

  1. Scarica il criterio applicato al progetto per mostrare il criterio unito corrente:

    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. Scarica il criterio applicato al progetto per mostrare il criterio unito corrente:

    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.

Eliminare 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 della risorsa padre. Se elimini il criterio dell'organizzazione sulla risorsa organizzazione, il criterio predefinito sarà il comportamento predefinito del vincolo.

I seguenti passaggi 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. Ottieni il criterio applicato all'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 seguenti passaggi descrivono come eliminare un criterio dell'organizzazione in 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. Ottieni il criterio effettivo per il 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. Ottieni il criterio applicato all'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 seguenti passaggi descrivono come eliminare un criterio dell'organizzazione in 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. Ottieni il criterio effettivo per il 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 nel criterio dell'organizzazione

Configura l'applicazione forzata sulla risorsa organizzazione

Puoi impostare un criterio dell'organizzazione sulla risorsa dell'organizzazione per applicare un vincolo booleano. 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.

API v2

  1. Ottieni 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 e --project e rispettivamente con l'ID cartella e l'ID progetto.

    Se un criterio non viene configurato, viene 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 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 e --project e rispettivamente con l'ID cartella e l'ID progetto.

    Poiché non viene configurato, viene restituito un criterio incompleto, come nel seguente esempio:

    booleanPolicy: {}
    constraint: "constraints/BOOLEAN_CONSTRAINT"
    
  2. Imposta il criterio da applicare 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.

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 a tutte le risorse nella gerarchia sotto il progetto.

API v2

  1. Ottieni il criterio attuale sulla 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, viene restituito un errore NOT_FOUND:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  2. Ottieni il criterio efficace per il progetto, che conferma che il vincolo viene applicato a 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. Ottieni il criterio attuale sulla 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 efficace per il progetto, che conferma che il vincolo viene applicato a 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.

Eliminare 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 della risorsa padre. Se elimini il criterio dell'organizzazione sulla risorsa organizzazione, il criterio effettivo sarà il comportamento predefinito dei vincoli.

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

API v2

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

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

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

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

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

    Se un criterio non viene configurato, viene 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 per il 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, viene 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 organizzazione utilizzando il comando delete:

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

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

    Deleted [<Empty>].
    
  2. Ottieni il criterio applicato all'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 per il 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.