Configurare le giustificazioni per l'accesso alle chiavi con Cloud HSM

Questa pagina descrive come configurare le giustificazioni di accesso alle chiavi con Cloud HSM per il pacchetto di controllo delle regioni del Giappone di Assured Workloads.

Durante la procedura 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 un criterio Key Access Justifications per controllare l'accesso a ogni chiave.

Prima di iniziare

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

Autorizzazioni IAM richieste

Per ottenere le autorizzazioni necessarie per creare e gestire le chiavi Cloud HSM e i relativi criteri di giustificazione dell'accesso alle chiavi, chiedi all'amministratore di concederti il ruolo IAM Amministratore Cloud KMS (roles/cloudkms.admin) nel progetto contenente il portachiavi. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.

Questo ruolo predefinito contiene le autorizzazioni necessarie per creare e gestire le chiavi Cloud HSM e i relativi criteri di giustificazione dell'accesso alle chiavi. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:

Autorizzazioni obbligatorie

Per creare e gestire le chiavi Cloud HSM e i relativi criteri di giustificazione dell'accesso alle chiavi 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.

Configurare una chiave Cloud HSM con giustificazioni per l'accesso alle chiavi

Per configurare le giustificazioni di accesso alle chiavi con una chiave Cloud HSM, puoi includere il criterio di accesso alla chiave come parametro durante la creazione della chiave oppure aggiornare la chiave con il criterio dopo la sua creazione.

Creare una nuova chiave e un nuovo criterio

REST

Crea una nuova chiave e un nuovo criterio 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 su cui vuoi aggiungere una chiave, ad esempio 919698201234.
  • LOCATION: la posizione del portachiavi, ad esempio us-west1.
  • KEY_RING: il nome del keyring 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: il criterio Giustificazioni di accesso alla chiave che definisce zero o più codici di giustificazione per accedere alla chiave di crittografia, ad esempio CUSTOMER_INITIATED_ACCESS.

La richiesta e il corpo della richiesta di esempio che seguono consentono giustificazioni di accesso 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"
    ]
  }
}

Aggiornare il criterio 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 del progetto che contiene l'anello di chiavi per la chiave, ad esempio 919698201234.
  • LOCATION: la posizione del portachiavi, ad esempio us-west1.
  • KEY_RING: il nome del keyring 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: il criterio Giustificazioni di accesso alla chiave che definisce zero o più codici di giustificazione per accedere alla chiave di crittografia, ad esempio CUSTOMER_INITIATED_ACCESS.

La richiesta e il corpo della richiesta di esempio che seguono consentono giustificazioni di accesso 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"
    ]
  }
}

Recuperare il criterio 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 di 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 del portachiavi, ad esempio us-west1.
  • KEY_RING: il nome del keyring 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 recuperare, 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"
    ]
  }
}