Controllare l'utilizzo di Autokey

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:

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.

Caso d'uso Autorizzazione negata Entità Effetto
Impedisci l'abilitazione di Autokey cloudkms.autokeyConfigs.update Qualsiasi Le entità selezionate non possono creare nuove AutokeyConfig risorse o aggiornare quelle esistenti. Tutte le risorse esistenti AutokeyConfig rimangono in vigore e possono ancora essere utilizzate.
Impedisci l'utilizzo di Autokey cloudkms.keyHandles.create Qualsiasi Le entità selezionate non possono creare nuove risorse KeyHandle, quindi non possono creare nuove risorse protette utilizzando Autokey, anche se Autokey è abilitato.
Impedisci la creazione manuale delle chiavi cloudkms.cryptoKeys.create Qualsiasi tranne Cloud KMS Service Agent Le entità selezionate non possono creare nuove chiavi. Quando esenti solo il Cloud KMS Service Agent, Autokey è l'unico modo per creare nuove chiavi.
Solo IaC può modificare le configurazioni di Autokey cloudkms.autokeyConfigs.update Tutte tranne l'agente di esecuzione di Terraform Le entità selezionate non possono creare nuove AutokeyConfig risorse o aggiornare quelle esistenti. Quando esenti l'entità Terraform principal, le configurazioni di Autokey vengono controllate dalla pipeline Infrastructure as Code (IaC).

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_ID con 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_ID con 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:

  1. Blocca la creazione manuale delle chiavi nel progetto chiave applicando un criterio di negazione IAM. Nel criterio di negazione, nega l'autorizzazione cloudkms.cryptoKeys.create a 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.

  2. 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.

  3. 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:

  1. Se Autokey è già abilitato in qualsiasi punto dell'organizzazione o cartella, disabilita Autokey prima.

  2. Impedisci agli utenti di configurare Autokey applicando un criterio di negazione IAM. Nel criterio di negazione, nega l'autorizzazione cloudkms.autokeyConfigs.update a tutte le entità. Quando Autokey è disabilitato ovunque e nessuna entità è in grado di modificare le risorse AutokeyConfig, Autokey rimane completamente disabilitato.

  3. (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 AutokeyConfig risorse 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