Policy Simulator per i criteri dell'organizzazione ti consente di visualizzare in anteprima l'impatto di un nuovo vincolo personalizzato o criterio dell'organizzazione che applica un vincolo personalizzato prima dell'applicazione nell'ambiente di produzione. Lo strumento di simulazione dei criteri fornisce un elenco delle risorse che violano il criterio proposto prima che venga applicato, consentendoti di riconfigurarle, richiedere eccezioni o modificare l'ambito del criterio dell'organizzazione, il tutto senza interrompere gli sviluppatori o arrestare l'ambiente.
Questa pagina descrive come testare una modifica a un criterio dell'organizzazione utilizzando Policy Simulator. Spiega inoltre come interpretare i risultati della simulazione e come applicare i criteri dell'organizzazione testati, se vuoi.
Prima di iniziare
-
Se utilizzi Google Cloud CLI, imposta il progetto che vuoi utilizzare effettuare chiamate API:
gcloud config set project PROJECT_ID
Sostituisci
PROJECT_ID
con il nome o l'ID del progetto. -
Enable the Policy Simulator and Resource Manager APIs.
- (Facoltativo) Ricevi un introduzione al Servizio Criteri dell'organizzazione.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per eseguire e accedere alle simulazioni,
chiedi all'amministratore di concederti il ruolo IAM Amministratore del simulatore di criteri dell'organizzazione (roles/policysimulator.orgPolicyAdmin
) 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 eseguire e accedere alle simulazioni. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:
Autorizzazioni obbligatorie
Per eseguire e accedere alle simulazioni, sono necessarie le seguenti autorizzazioni:
-
orgpolicy.constraints.list
-
orgpolicy.customConstraints.get
-
orgpolicy.policies.list
-
cloudasset.assets.searchAllResources
-
cloudasset.assets.listResource
-
cloudasset.assets.listOrgPolicy
-
policysimulator.orgPolicyViolationsPreviews.list
-
policysimulator.orgPolicyViolationsPreviews.get
-
policysimulator.orgPolicyViolationsPreviews.create
-
policysimulator.orgPolicyViolations.list
Potresti anche riuscire a ottenere queste autorizzazioni con ruoli personalizzati altri ruoli predefiniti.
Testare una modifica dei criteri
Puoi testare una modifica a un vincolo personalizzato, un criterio dell'organizzazione che applica un vincolo personalizzato o entrambi contemporaneamente.
Console
Nella console Google Cloud, vai alla pagina Norme dell'organizzazione.
Seleziona il selettore del progetto nella parte superiore della pagina.
Dal selettore di progetti, seleziona la risorsa per cui vuoi verificare le modifiche a un criterio dell'organizzazione. Per testare le modifiche a un vincolo personalizzato, devi selezionare una risorsa dell'organizzazione.
Se vuoi testare un nuovo vincolo personalizzato, fai clic su
Vincolo personalizzato. Se vuoi per apportare modifiche a un vincolo personalizzato esistente, selezionalo dall'elenco nella pagina Criteri dell'organizzazione e fai clic su Modifica vincolo.Crea o aggiorna il vincolo personalizzato che vuoi testare.
Ad esempio, per definire un vincolo personalizzato che limita la creazione Azioni consigliate dalle risorse dei cluster Google Kubernetes Engine in cui Autorizzazione binaria non è abilitata le seguenti:
Nella casella Tipo di risorsa, seleziona
container.googleapis.com/Cluster
.In Metodo di applicazione forzata, seleziona Applica alla creazione.
Fai clic su
Modifica condizione.Nel riquadro Aggiungi condizione, inserisci
resource.binaryAuthorization.enabled == true
.Fai clic su Salva.
In Azione, seleziona Consenti.
Per ulteriori informazioni, vedi Creazione e gestione di vincoli personalizzati.
Fai clic su Testa il vincolo.
Se si tratta di un nuovo vincolo o di un vincolo non applicato da un'organizzazione devi definire il criterio dell'organizzazione.
Nella casella Seleziona ambito, seleziona la risorsa per cui vuoi testare questo vincolo personalizzato.
Fai clic su Personalizza.
Fai clic su Aggiungi una regola.
In Applicazione, seleziona On, quindi fai clic su Fine.
Fai clic su Continua.
Viene visualizzata la pagina Cronologia simulazioni, con un elenco delle simulazioni eseguite da te negli ultimi 14 giorni. Consulta: Risultati del Simulatore di criteri in questa pagina per ulteriori informazioni.
gcloud
Per testare un vincolo personalizzato, crea un file JSON o YAML che definisce il vincolo personalizzato che vuoi testare.
Ad esempio, un vincolo personalizzato che limita la creazione di Google Kubernetes Engine di risorse del cluster in cui Autorizzazione binaria non è abilitata è simile seguenti:
name: "organizations/ORGANIZATION_ID/customConstraints/custom.EnforceGKEBinaryAuthz" resource_types: "container.googleapis.com/Cluster" method_types: CREATE condition: "resource.binaryAuthorization.enabled == true" action_type: ALLOW
Sostituisci
ORGANIZATION_ID
con l'ID della tua organizzazione. ad esempio1234567890123
.Per ulteriori informazioni su come creare vincoli personalizzati, consulta Creazione e gestione di vincoli personalizzati.
Per testare un criterio dell'organizzazione che applica condizionatamente un vincolo personalizzato in base all'esistenza di un determinato tag, crea un file JSON o YAML che definisce il criterio dell'organizzazione che vuoi testare.
Ad esempio, il seguente criterio dell'organizzazione limita la creazione di Risorse del cluster Google Kubernetes Engine in cui Autorizzazione binaria non è abilitata, ad eccezione di sulle risorse con il tag
env=dev
collegato.name: organizations/ORGANIZATION_ID/policies/custom.EnforceGKEBinaryAuthz spec: rules: - condition: expression: "resource.matchTag('env', 'dev')" enforce: false - enforce: true
Sostituisci
ORGANIZATION_ID
con l'ID della tua organizzazione, ad esempio come1234567890123
.Per saperne di più sui criteri condizionali dell'organizzazione, consulta Impostazione di un criterio dell'organizzazione con i tag.
Per testare un criterio dell'organizzazione che applica un vincolo personalizzato, crea un File JSON o YAML che definisce il criterio dell'organizzazione che vuoi testare.
Ad esempio, un criterio dell'organizzazione che limita la creazione di risorse del cluster Google Kubernetes Engine in cui l'Autorizzazione binaria non è abilitata è simile al seguente:
name: organizations/ORGANIZATION_ID/policies/custom.EnforceGKEBinaryAuthz spec: rules: - enforce: true
Sostituisci
ORGANIZATION_ID
con l'ID della tua organizzazione. ad esempio1234567890123
.Per testare l'eliminazione di un criterio dell'organizzazione che applica un vincolo personalizzato, crea un file JSON o YAML che definisce il criterio dell'organizzazione, ma non imposta regole ed eredita il criterio dalla risorsa principale.
Ad esempio, il seguente criterio dell'organizzazione simula l'eliminazione di un vincolo personalizzato
custom.EnforceGKEBinaryAuthz
esistente.name: organizations/ORGANIZATION_ID/policies/custom.EnforceGKEBinaryAuthz spec: inheritFromParent: true
Esegui questo comando per simulare la modifica al vincolo personalizzato: criterio dell'organizzazione o entrambi:
gcloud beta policy-intelligence simulate orgpolicy \ --organization=ORGANIZATION_ID \ --custom-constraints=CONSTRAINT_PATH \ --policies=POLICY_PATH
Sostituisci quanto segue:
ORGANIZATION_ID
: l'ID della tua organizzazione, ad esempio1234567890123
. La simulazione di modifiche su più organizzazioni non è supportati.CONSTRAINT_PATH
: il percorso completo alla vincolo che hai creato o aggiornato. Ad esempio,tmp/constraint.yaml
se imposti il flag--policies
, non è necessario impostare il--custom-constraints
.POLICY_PATH
: il percorso completo dell'organizzazione che hai creato o aggiornato. Ad esempio,tmp/policy.yaml
Se imposti il flag--custom-constraints
, non è necessario impostare il flag Flag--policies
.
Dopo alcuni minuti, il comando stampa un elenco di risorse che violerebbero le modifiche al vincolo personalizzato, ai criteri dell'organizzazione o a entrambi.
I risultati sono visibili anche nella console Google Cloud. Consulta Risultati del Simulatore di norme in questa pagina per imparare a leggere i risultati.
Di seguito è riportata una risposta di esempio per una simulazione dei criteri dell'organizzazione.
Questa simulazione coinvolge un vincolo personalizzato che limita la creazione
Risorse del cluster Google Kubernetes Engine in cui Autorizzazione binaria non è abilitata. In questo
caso, se la modifica proposta venisse applicata, due risorse del cluster violerebbero il criterio: orgpolicy-test-cluster
nel progetto
simulator-test-project
e autopilot-cluster-1
nel progetto
orgpolicy-test-0
.
Waiting for operation [organizations/012345678901/locations/global/orgPolic
yViolationsPreviews/85be9a2d-8c49-470d-a65a-d0cb9ffa8f83/operations/1883a83
c-c448-42e5-a7c5-10a850928f06] to complete...done.
---
customConstraint:
actionType: ALLOW
condition: resource.binaryAuthorization.enabled == true
methodTypes:
- CREATE
name: organizations/012345678901/customConstraints/custom.EnforceGKEBinaryAuthz
resourceTypes:
- container.googleapis.com/Cluster
name: organizations/012345678901/locations/global/orgPolicyViolationsPreviews/3dd47fd3-6df1-4156-8f10-413a3fc0ed83/orgPolicyViolations/b9fd23a5-7163-46de-9fec-7b9aa6af1113
resource:
ancestors:
- organizations/012345678901
- projects/456789012345
assetType: container.googleapis.com/Cluster
resource: //container.googleapis.com/projects/simulator-test-project/locations/us-central1/clusters/orgpolicy-test-cluster
---
customConstraint:
actionType: ALLOW
condition: resource.binaryAuthorization.enabled == true
methodTypes:
- CREATE
name: organizations/012345678901/customConstraints/custom.EnforceGKEBinaryAuthz
resourceTypes:
- container.googleapis.com/Cluster
name: organizations/012345678901/locations/global/orgPolicyViolationsPreviews/3dd47fd3-6df1-4156-8f10-413a3fc0ed83/orgPolicyViolations/e73896e6-7613-4a8d-8436-5df7a6455121
resource:
ancestors:
- organizations/012345678901
- folders/789012345678
- projects/456789012345
assetType: container.googleapis.com/Cluster
resource: //container.googleapis.com/projects/orgpolicy-test-0/locations/us-central1/clusters/autopilot-cluster-1
Risultati Policy Simulator
Policy Simulator segnala i risultati di una modifica in un vincolo personalizzato o del criterio dell'organizzazione come elenco di violazioni del criterio simulato. La La console Google Cloud archivia i risultati delle simulazioni generate da te nelle ultime 14 giorni.
Per visualizzare i risultati della simulazione, vai alla pagina Cronologia delle simulazioni.
Vai alla cronologia delle simulazioni
Seleziona una simulazione per visualizzarne i dettagli. Nella pagina Report sulla simulazione, puoi vedere l'anteprima delle violazioni, che elenca il numero totale di violazioni causate dal nuovo vincolo personalizzato o dal criterio dell'organizzazione, il numero di risorse controllate nell'ambito della simulazione e l'ora in cui la simulazione è stata completata.
Se hai simulato un vincolo personalizzato, puoi fare clic su Dettagli vincolo per visualizzare la configurazione specifica simulata. Se hai simulato un criterio dell'organizzazione, la scheda Dettagli criterio mostra la configurazione simulato.
Tutte le violazioni sono elencate nella tabella delle risorse. Ogni risorsa che viola il nuovo vincolo personalizzato o i criteri dell'organizzazione è elencata con un link alla voce della risorsa in Cloud Asset Inventory. Le risorse di progetti, cartelle e organizzazioni vengono visualizzate con la somma totale delle risorse sottostanti nella gerarchia che violano il nuovo vincolo personalizzato o i criteri dell'organizzazione.
Applicare una modifica dei criteri testata
Dopo aver testato il vincolo personalizzato, il criterio dell'organizzazione o entrambi, puoi configurare il vincolo personalizzato e applicare il criterio dell'organizzazione. Puoi visualizzare tutti i risultati Policy Simulator nella console Google Cloud, indipendentemente di come sono state generate. Se il report sulla simulazione include modifiche a più di un criterio dell'organizzazione, puoi applicarlo in modo forzato direttamente attraverso i risultati della simulazione. Per applicare le modifiche di test in più criteri dell'organizzazione, utilizza Google Cloud CLI.
Console
Per applicare un vincolo personalizzato ai risultati di Policy Simulator, vai alla pagina Cronologia delle simulazioni.
Seleziona il report di simulazione per il vincolo personalizzato o l'organizzazione il criterio che vuoi applicare.
Se il report di simulazione include un vincolo personalizzato, fai clic su Salva vincolo.
Se questo report di simulazione include modifiche a non più di un'organizzazione puoi applicare il criterio dell'organizzazione come criterio di prova di monitorare il comportamento in produzione senza introdurre rischi, selezionando Imposta il criterio dry run. Viene visualizzata la pagina Dettagli criteri per i nuovi criteri dell'organizzazione.
Puoi applicare immediatamente il criterio dell'organizzazione facendo clic su
e poi su Imposta criterio.
gcloud
Per applicare un vincolo personalizzato, devi configurarlo in modo da renderlo disponibile per criteri dell'organizzazione nella tua organizzazione. Per impostare una limitazione personalizzata, utilizza il comando gcloud org-policies set-custom-constraint:
gcloud org-policies set-custom-constraint CONSTRAINT_PATH
Sostituisci
CONSTRAINT_PATH
con il percorso completo del file di vincoli personalizzati. Ad esempio,/home/user/customconstraint.yaml
.Al termine, il vincolo personalizzato è disponibile nell'elenco dei criteri dell'organizzazione di Google Cloud.
Per applicare un criterio dell'organizzazione contenente un vincolo personalizzato, utilizza il metodo gcloud org-policies set-policy :
gcloud org-policies set-policy POLICY_PATH
Sostituisci
POLICY_PATH
con il percorso completo del tuo YAML dei criteri dell'organizzazione.L'applicazione del criterio può richiedere fino a 15 minuti.
Salva i risultati della simulazione
Console
Se utilizzi la console Google Cloud, puoi salvare i risultati di Simulatore criteri come file CSV.
Per salvare i risultati di Policy Simulator, vai alla pagina Cronologia simulazioni.
Seleziona il report sulla simulazione che vuoi salvare.
Fai clic su
Esporta risultati completi.
gcloud
Se utilizzi l'interfaccia a riga di comando gcloud, puoi salvare i risultati di Simulatore criteri come file JSON o YAML.
Per impostazione predefinita, i risultati dei test in Google Cloud CLI vengono visualizzati in formato YAML. A
salvare il risultato di un test come file YAML, reindirizzare l'output
simulate orgpolicy
durante l'esecuzione della simulazione:
> FILENAME
Sostituisci FILENAME
con un nome per il file di output.
Per salvare il risultato di un test come file JSON, aggiungi il flag seguente
al comando simulate orgpolicy
durante l'esecuzione della simulazione:
--format=json > FILENAME
Sostituisci FILENAME
con un nome per il file di output.
Passaggi successivi
- Scopri di più sui vincoli.
- Scopri le opzioni aggiuntive che puoi utilizzare per personalizzare le norme.
- Scopri come impostare i criteri dell'organizzazione in base ai tag.