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 negli esempi in questa pagina non saranno vincoli effettivi, ma campioni generali a scopo didattico.

Per saperne di più sui vincoli e sui problemi che risolvono, consulta l'elenco di tutti i vincoli di Service Policy Service.

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 dell'organizzazione (roles/orgpolicy.policyAdmin) nell'organizzazione. Per maggiori 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 di elenco con un criterio dell'organizzazione

Configurare l'applicazione forzata della risorsa organizzazione

Puoi impostare un criterio dell'organizzazione per la tua organizzazione utilizzando un vincolo dell'elenco per negare l'accesso a un determinato servizio. La procedura che segue descrive come impostare un criterio dell'organizzazione utilizzando l'interfaccia a riga di comando di Google Cloud. Per istruzioni su come visualizzare e impostare i criteri dell'organizzazione utilizzando Google Cloud Console, consulta Creazione e gestione dei criteri.

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

API v2

  1. Ottieni 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 dell'organizzazione. L'ID organizzazione è formattato come numeri decimali e non può contenere zeri 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 con ID cartella e 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 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 sull'organizzazione utilizzando il comando set-policy. Tutti i criteri attualmente associati alla risorsa verranno sovrascritti.

    1. Crea un file temporaneo /tmp/policy.yaml per l'archiviazione del 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 applicato mediante describe --effective. Questo restituisce il criterio dell'organizzazione così come viene valutato in questo punto 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é è stato impostato a livello di organizzazione, questo criterio dell'organizzazione verrà ereditato da tutte le risorse figlio che lo consentono.

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. L'ID organizzazione è formattato come numeri decimali e non può contenere zeri 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 con ID cartella e ID progetto.

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

    constraint: "constraints/LIST_CONSTRAINT"
    etag: BwVJi0OOESU=
    
  2. Usa il comando deny per aggiungere il valore rifiutato per il servizio di 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 applicato mediante 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é è stato impostato a livello di organizzazione, questo criterio dell'organizzazione verrà ereditato da tutte le risorse figlio che lo consentono.

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

Configurare l'applicazione forzata rispetto a un sottoalbero gerarchico

I vincoli degli elenchi utilizzano valori definiti in modo esplicito per determinare quali risorse devono essere consentite o rifiutate. Alcuni vincoli possono anche accettare valori che utilizzano il prefisso under:, che specifica un sottoalbero con tale risorsa come radice. L'utilizzo del prefisso under: su un valore consentito o rifiutato fa sì che il criterio dell'organizzazione agisca su quella risorsa e su tutte le sue 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: è chiamato stringa di sottostruttura ad albero della gerarchia. Una stringa di sottostruttura sottogerarchia 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 di spazio di archiviazione di Compute Engine per PROJECT_ID e tutte le relative entità secondarie.

I prefissi dei valori della sottostruttura sono una funzionalità beta, possono essere modificati in modi incompatibili con le versioni precedenti e non sono soggetti a SLA (accordo sul livello del servizio) o norme sul ritiro.

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 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 con ID cartella e 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 con nome e tutte le relative risorse figlio.

    1. Crea un file temporaneo /tmp/policy.yaml per l'archiviazione del 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 cosa è una stringa sottoalbero.

    • folders/VALUE_A è l'ID cartella della risorsa principale che vuoi rifiutare. Questa risorsa e tutte le relative entità 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 effettivo applicato mediante 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 valuta ora 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 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 con ID cartella e ID progetto.

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

    constraint: "constraints/LIST_CONSTRAINT"
    etag: BwVJi0OOESU=
    
  2. Usa il comando deny per aggiungere il valore rifiutato per il servizio di cui vuoi limitare l'accesso. Il prefisso under: imposta il vincolo per rifiutare la risorsa con nome 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 cosa è una stringa sottoalbero.

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

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

    L'output del comando di negazione sarà il seguente:

    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 applicato mediante 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
    

    Ora il criterio 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 su un progetto

Puoi impostare un criterio dell'organizzazione personalizzato per una risorsa, che verrà unito a qualsiasi criterio ereditato dalla risorsa principale. Il criterio unito verrà valutato per creare un nuovo criterio efficace 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 rifiutato 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 l'archiviazione del 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 da quella principale:

    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 è impostato, viene restituito un criterio incompleto, come nel seguente esempio:

    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 rifiutato 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 l'archiviazione del 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 da quella principale:

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

API v2

  1. Ottieni il criterio effettivo del 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. Ottieni 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 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 l'archiviazione del 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. Ottieni 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 della risorsa principale. Se elimini il criterio dell'organizzazione nella risorsa dell'organizzazione, il criterio effettivo sarà il comportamento predefinito del vincolo.

I seguenti passaggi descrivono come eliminare un criterio dell'organizzazione in 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 effettivo sull'organizzazione per verificare che non venga 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 spiegano 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 efficace 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 dell'organizzazione. L'output del comando sarà:

    Deleted [<Empty>].
    
  2. Ottieni il criterio effettivo sull'organizzazione per verificare che non venga 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 spiegano 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 efficace 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.

Utilizzo di vincoli booleani nei criteri dell'organizzazione

Configurare l'applicazione forzata della risorsa organizzazione

Puoi impostare un criterio dell'organizzazione per la tua organizzazione per applicare un vincolo booleano. La procedura seguente descrive come impostare un criterio dell'organizzazione utilizzando l'interfaccia a riga di comando di Google Cloud. 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 per la risorsa 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 con rispettivamente l'ID 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 l'archiviazione del 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 i criteri 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 per la risorsa 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 con rispettivamente l'ID cartella e l'ID progetto.

    Poiché un criterio non è impostato, 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 i criteri 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 sostituire il criterio dell'organizzazione per un progetto, imposta un criterio che disattivi l'applicazione del vincolo booleano a tutte le risorse della gerarchia sotto il progetto.

API v2

  1. Ottieni il criterio attuale per la risorsa per mostrarlo 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. Ottieni il criterio efficace sul 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 l'archiviazione del 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 per la risorsa per mostrarlo 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 sul 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 criterio dell'organizzazione impostato erediterà qualsiasi criterio della risorsa principale. Se elimini il criterio dell'organizzazione nella risorsa dell'organizzazione, il criterio effettivo sarà il vincolo predefinito.

I passaggi seguenti spiegano come eliminare un criterio dell'organizzazione per 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 sull'organizzazione per verificare che non venga 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. Ottieni il criterio efficace 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 tuo 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. Ottieni il criterio effettivo sull'organizzazione per verificare che non venga 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 efficace 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 tuo 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.