Questo documento spiega come utilizzare i criteri di negazione IAM e i vincoli delle policy dell'organizzazione per controllare l'utilizzo di Autokey all'interno di un'organizzazione o di una cartella. Entrambi questi guardrail possono essere modificati solo con i ruoli a livello di organizzazione, quindi non possono essere sostituiti dalle entità con ruoli Proprietario o Amministratore a livello di cartella o progetto.
Sono supportati i seguenti casi d'uso:
- Richiedi la creazione delle chiavi da parte di Autokey. Puoi impedire alle entità di creare manualmente le chiavi, assicurandoti che tutte le chiavi vengano create da Autokey. Nelle risorse in cui Autokey non è abilitato, non potrai creare chiavi.
- Limita Autokey in modo da consentire solo l'archiviazione delle chiavi del progetto dedicato o solo l'archiviazione delle chiavi dello stesso progetto.
- Blocca completamente Autokey. In questo modo, tutte le chiavi vengono create manualmente.
IAM rispetto alle policy dell'organizzazione
Sia IAM sia le policy dell'organizzazione ti consentono di impostare guardrail per controllare come Cloud KMS Autokey può essere utilizzato nella tua organizzazione.
IAM controlla chi è autorizzato a eseguire quali azioni su quali risorse. Puoi utilizzare IAM per limitare quali entità possono abilitare e utilizzare Autokey nella tua organizzazione.
Le policy dell'organizzazione controllano quali risorse possono essere create e come possono essere configurate. Puoi utilizzare le policy dell'organizzazione personalizzate per limitare dove e come Autokey può essere abilitato.
Puoi utilizzare IAM e le policy dell'organizzazione insieme per creare un sistema di guardrail robusto per controllare chi può abilitare e utilizzare Autokey e dove può farlo.
Prima di iniziare
Per ottenere le autorizzazioni necessarie per controllare l'utilizzo di Autokey, chiedi all'amministratore di concederti i seguenti ruoli IAM nell'organizzazione:
-
Imposta la policy dell'organizzazione:
Amministratore delle policy dell'organizzazione (
roles/orgpolicy.policyAdmin) -
Imposta i criteri di negazione IAM:
Amministratore di negazione (
roles/iam.denyAdmin)
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Utilizza i criteri di negazione IAM per controllare Autokey
I criteri di negazione IAM forniscono un controllo dall'alto verso il basso su quali entità possono eseguire quali azioni. I criteri di negazione impostati su una risorsa non possono essere sostituiti dalle concessioni di ruoli IAM o dai criteri di negazione impostati su una risorsa figlio. Le entità non possono completare le azioni che richiedono autorizzazioni negate, anche se l'autorizzazione è inclusa in un ruolo che hanno.
Per scoprire come creare criteri di negazione IAM, consulta Nega l'accesso alle risorse.
La tabella seguente mostra alcuni esempi di casi d'uso per i criteri di negazione IAM, incluse le autorizzazioni che puoi negare per controllare Autokey nella tua organizzazione e l'effetto della negazione di ogni autorizzazione.
Utilizza i vincoli delle policy dell'organizzazione personalizzate per controllare Autokey
I vincoli delle policy dell'organizzazione personalizzate forniscono un controllo dal basso verso l'alto su dove e come Autokey può essere configurato. I vincoli possono essere sostituiti dai vincoli applicati a una risorsa figlio. Tuttavia, la modifica dei vincoli richiede autorizzazioni a livello di organizzazione, quindi le entità con autorizzazioni a livello di cartella o a livello di progetto non possono sostituire i vincoli. Mentre i vincoli sono applicati, le entità non possono completare le azioni vietate, anche se dispongono delle autorizzazioni necessarie per farlo.
Per scoprire come applicare i vincoli personalizzati nella tua organizzazione, consulta Crea vincoli delle policy dell'organizzazione personalizzate per Cloud KMS.
Puoi combinare i vincoli delle policy dell'organizzazione personalizzate descritti qui con altre policy dell'organizzazione CMEK.
Limita la modalità Autokey
Puoi limitare la funzionalità Autokey bloccando in modo condizionale la creazione di risorse AutokeyConfig. La seguente definizione di vincolo di esempio vieta la creazione o l'aggiornamento delle risorse AutokeyConfig in base al relativo keyProjectResolutionMode.
name: organizations/ORGANIZATION_ID/customConstraints/custom.restrictAutokeyKeyStorage
resourceTypes:
- cloudkms.googleapis.com/AutokeyConfig
methodTypes:
- CREATE
- UPDATE
condition: "resource.keyProjectResolutionMode == 'KEY_PROJECT_RESOLUTION_MODE')"
actionType: DENY
displayName: Restrict Autokey key storage mode
description: >
Prevent creation or update of AutokeyConfig resources with
`KEY_PROJECT_RESOLUTION_MODE` key resolution mode.
Sostituisci KEY_PROJECT_RESOLUTION_MODE con keyProjectResolutionMode che vuoi bloccare. Ad esempio, per impedire a chiunque nella tua organizzazione di utilizzare l'archiviazione delle chiavi dello stesso progetto nei propri progetti, imposta questo valore su RESOURCE_PROJECT.
Impedisci la creazione della configurazione di Autokey in una cartella
Puoi utilizzare le policy dell'organizzazione personalizzate per impedire l'abilitazione di Autokey all'interno di una cartella bloccando la creazione di tutte le risorse AutokeyConfig.
La seguente definizione di vincolo di esempio vieta la creazione di risorse AutokeyConfig all'interno di una cartella denominata. Mentre questo vincolo è applicato, è comunque possibile modificare le configurazioni esistenti.
name: organizations/ORGANIZATION_ID/customConstraints/custom.noNewAutokeyConfigFolder
resourceTypes:
- cloudkms.googleapis.com/AutokeyConfig
methodTypes:
- CREATE
condition: "resource.name == 'folders/FOLDER_ID/autokeyConfig'"
actionType: DENY
displayName: Prohibit Autokey within FOLDER_ID
description: >
Prevent creation of new AutokeyConfig resources within
folders/FOLDER_ID.
Sostituisci quanto segue:
ORGANIZATION_ID: l'identificatore della tua organizzazione.FOLDER_IDcon l'identificatore della cartella in cui vuoi bloccare Autokey.
Impedisci la creazione della configurazione di Autokey all'interno di un'organizzazione
Puoi utilizzare le policy dell'organizzazione personalizzate per impedire l'abilitazione di Autokey all'interno dell'intera organizzazione bloccando la creazione di tutte le risorse AutokeyConfig.
La seguente definizione di vincolo di esempio vieta la creazione di risorse AutokeyConfig all'interno dell'intera organizzazione. Mentre questo vincolo è applicato, è comunque possibile modificare le configurazioni esistenti.
name: organizations/ORGANIZATION_ID/customConstraints/custom.noNewAutokeyConfigOrg
resourceTypes:
- cloudkms.googleapis.com/AutokeyConfig
methodTypes:
- CREATE
condition: "resource.name.endsWith('/autokeyConfig')"
actionType: DENY
displayName: Prohibit Autokey within ORGANIZATION_ID
description: >
Prevent creation of new AutokeyConfig resources within organization
ORGANIZATION_ID.
Sostituisci ORGANIZATION_ID con l'identificatore della tua organizzazione.
Impedisci la modifica della configurazione di Autokey in una cartella
Puoi utilizzare le policy dell'organizzazione personalizzate per impedire la modifica delle configurazioni di Autokey all'interno di una cartella bloccando la creazione o l'aggiornamento di tutte le risorse AutokeyConfig.
La seguente definizione di vincolo di esempio vieta la creazione o l'aggiornamento delle risorse AutokeyConfig all'interno di una cartella denominata.
name: organizations/ORGANIZATION_ID/customConstraints/custom.noChangeAutokeyConfigFolder
resourceTypes:
- cloudkms.googleapis.com/AutokeyConfig
methodTypes:
- CREATE
- UPDATE
condition: "resource.name == 'folders/FOLDER_ID/autokeyConfig'"
actionType: DENY
displayName: Prohibit Autokey within FOLDER_ID
description: >
Prevent creation or update of AutokeyConfig resources within
folders/FOLDER_ID.
Sostituisci quanto segue:
ORGANIZATION_ID: l'identificatore della tua organizzazione.FOLDER_IDcon l'identificatore della cartella in cui vuoi bloccare Autokey.
Impedisci la modifica della configurazione di Autokey all'interno di un'organizzazione
Puoi utilizzare le policy dell'organizzazione personalizzate per impedire la modifica delle configurazioni di Autokey in qualsiasi punto della tua organizzazione bloccando la creazione o l'aggiornamento di tutte le risorse AutokeyConfig.
La seguente definizione di vincolo di esempio vieta la creazione o l'aggiornamento delle risorse AutokeyConfig all'interno dell'intera organizzazione.
name: organizations/ORGANIZATION_ID/customConstraints/custom.noChangeAutokeyConfigOrg
resourceTypes:
- cloudkms.googleapis.com/AutokeyConfig
methodTypes:
- CREATE
- UPDATE
condition: condition: "resource.name.endsWith('/autokeyConfig')"
actionType: DENY
displayName: Prohibit Autokey within ORGANIZATION_ID
description: >
Prevent creation or update of AutokeyConfig resources within
ORGANIZATION_ID.
Sostituisci ORGANIZATION_ID con l'identificatore della tua organizzazione.
Consenti solo la configurazione di Autokey DISABLED
La seguente definizione di vincolo di esempio impedisce a chiunque di creare o aggiornare una risorsa AutokeyConfig all'interno di un'intera organizzazione, a meno che keyProjectResolutionMode non sia impostato esplicitamente su DISABLED.
name: organizations/ORGANIZATION_ID/customConstraints/custom.onlyDisabledAutokeyConfig
resourceTypes:
- cloudkms.googleapis.com/AutokeyConfig
methodTypes:
- CREATE
- UPDATE
condition: "resource.keyProjectResolutionMode=='DISABLED'"
actionType: ALLOW
displayName: Prohibit Autokey within the organization
description: >
Prevent creation or update of `AutokeyConfig` resources within
organization ORGANIZATION_ID unless the `keyProjectResolutionMode`
is `DISABLED`.
Impedisci la configurazione di Autokey a livello di progetto
La seguente definizione di vincolo di esempio impedisce a chiunque di creare o aggiornare una risorsa AutokeyConfig in un progetto, senza bloccare le configurazioni a livello di cartella. Mentre questo vincolo è applicato, tutte le risorse AutokeyConfig a livello di progetto esistenti rimangono in vigore, ma tutti gli altri progetti devono continuare a ereditare AutokeyConfig dalla cartella principale.
name: organizations/ORGANIZATION_ID/customConstraints/custom.noAutokeyConfigProject
resourceTypes:
- cloudkms.googleapis.com/AutokeyConfig
methodTypes:
- CREATE
- UPDATE
condition: "resource.name.startsWith('projects/')"
actionType: DENY
displayName: Block project-level Autokey within the organization
description: >
Prevent creation or update of `AutokeyConfig` resources on projects within
organization ORGANIZATION_ID. Existing project-level AutokeyConfig
resources remain in effect, but all other projects must inherit the
AutokeyConfig from their parent folder.
Esempi di casi d'uso
Le seguenti sezioni forniscono esempi che combinano criteri di negazione IAM, policy dell'organizzazione personalizzate e policy dell'organizzazione standard.
Richiedi la creazione delle chiavi da parte di Autokey
Se vuoi richiedere CMEK utilizzando Autokey all'interno di una cartella, puoi farlo combinando i controlli dell'accesso IAM con le policy dell'organizzazione CMEK. Questa operazione funziona rimuovendo le autorizzazioni di creazione delle chiavi dalle entità diverse da Cloud KMS Service Agent e quindi richiedendo che tutte le risorse siano protette da CMEK utilizzando il progetto chiave Autokey.
Per applicare l'utilizzo di Autokey all'interno di una cartella:
Blocca la creazione manuale delle chiavi nel progetto chiave applicando un criterio di negazione IAM. Nel criterio di negazione, nega l'autorizzazione
cloudkms.cryptoKeys.createa tutte le entità tranne Cloud KMS Service Agent. Se la cartella utilizza l'archiviazione delle chiavi del progetto dedicato, applica il criterio di negazione al progetto chiave dedicato. Se la cartella utilizza l'archiviazione delle chiavi dello stesso progetto, applica il criterio di negazione ai progetti di risorse.Quando le chiavi non possono essere create manualmente, in questi progetti possono essere create solo le chiavi create da Autokey.
Richiedi che le risorse create di recente all'interno della cartella siano protette utilizzando CMEK applicando il vincolo
constraints/gcp.restrictNonCmekServices.Per saperne di più su questo vincolo, incluso l'elenco dei servizi che lo supportano, consulta Richiedi la protezione CMEK.
Richiedi che le chiavi utilizzate per CMEK provengano da un progetto chiave dedicato o da progetti in cui è abilitata l'archiviazione delle chiavi dello stesso progetto applicando il vincolo
constraints/gcp.restrictCmekCryptoKeyProjects. Per saperne di più su questo vincolo, incluso l'elenco dei servizi che lo supportano, consulta Limita l'utilizzo delle chiavi Cloud KMS per CMEK.
Impedisci completamente Autokey
Se vuoi bloccare completamente l'utilizzo di Autokey all'interno di un'organizzazione o di una cartella, puoi farlo utilizzando i criteri di negazione IAM o i vincoli delle policy dell'organizzazione personalizzate. Per garanzie multilivello, puoi utilizzarli entrambi.
Per bloccare completamente Autokey all'interno di un'organizzazione o di una cartella:
Se Autokey è già abilitato in qualsiasi punto dell'organizzazione o cartella, disabilita Autokey prima.
Impedisci agli utenti di configurare Autokey applicando un criterio di negazione IAM. Nel criterio di negazione, nega l'autorizzazione
cloudkms.autokeyConfigs.updatea tutte le entità. Quando Autokey è disabilitato ovunque e nessuna entità è in grado di modificare le risorseAutokeyConfig, Autokey rimane completamente disabilitato.(Facoltativo) I passaggi precedenti sono sufficienti per impedire a chiunque di abilitare Autokey. Tuttavia, se vuoi un altro livello di garanzia, puoi anche applicare un vincolo delle policy dell'organizzazione personalizzate per consentire solo
AutokeyConfigrisorse in cui Autokey è disabilitato.
Se applichi sia il criterio di negazione IAM sia il vincolo delle policy dell'organizzazione personalizzate descritto qui, nessuna entità potrà abilitare Autokey nella risorsa senza prima annullare o aggiornare entrambi questi guardrail.
Passaggi successivi
- Scopri di più sulle policy dell'organizzazione per le chiavi CMEK.
- Scopri di più sui criteri di negazione IAM.
- Scopri di più sul servizio servizio policy dell'organizzazione.
- Scopri di più sui vincoli delle policy dell'organizzazione personalizzate.