Configurare Key Access Justifications con Cloud HSM

Questa pagina descrive come configurare Key Access Justifications con Cloud HSM per il pacchetto di controlli delle regioni del Giappone di Assured Workloads.

Durante i passaggi per creare una nuova cartella Assured Workloads per le regioni del Giappone, hai la possibilità di creare un nuovo progetto e un keyring per le tue chiavi crittografiche. Le chiavi Cloud HSM possono essere aggiunte a questo keyring e puoi anche configurare una policy Key Access Justifications per controllare l'accesso a ogni chiave.

Prima di iniziare

  • La possibilità di utilizzare Key Access Justifications con le chiavi Cloud HSM è disponibile solo per il pacchetto di controlli delle regioni del Giappone in Assured Workloads.
  • Assicurati che l'amministratore ti abbia concesso uno dei ruoli Identity and Access Management (IAM) necessari per creare e gestire sia i criteri Key Access Justifications sia le chiavi Cloud HSM.

Autorizzazioni IAM richieste

Per ottenere le autorizzazioni necessarie per creare e gestire le chiavi Cloud HSM e le relative policy di Key Access Justifications, chiedi all'amministratore di concederti il ruolo IAM Cloud KMS Admin (roles/cloudkms.admin) sul progetto contenente il portachiavi. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questo ruolo predefinito contiene le autorizzazioni necessarie per creare e gestire le chiavi Cloud HSM e le relative policy di giustificazione dell'accesso alle chiavi. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per creare e gestire le chiavi Cloud HSM e le relative policy Key Access Justifications sono necessarie le seguenti autorizzazioni:

  • cloudkms.cryptoKeys.create
  • cloudkms.cryptoKeys.update
  • cloudkms.cryptoKeys.get

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Configura una chiave Cloud HSM con Key Access Justifications

Per configurare Key Access Justifications con una chiave Cloud HSM, puoi includere la policy di accesso alla chiave come parametro quando crei la chiave oppure puoi aggiornare la chiave con la policy dopo la creazione.

Crea una nuova chiave e una nuova policy

REST

Crea una nuova chiave e una nuova policy utilizzando il metodo cryptoKeys.create:

POST https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys?crypto_key_id=KEY_NAME

Nella richiesta, sostituisci i seguenti valori segnaposto:

  • PROJECT_ID: l'ID progetto che contiene il portachiavi a cui vuoi aggiungere una chiave, ad esempio 919698201234.
  • LOCATION: la posizione delle chiavi automatizzate, ad esempio us-west1.
  • KEY_RING: il nome del keyring che hai specificato quando hai creato il progetto di gestione delle chiavi e il keyring della cartella Assured Workloads, ad esempio my-key-ring.
  • KEY_NAME: il nome della chiave HSM che vuoi creare, ad esempio my-hsm-key.

Corpo della richiesta:

{
  "purpose": "PURPOSE",
  "versionTemplate": {
    "protectionLevel": "HSM",
    "algorithm": "ALGORITHM"
  },
  "keyAccessJustificationsPolicy": {
    "allowedAccessReasons": [
      ALLOWED_ACCESS_REASONS
    ]
  }
}

Nel corpo della richiesta, sostituisci i seguenti valori segnaposto:

  • PURPOSE: lo scopo della chiave. Per un elenco di scopi diversi delle chiavi, consulta Scopi delle chiavi, ad esempio ENCRYPT_DECRYPT.
  • ALGORITHM: L'algoritmo crittografico da utilizzare. Per un elenco degli algoritmi disponibili, consulta Algoritmi Cloud KMS, ad esempio GOOGLE_SYMMETRIC_ENCRYPTION.
  • ALLOWED_ACCESS_REASONS: la policy Key Access Justifications che definisce zero o più codici di giustificazione consentiti per l'accesso alla chiave di crittografia, ad esempio ["CUSTOMER_INITIATED_ACCESS", "GOOGLE_INITIATED_SYSTEM_OPERATION"].

La seguente richiesta di esempio e il corpo della richiesta consentono l'accesso alle giustificazioni solo per alcuni motivi:

POST https://cloudkms.googleapis.com/v1/projects/919698201234/locations/us-west1/keyRings/my-key-ring/cryptoKeys?crypto_key_id=my-hsm-key
{
  "purpose": "ENCRYPT_DECRYPT",
  "versionTemplate": {
    "protectionLevel": "HSM",
    "algorithm": "GOOGLE_SYMMETRIC_ENCRYPTION"
  },
  "keyAccessJustificationsPolicy": {
    "allowedAccessReasons": [
      "CUSTOMER_INITIATED_ACCESS",
      "GOOGLE_INITIATED_SYSTEM_OPERATION"
    ]
  }
}

