Il servizio Policy dell'organizzazione offre un controllo centralizzato e programmatico sulle risorse della tua organizzazione's Google Cloud In qualità di amministratore della policy dell'organizzazione, puoi configurare i vincoli nell'intera gerarchia delle risorse.
Vantaggi
- Centralizza il controllo per configurare le limitazioni sull'utilizzo delle risorse della tua organizzazione.
- Definisci e stabilisci limiti di sicurezza per i team di sviluppo per rimanere entro i confini di conformità.
- Aiuta i proprietari dei progetti e i loro team a muoversi rapidamente senza il timore di violare la conformità.
Casi d'uso comuni
Le policy dell'organizzazione consentono di:
- Limitare la condivisione delle risorse in base al dominio.
- Limitare l'utilizzo degli account di servizio Identity and Access Management (IAM).
- Limitare la posizione fisica delle risorse appena create.
Esistono molti altri vincoli che consentono di controllare in modo granulare le risorse della tua organizzazione. Per saperne di più, consulta l' elenco di tutti i vincoli delle policy dell'organizzazione.
Differenze rispetto a Identity and Access Management
Identity and Access Management si concentra su chi e consente all'amministratore di autorizzare chi può intervenire su risorse specifiche in base alle autorizzazioni.
La policy dell'organizzazione si concentra su cosa e consente all'amministratore di impostare limitazioni su risorse specifiche per determinare come possono essere configurate.
Come funziona la policy dell'organizzazione
Una policy dell'organizzazione configura un singolo vincolo che limita uno o più Google Cloud servizi. La policy dell'organizzazione viene impostata su una risorsa organizzazione, cartella o progetto per applicare il vincolo a quella risorsa e a tutte le risorse figlio.
Una policy dell'organizzazione contiene una o più regole che specificano come e se applicare il vincolo. Ad esempio, una policy dell'organizzazione potrebbe contenere una regola che applica il vincolo solo alle risorse con tag environment=development e un'altra regola che impedisce l'applicazione del vincolo ad altre risorse.
I discendenti della risorsa a cui è collegata la policy dell'organizzazione ereditano la policy dell'organizzazione. Applicando una policy dell'organizzazione alla risorsa organizzazione, l'amministratore della policy dell'organizzazione può controllare l'applicazione forzata di questa policy e la configurazione delle limitazioni in tutta l'organizzazione.
Vincoli
Un vincolo è un tipo specifico di limitazione per un
Google Cloud servizio o un elenco
di Google Cloud servizi. Considera il vincolo come un progetto che definisce i comportamenti controllati. Ad esempio, puoi impedire alle risorse del progetto di accedere alle risorse di archiviazione di Compute Engine utilizzando il vincolo compute.storageResourceUseRestrictions.
Questo progetto viene quindi impostato su una risorsa nella gerarchia delle risorse come policy dell'organizzazione, che applica le regole definite nel vincolo. Il Google Cloud servizio mappato al vincolo e associato a quella risorsa applica le limitazioni configurate nella policy dell'organizzazione.
Una policy dell'organizzazione è definita in un file YAML o JSON dal vincolo che applica e, facoltativamente, dalle condizioni in cui viene applicato il vincolo. Ogni policy dell'organizzazione applica esattamente un vincolo in modalità attiva, in modalità dry run o in entrambe.
I vincoli gestiti hanno parametri di elenco o booleani determinati da l servizio di applicazione forzata. Google Cloud I vincoli personalizzati sono funzionalmente simili ai vincoli gestiti con parametri booleani e vengono applicati o meno.I vincoli gestiti legacy hanno una o più regole di elenco o regole booleane in base al tipo di vincolo. Le regole di elenco sono una raccolta di valori consentiti o negati. Le regole booleane possono consentire tutti i valori, negare tutti i valori o determinare se un vincolo viene applicato o meno.
Vincoli gestiti
I vincoli gestiti sono progettati per sostituire i vincoli gestiti legacy equivalenti, ma con maggiore flessibilità e maggiori informazioni dettagliate dagli strumenti di Policy Intelligence. Questi vincoli hanno una struttura simile ai vincoli delle policy dell'organizzazione personalizzate, ma sono gestiti da Google.
Se il vincolo gestito legacy equivalente ha un tipo di vincolo booleano, il vincolo gestito può essere applicato o meno nello stesso modo. Ad esempio, la seguente policy dell'organizzazione applica iam.managed.disableServiceAccountCreation, che è il vincolo equivalente a iam.disableServiceAccountCreation:
name: organizations/1234567890123/policies/iam.managed.disableServiceAccountCreation
spec:
rules:
- enforce: true
Se il vincolo gestito legacy equivalente ha un tipo di vincolo di elenco, il vincolo gestito supporta la definizione di parametri che definiscono le risorse e i comportamenti limitati dal vincolo. Ad esempio, la seguente policy dell'organizzazione applica un vincolo gestito che consente di aggiungere solo i domini example.com e altostrat.com ai contatti essenziali per organizations/1234567890123:
name: organizations/1234567890123/policies/essentialcontacts.managed.allowedContactDomains
spec:
rules:
- enforce: true
parameters:
allowedDomains:
- @example.com
- @altostrat.com
Per impostazione predefinita, i vincoli gestiti supportano la simulazione in Policy Simulator
per la policy dell'organizzazione.
Se un vincolo gestito non supporta la simulazione, viene indicato nella
tabella dei vincoli e
dal campo simulation_disabled impostato su true nella
definizione del vincolo.
Vincoli personalizzati
Come i vincoli gestiti, i vincoli personalizzati consentono o limitano la creazione e gli aggiornamenti delle risorse. Tuttavia, i vincoli personalizzati sono gestiti dalla tua organizzazione anziché da Google. Puoi utilizzare gli strumenti di Policy Intelligence per testare e analizzare le policy dell'organizzazione personalizzate.
Per un elenco delle risorse di servizio che supportano i vincoli personalizzati, consulta Servizi supportati dai vincoli personalizzati.
Per saperne di più sull'utilizzo delle policy dell'organizzazione personalizzate, consulta Creare vincoli personalizzati.
Per un elenco di esempi di vincoli personalizzati, consulta la libreria delle policy dell'organizzazione personalizzate su GitHub.
Vincoli gestiti (legacy)
I vincoli gestiti legacy hanno un tipo di vincolo di elenco o booleano, che determina i valori che possono essere utilizzati per controllare l'applicazione forzata. Il servizio di applicazione forzata Google Cloud valuterà il tipo e il valore del vincolo per determinare la limitazione applicata.
Questi vincoli legacy erano precedentemente noti come vincoli predefiniti.
Regole di elenco
I vincoli gestiti legacy con regole di elenco consentono o non consentono un elenco di valori definiti in una policy dell'organizzazione. Questi vincoli legacy erano precedentemente noti come vincoli di elenco. L'elenco dei valori consentiti o negati viene espresso come una stringa di sottostruttura della gerarchia. La stringa di sottostruttura specifica il tipo di risorsa a cui si applica. Ad esempio, il vincolo gestito legacy
constraints/compute.trustedImageProjects accetta un elenco di ID progetto nel
formato projects/PROJECT_ID.
Puoi specificare che tutti i valori sono consentiti, tutti i valori sono negati o che un elenco specifico di valori è consentito o negato. Quando specifichi un elenco di valori consentiti o negati, la policy dell'organizzazione valuta implicitamente che solo questi valori sono consentiti o negati. Ad esempio, se hai un vincolo che
consente solo projects/PROJECT_ID, tutti gli altri valori vengono
negati implicitamente.
I valori possono avere un prefisso nel formato prefix:value per i vincoli che li supportano, il che conferisce al valore un significato aggiuntivo:
is:- applica un confronto con il valore esatto. Questo è lo stesso comportamento di non avere un prefisso ed è obbligatorio quando il valore include i due punti.under:- applica un confronto al valore e a tutti i relativi valori figlio. Se una risorsa è consentita o negata con questo prefisso, anche le relative risorse figlio sono consentite o negate. Il valore fornito deve essere l'ID di una risorsa organizzazione, cartella o progetto.in:- applica un confronto a tutte le risorse che includono questo valore. Ad esempio, puoi aggiungerein:us-locationsall'elenco negato delconstraints/gcp.resourceLocationsvincolo per bloccare tutte le località incluse nella regioneus.
Se non viene fornito alcun elenco di valori o se la policy dell'organizzazione è impostata sul valore predefinito gestito da Google, viene applicato il comportamento predefinito del vincolo, che consente o nega tutti i valori.
La seguente policy dell'organizzazione applica un vincolo gestito legacy che consente alle istanze VM di Compute Engine vm-1 e vm-2 in organizations/1234567890123 di accedere agli indirizzi IP esterni:
name: organizations/1234567890123/policies/compute.vmExternalIpAccess
spec:
rules:
- values:
allowedValues:
- is:projects/project_a/zones/us-central1-a/instances/vm-1
- is:projects/project_b/zones/us-central1-a/instances/vm-2
Regole booleane
Un vincolo gestito legacy con una regola booleana viene applicato o meno. Ad esempio, constraints/compute.disableSerialPortAccess ha due stati possibili:
- Applicato: il vincolo viene applicato e l'accesso alla porta seriale non è consentito.
- Non applicato: il vincolo
disableSerialPortAccessnon viene applicato o controllato, quindi l'accesso alla porta seriale è consentito.
Se la policy dell'organizzazione è impostata sul valore predefinito gestito da Google, viene applicato il comportamento predefinito del vincolo.
Questi vincoli legacy erano precedentemente noti come vincoli booleani.
La seguente policy dell'organizzazione applica un vincolo gestito legacy che disabilita la creazione di service account esterni in organizations/1234567890123:
name: organizations/1234567890123/policies/iam.disableServiceAccountCreation
spec:
rules:
- enforce: true
Policy dell'organizzazione condizionali
I tag forniscono un modo per applicare in modo condizionale i vincoli a seconda che una risorsa abbia un tag specifico. Puoi utilizzare i tag e l'applicazione condizionale dei vincoli per fornire un controllo centralizzato delle risorse nella gerarchia.
Per saperne di più sui tag, consulta Introduzione ai tag. Per scoprire come impostare una policy dell'organizzazione condizionale utilizzando i tag, consulta Definire l'ambito delle policy dell'organizzazione con i tag.
Ereditarietà
Quando una policy dell'organizzazione viene impostata su una risorsa, tutti i discendenti di quella risorsa ereditano la policy dell'organizzazione per impostazione predefinita. Se imposti una policy dell'organizzazione sulla risorsa organizzazione, la configurazione delle limitazioni definite da questa policy verrà trasmessa a tutte le cartelle, i progetti e le risorse di servizio discendenti.
Puoi impostare una policy dell'organizzazione su una risorsa discendente che sovrascrive l'ereditarietà o eredita la policy dell'organizzazione della risorsa padre. Le policy dell'organizzazione che applicano i vincoli gestiti legacy vengono unite in base alle regole di valutazione della gerarchia. Questo sistema fornisce un controllo preciso su come le policy dell'organizzazione vengono applicate in tutta l'organizzazione e su dove vuoi apportare delle eccezioni.
Per saperne di più, consulta Valutazione della gerarchia.
Violazioni
Una violazione si verifica quando un Google Cloud servizio agisce o si trova in uno stato che è contrario alla configurazione delle limitazioni della policy dell'organizzazione nell'ambito della gerarchia delle risorse. Google Cloud I servizi applicheranno i vincoli per impedire le violazioni, ma l'applicazione di nuove policy dell'organizzazione di solito non è retroattiva. Se un vincolo della policy dell'organizzazione viene applicato in modo retroattivo, verrà etichettato come tale nella pagina dei vincoli della policy dell'organizzazione.
Se una nuova policy dell'organizzazione imposta una limitazione su un'azione o uno stato in cui si trova già un servizio, la policy viene considerata in violazione, ma il servizio non interromperà il suo comportamento originale. Dovrai risolvere manualmente questa violazione. In questo modo si evita il rischio che una nuova policy dell'organizzazione interrompa completamente la continuità operativa.
Policy Intelligence
Policy Intelligence è una suite di strumenti progettata per aiutarti a gestire le policy di sicurezza. Questi strumenti possono aiutarti a comprendere l'utilizzo delle risorse, a comprendere e migliorare le policy di sicurezza esistenti e a prevenire errori di configurazione delle policy.
Alcuni strumenti di Policy Intelligence sono progettati specificamente per aiutarti a testare e analizzare le policy della policy dell'organizzazione. Ti consigliamo di testare ed eseguire in modalità dry run tutte le modifiche alle policy dell'organizzazione. Con Policy Intelligence, puoi eseguire attività come le seguenti:
- Testare le modifiche alle policy e ai vincoli dell'organizzazione e identificare le risorse non conformi alla policy proposta (anteprima).
- Testare le policy dell'organizzazione per monitorare l'impatto di una modifica della policy sui workflow.
- Analizzare le policy dell'organizzazione esistenti per capire quali Google Cloud risorse sono coperte da quale policy dell'organizzazione.
Per saperne di più su questi e altri strumenti di Policy Intelligence tools, consulta la panoramica di Policy Intelligence.
Passaggi successivi
- Leggi la pagina Creare e gestire le risorse organizzazione per scoprire come acquisire una risorsa organizzazione.
Esplora le soluzioni che puoi realizzare con i vincoli delle policy dell'organizzazione.