Configurare Key Access Justifications con Cloud KMS e Cloud HSM

Questa pagina descrive come configurare Key Access Justifications con Cloud KMS o Cloud HSM per il Data Boundary in 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 di crittografia. A questo keyring è possibile aggiungere chiavi Cloud KMS e Cloud HSM e puoi anche configurare una policy Key Access Justifications per controllare l'accesso a ogni chiave.

Prima di iniziare

  • Puoi utilizzare Key Access Justifications solo con le chiavi Cloud KMS e Cloud HSM nelle cartelle registrate nel pacchetto di controllo delle regioni del Giappone in Assured Workloads.
  • Assicurati che l'amministratore ti abbia concesso uno dei ruoli Identity and Access Management (IAM) richiesti per creare e gestire sia le policy Key Access Justifications sia le chiavi Cloud KMS e Cloud HSM.

Autorizzazioni IAM obbligatorie

Per ottenere le autorizzazioni necessarie per creare e gestire le chiavi Cloud KMS e Cloud HSM e le relative policy Key Access Justifications, chiedi all'amministratore di concederti il ruolo IAM Amministratore Cloud KMS (roles/cloudkms.admin) nel progetto contenente il keyring. 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 KMS e Cloud HSM e le relative policy Key Access Justifications. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per creare e gestire le chiavi Cloud KMS e 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.

Configurare una chiave con Key Access Justifications

Per configurare Key Access Justifications con una chiave Cloud KMS o Cloud HSM, puoi includere la policy di accesso alle chiavi come parametro quando crei la chiave oppure puoi aggiornare la chiave con la policy dopo che è stata creata.

Creare una nuova chiave e una nuova policy

Console

  1. Nella Google Cloud console, vai alla pagina Gestione delle chiavi.

    Vai a Gestione delle chiavi

  2. Fai clic sul nome del keyring in cui vuoi creare la chiave.

  3. Fai clic su Crea chiave.

  4. In Nome chiave, inserisci un nome per la chiave.

  5. In Livello di protezione, seleziona Software o HSM.

  6. Continua a selezionare le impostazioni in base alle esigenze.

  7. In Impostazioni aggiuntive > Policy Key Access Justifications, seleziona Imposta policy personalizzata, quindi seleziona Consenti codici motivo specifici.

  8. In Motivi di giustificazione, seleziona Accesso avviato dal cliente, Operazione di sistema avviata da Google e tutti gli altri codici motivo che vuoi consentire. Sia Accesso avviato dal cliente sia Operazione di sistema avviata da Google sono essenziali per il normale funzionamento.

  9. Fai clic su Crea.

REST

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

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 keyring a cui vuoi aggiungere una chiave, ad esempio 919698201234.
  • LOCATION: la località del keyring, ad esempio asia-northeast1.
  • 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.
  • KEY_NAME: il nome della chiave HSM che vuoi creare, ad esempio my-hsm-key.

Corpo della richiesta:

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

Nel corpo della richiesta, sostituisci i seguenti valori segnaposto:

La seguente richiesta di esempio e il corpo della richiesta creano una chiave Cloud HSM che consente solo le giustificazioni di accesso per alcuni motivi:

POST https://cloudkms.googleapis.com/v1/projects/919698201234/locations/asia-northeast1/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 la policy di una chiave esistente

Console

  1. Nella Google Cloud console, vai alla pagina Gestione delle chiavi.

    Vai a Gestione delle chiavi

  2. Fai clic sul nome del keyring in cui hai creato la chiave.

  3. Fai clic sul nome della chiave per cui vuoi aggiornare la policy Key Access Justifications.

  4. Fai clic su Modifica policy Key Access Justifications.

  5. Esegui una delle seguenti operazioni:

    • Per disattivare la policy Key Access Justifications sulla chiave, deseleziona la casella di controllo Imposta policy Key Access Justifications.

    • Per modificare i motivi di giustificazione consentiti, fai clic sulla casella Motivi di giustificazione e seleziona o deseleziona i codici motivo in base alle esigenze. Sia Accesso avviato dal cliente sia Operazione di sistema avviata da Google sono essenziali per il normale funzionamento.

    • Per negare tutti i codici motivo, seleziona Nega tutti i codici motivo (non consigliato). In questo modo, la chiave non può essere utilizzata anche se è abilitata e il richiedente dispone delle autorizzazioni necessarie.

  6. Fai clic su Salva.

REST

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

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 key ring per la chiave, ad esempio 919698201234.
  • LOCATION: la località del keyring, ad esempio asia-northeast1.
  • 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.
  • KEY_NAME: il nome della chiave che vuoi aggiornare.

Corpo della richiesta:

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

Nel corpo della richiesta, sostituisci i seguenti valori segnaposto:

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

PATCH https://cloudkms.googleapis.com/v1/projects/919698201234/locations/asia-northeast1/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"
    ]
  }
}

Ottenere la policy Key Access Justifications per una chiave

REST

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

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 keyring per la chiave, ad esempio 919698201234.
  • LOCATION: la località del keyring, ad esempio asia-northeast1.
  • 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 che vuoi ottenere.

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

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

Il corpo della risposta contiene i metadati della chiave, inclusa la keyAccessJustificationsPolicy. Ad esempio:

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

Passaggi successivi