Panoramica di Organization Policy

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:

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.

Concetti relativi alle policy dell'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 aggiungere in:us-locations all'elenco negato del constraints/gcp.resourceLocations vincolo per bloccare tutte le località incluse nella regione us.

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 disableSerialPortAccess non 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:

Per saperne di più su questi e altri strumenti di Policy Intelligence tools, consulta la panoramica di Policy Intelligence.

Passaggi successivi