Aggiorna la policy di una chiave esistente

REST

Aggiorna una chiave esistente in Cloud KMS utilizzando il metodo cryptoKeys.patch:

PATCH https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME?update_mask=keyAccessJustificationsPolicy

Nella richiesta, sostituisci i seguenti valori segnaposto:

  • PROJECT_ID: l'ID progetto del progetto che contiene il portachiavi per la chiave, ad esempio 919698201234.
  • LOCATION: la posizione delle chiavi automatizzate, ad esempio us-west1.
  • KEY_RING: il nome del keyring che hai specificato quando hai creato il progetto di gestione delle chiavi e il keyring della cartella Assured Workloads, ad esempio my-key-ring.
  • KEY_NAME: il nome della chiave HSM che vuoi aggiornare, ad esempio my-hsm-key.

Corpo della richiesta:

{
  "purpose": "PURPOSE",
  "versionTemplate": {
    "protectionLevel": "HSM",
    "algorithm": "ALGORITHM"
  },
  "keyAccessJustificationsPolicy": {
    "allowedAccessReasons": [
      ALLOWED_ACCESS_REASONS
    ]
  }
}

Nel corpo della richiesta, sostituisci i seguenti valori segnaposto:

  • PURPOSE: lo scopo della chiave. Per un elenco di scopi diversi delle chiavi, consulta Scopi delle chiavi, ad esempio ENCRYPT_DECRYPT.
  • ALGORITHM: L'algoritmo crittografico da utilizzare. Per un elenco degli algoritmi disponibili, consulta Algoritmi Cloud KMS, ad esempio GOOGLE_SYMMETRIC_ENCRYPTION.
  • ALLOWED_ACCESS_REASONS: la policy Key Access Justifications che definisce zero o più codici di giustificazione consentiti per l'accesso alla chiave di crittografia, ad esempio ["CUSTOMER_INITIATED_ACCESS", "GOOGLE_INITIATED_SYSTEM_OPERATION"].

La seguente richiesta di esempio e il corpo della richiesta consentono l'accesso alle giustificazioni solo per alcuni motivi:

PATCH https://cloudkms.googleapis.com/v1/projects/919698201234/locations/us-west1/keyRings/my-key-ring/cryptoKeys/my-hsm-key?keyAccessJustificationsPolicy
{
  "purpose": "ENCRYPT_DECRYPT",
  "versionTemplate": {
    "protectionLevel": "HSM",
    "algorithm": "GOOGLE_SYMMETRIC_ENCRYPTION"
  },
  "keyAccessJustificationsPolicy": {
    "allowedAccessReasons": [
      "CUSTOMER_INITIATED_ACCESS",
      "GOOGLE_INITIATED_SYSTEM_OPERATION"
    ]
  }
}

Recupera la policy Key Access Justifications per una chiave

REST

Recupera i metadati di una chiave esistente in Cloud KMS utilizzando il metodo cryptoKeys.get:

GET https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME

Nei parametri della richiesta, sostituisci i seguenti valori segnaposto con i tuoi:

  • PROJECT_ID: l'ID progetto che contiene il portachiavi per la chiave, ad esempio 919698201234.
  • LOCATION: la posizione delle chiavi automatizzate, ad esempio us-west1.
  • KEY_RING: il nome del keyring che hai specificato quando hai creato il progetto di gestione delle chiavi e il keyring della cartella Assured Workloads, ad esempio my-key-ring.
  • KEY_NAME: il nome della chiave HSM che vuoi ottenere, ad esempio my-hsm-key.

La seguente richiesta di esempio recupera i metadati di una chiave in Cloud KMS:

GET https://cloudkms.googleapis.com/v1/projects/919698201234/locations/us-west1/keyRings/my-key-ring/cryptoKeys/my-hsm-key

Il corpo della risposta contiene i metadati della chiave, incluso il keyAccessJustificationsPolicy. Ad esempio:

{
  "purpose": "ENCRYPT_DECRYPT",
  "versionTemplate": {
    "protectionLevel": "HSM",
    "algorithm": "GOOGLE_SYMMETRIC_ENCRYPTION"
  },
  "keyAccessJustificationsPolicy": {
    "allowedAccessReasons": [
      "CUSTOMER_INITIATED_ACCESS",
      "GOOGLE_INITIATED_SYSTEM_OPERATION"
    ]
  }
}

Passaggi successivi