Questa guida spiega come creare un criterio dell'organizzazione con un determinato vincolo. I vincoli utilizzati negli esempi in questa pagina non saranno vincoli, ma campioni generalizzati a scopo didattico.
Per saperne di più sui vincoli e sui problemi che risolvono, consulta l'elenco di tutti i vincoli del servizio Norme dell'organizzazione.
Prima di iniziare
Leggi la pagina Introduzione al servizio Criteri dell'organizzazione per scoprire come fare. dei criteri dell'organizzazione.
Leggi la pagina Informazioni sulla valutazione della gerarchia per scopri di più sull'ereditarietà dei criteri.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per gestire i criteri dell'organizzazione,
chiedi all'amministratore di concederti
Ruolo IAM Amministratore criteri dell'organizzazione (roles/orgpolicy.policyAdmin
) nell'organizzazione.
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
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 riuscire a ottenere queste autorizzazioni con ruoli personalizzati altri ruoli predefiniti.
Utilizzare i vincoli degli elenchi con un criterio dell'organizzazione
Puoi impostare un criterio dell'organizzazione nella risorsa dell'organizzazione che utilizzi un vincolo di elenco per negare l'accesso a un determinato servizio. La seguente procedura descrive come impostare un criterio dell'organizzazione utilizzando Google Cloud CLI. Per istruzioni su come visualizzare e impostare i criteri dell'organizzazione utilizzando per 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 il criterio dell'organizzazione viene creato o aggiornato in modo da avere più di 500 valori. di dimensioni superiori a 32 kB, non potrà essere salvato correttamente e la richiesta verrà restituiscono un errore.
Configura l'applicazione per la risorsa dell'organizzazione
Per configurare l'applicazione delle norme in un'organizzazione utilizzando gcloud CLI, segui questi passaggi:
Recupera il criterio corrente nella 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
Sostituisci quanto segue:
ORGANIZATION_ID
: un identificatore univoco per la risorsa dell'organizzazione. Organization ID (ID organizzazione) è formattato come numeri decimali e non può avere zeri iniziali.LIST_CONSTRAINT
: la limitazione dell'elenco per il servizio che vuoi applicare. Ad esempio, Il vincoloconstraints/gcp.restrictNonCmekServices
limita le possono creare risorse senza crittografia gestita dal cliente (CMEK).
Puoi anche applicare il criterio dell'organizzazione a una cartella o a un progetto con
--folder
o--project
e i flag ID cartella e ID progetto, rispettivamente.La risposta restituisce 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, viene restituito un errore
NOT_FOUND
:ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
Imposta il criterio nell'organizzazione utilizzando il comando
set-policy
. Questo sovrascrive qualsiasi criterio associato alla risorsa.Crea un file temporaneo
/tmp/policy.yaml
per archiviare il criterio:name: organizations/ORGANIZATION_ID/policies/LIST_CONSTRAINT spec: rules: - values: deniedValues: - VALUE_A
Esegui il comando
set-policy
:gcloud org-policies set-policy /tmp/policy.yaml
Visualizza il criterio attualmente in vigore utilizzando
describe --effective
. Viene restituito il criterio dell'organizzazione così come viene valutato in questo punto della gerarchia delle risorse con l'eredità inclusa.gcloud org-policies describe \ LIST_CONSTRAINT --effective \ --organization=ORGANIZATION_ID
L'output del comando sarà:
name: organizations/ORGANIZATION_ID/policies/LIST_CONSTRAINT spec: etag: BwVJi0OOESU= rules: - values: deniedValues: - VALUE_A
Poiché questo criterio dell'organizzazione è stato impostato a livello di organizzazione, verrà ereditato da tutte le risorse secondarie che consentono l'ereditarietà.
L'applicazione completa delle modifiche ai criteri dell'organizzazione può richiedere fino a 15 minuti.
Configurare l'applicazione delle norme in un sottoalbero della gerarchia
I vincoli di elenco assumono valori definiti esplicitamente per determinare quali risorse
deve essere consentito o negato. Alcuni vincoli possono accettare anche valori che utilizzano
il prefisso under:
, che specifica un sottoalbero con questa risorsa come radice.
L'utilizzo del prefisso under:
su un valore consentito o negato fa sì che l'organizzazione
per agire su quella risorsa e su tutti i relativi figli. 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 del sottoalbero della gerarchia. R
la stringa del sottoalbero della gerarchia specifica il tipo
e le risorse a cui si applica. Ad esempio, l'utilizzo di una stringa del sottoalbero di projects/PROJECT_ID
quando viene impostato il vincolo constraints/compute.storageResourceUseRestrictions
consente o nega l'utilizzo dello spazio di archiviazione Compute Engine per PROJECT_ID
e per tutti i relativi elementi secondari.
Recupera il criterio corrente per la risorsa dell'organizzazione utilizzando il comando
describe
:gcloud org-policies describe \ LIST_CONSTRAINT \ --organization=ORGANIZATION_ID
Sostituisci quanto segue:
ORGANIZATION_ID
è un identificatore univoco della risorsa dell'organizzazione.LIST_CONSTRAINT
è il vincolo dell'elenco per il servizio che che vuoi applicare.
Puoi anche applicare il criterio dell'organizzazione a una cartella o a un progetto con
--folder
o--project
e i flag ID cartella e ID progetto, rispettivamente.Se non è impostato un criterio, verrà restituito un errore
NOT_FOUND
:ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
Imposta il criterio nel progetto utilizzando il comando
set-policy
. Il prefissounder:
imposta il vincolo per negare la risorsa denominata e tutte le sue risorse figlie.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
Esegui il comando
set-policy
:gcloud org-policies set-policy /tmp/policy.yaml
Dove:
under:
è un prefisso che indica che quello che segue è un sottoalbero stringa.folders/VALUE_A
è l'ID cartella della risorsa principale che vuoi negare. Questa risorsa e tutti i relativi figli nella gerarchia delle risorse verranno rifiutati.
Puoi anche applicare il prefisso
under:
a organizzazioni e progetti, come in i seguenti esempi:under:organizations/VALUE_X
under:projects/VALUE_Y
Visualizza il criterio attualmente in vigore utilizzando
describe --effective
.gcloud org-policies describe \ LIST_CONSTRAINT --effective \ --organization=ORGANIZATION_ID
L'output del comando sarà:
name: organizations/ORGANIZATION_ID/policies/LIST_CONSTRAINT spec: rules: - values: deniedValues: - under:folders/VALUE_A
Il criterio ora valuta di negare la cartella VALUE_A e di tutte le sue risorse figlio.
L'applicazione completa delle modifiche ai criteri dell'organizzazione può richiedere fino a 15 minuti.
Unisci i criteri dell'organizzazione in un progetto
Puoi impostare su una risorsa un criterio dell'organizzazione, che verrà unito a qualsiasi criterio ereditato dalla risorsa padre. Questo criterio unito verrà poi valutato per creare un nuovo criterio efficace in base alle regole di eredità.
Ottieni il criterio attuale per la risorsa utilizzando il comando
describe
:gcloud org-policies describe \ LIST_CONSTRAINT \ --project=PROJECT_ID
Sostituisci quanto segue:
PROJECT_ID
: il identificatore univoco del tuo progetto.LIST_CONSTRAINT
: la limitazione dell'elenco per il servizio che vuoi applicare.
Se non è impostato un criterio, verrà restituito un errore
NOT_FOUND
:ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
Visualizza il criterio attualmente in vigore utilizzando
describe --effective
:gcloud org-policies describe \ LIST_CONSTRAINT --effective \ --project=PROJECT_ID
L'output del comando includerà un valore negato ereditato dalla risorsa dell'organizzazione:
name: projects/PROJECT_ID/policies/LIST_CONSTRAINT spec: rules: - values: deniedValues: - VALUE_A
Imposta il criterio nel progetto utilizzando il comando
set-policy
.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
Esegui il comando
set-policy
:gcloud org-policies set-policy /tmp/policy.yaml
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 della risorsa e della risorsa principale:
name: projects/PROJECT_ID/policies/LIST_CONSTRAINT spec: rules: - values: 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 che utilizzi il valore
comportamento predefinito. Per un elenco di tutti i vincoli disponibili e dei relativi valori predefiniti, consulta Vincoli dei criteri dell'organizzazione. L'esempio seguente presuppone che il comportamento predefinito del vincolo sia consentire tutti i valori.
Scarica il criterio effettivo sul progetto per mostrare il criterio unito attuale:
gcloud org-policies describe \ LIST_CONSTRAINT --effective \ --project=PROJECT_ID
Sostituisci PROJECT_ID con identificatore univoco del tuo progetto. L'output del comando sarà:
name: projects/PROJECT_ID/policies/LIST_CONSTRAINT spec: rules: - values: deniedValues: - VALUE_A - VALUE_B - VALUE_C
Reimposta il criterio dell'organizzazione utilizzando il comando
reset
.gcloud org-policies reset LIST_CONSTRAINT \ --project=PROJECT_ID
Ottieni il criterio efficace 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
L'applicazione completa delle modifiche ai criteri dell'organizzazione può richiedere fino a 15 minuti.
Elimina un criterio dell'organizzazione
Puoi eliminare un criterio dell'organizzazione da una risorsa. Una risorsa senza un insieme di criteri dell'organizzazione erediterà tutti i criteri della risorsa padre. Se elimini il criterio dell'organizzazione nella risorsa dell'organizzazione, il criterio effettivo sarà il comportamento predefinito del vincolo.
I passaggi riportati di seguito descrivono come eliminare un criterio dell'organizzazione in un'organizzazione.
Elimina il criterio nella risorsa dell'organizzazione utilizzando
delete
:gcloud org-policies delete \ LIST_CONSTRAINT \ --organization=ORGANIZATION_ID
Sostituisci ORGANIZATION_ID con l'identificatore univoco della risorsa dell'organizzazione. L'output di il comando sarà:
Deleted policy [organizations/ORGANIZATION_ID/policies/LIST_CONSTRAINT]. {}
Recupera il criterio in vigore nell'organizzazione per verificare che non sia applicato in modo forzato:
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 riportati di seguito descrivono come eliminare un criterio dell'organizzazione in un progetto:
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]. {}
Scarica il criterio effettivo sul progetto per verificare che non sia applicato in modo forzato:
gcloud org-policies describe \ LIST_CONSTRAINT --effective \ --project=PROJECT_ID
L'output del comando sarà:
name: projects/PROJECT_ID/policies/LIST_CONSTRAINT spec: rules: - allowAll: true
L'applicazione completa delle modifiche ai criteri dell'organizzazione può richiedere fino a 15 minuti.
Utilizzo dei vincoli booleani nei criteri dell'organizzazione
Configura l'applicazione per la risorsa dell'organizzazione
Puoi impostare un criterio dell'organizzazione sulla risorsa dell'organizzazione per applicare un vincolo booleano. La procedura seguente descrive come impostare un'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.
Ottieni il criterio attuale per la risorsa dell'organizzazione utilizzando
describe
:gcloud org-policies describe \ BOOLEAN_CONSTRAINT \ --organization=ORGANIZATION_ID
Sostituisci
ORGANIZATION_ID
con l'identificatore univoco della risorsa dell'organizzazione. Puoi anche applicare il criterio dell'organizzazione a una cartella o a un progetto con--folder
o--project
e i flag ID cartella e ID progetto, rispettivamente.Se non è impostato un criterio, verrà restituito un errore
NOT_FOUND
:ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
Imposta il criterio sul progetto utilizzando il comando
set-policy
.Crea un file temporaneo
/tmp/policy.yaml
per archiviare il criterio:name: organizations/ORGANIZATION_ID/policies/BOOLEAN_CONSTRAINT spec: rules: - enforce: true
Esegui il comando
set-policy
:gcloud org-policies set-policy /tmp/policy.yaml
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
L'applicazione completa delle modifiche ai criteri dell'organizzazione può richiedere fino a 15 minuti.
Sostituire i criteri dell'organizzazione per un progetto
Per ignorare il 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.
Recupera il criterio attuale della risorsa per verificare che sia vuoto.
gcloud org-policies describe \ BOOLEAN_CONSTRAINT \ --project=PROJECT_ID
Dove
PROJECT_ID
è il identificatore univoco del tuo progetto.Se non è impostato un criterio, verrà restituito un errore
NOT_FOUND
:ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
Ottenere il criterio efficace sul progetto, per confermare che il vincolo in modo forzato 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
Imposta il criterio nel progetto utilizzando il comando
set-policy
.Crea un file temporaneo
/tmp/policy.yaml
per archiviare il criterio:name: projects/PROJECT_ID/policies/BOOLEAN_CONSTRAINT spec: rules: - enforce: false
Esegui il comando
set-policy
:gcloud org-policies set-policy /tmp/policy.yaml
Ottieni il criterio efficace per dimostrare che non viene più applicato al progetto.
gcloud org-policies describe \ BOOLEAN_CONSTRAINT --effective \ --project=PROJECT_ID
L'output del comando sarà:
name: organizations/ORGANIZATION_ID/policies/BOOLEAN_POLICY spec: rules: - enforce: false
L'applicazione completa delle modifiche ai criteri dell'organizzazione può richiedere fino a 15 minuti.
Elimina un criterio dell'organizzazione
Puoi eliminare un criterio dell'organizzazione da una risorsa. Una risorsa senza un il set di criteri dell'organizzazione erediterà tutti i criteri della relativa risorsa padre. Se il criterio dell'organizzazione sulla risorsa organizzazione, saranno i vincoli" comportamento predefinito.
I passaggi riportati di seguito descrivono come eliminare un criterio dell'organizzazione in un'organizzazione e in un progetto.
Elimina il criterio dalla risorsa dell'organizzazione utilizzando il comando
delete
:gcloud org-policies delete \ BOOLEAN_CONSTRAINT \ --organization=ORGANIZATION_ID
Sostituisci
ORGANIZATION_ID
con un identificatore univoco per la risorsa dell'organizzazione. L'output del comando sarà:Deleted policy [organizations/ORGANIZATION_ID/policies/BOOLEAN_CONSTRAINT]. {}
Ottieni il criterio effettivo dell'organizzazione per verificare che non sia applicato:
gcloud org-policies describe \ BOOLEAN_CONSTRAINT --effective \ --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.
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]. {}
Ottieni il criterio valido nel progetto per verificare che non sia applicato:
gcloud org-policies describe \ BOOLEAN_CONSTRAINT --effective \ --project=PROJECT_ID
Sostituisci
PROJECT_ID
con l'identificatore univoco del tuo 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.
L'applicazione completa delle modifiche ai criteri dell'organizzazione può richiedere fino a 15 minuti.