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
Nella Google Cloud console, vai alla pagina Gestione delle chiavi.
Fai clic sul nome del keyring in cui vuoi creare la chiave.
Fai clic su Crea chiave.
In Nome chiave, inserisci un nome per la chiave.
In Livello di protezione, seleziona Software o HSM.
Continua a selezionare le impostazioni in base alle esigenze.
In Impostazioni aggiuntive > Policy Key Access Justifications, seleziona Imposta policy personalizzata, quindi seleziona Consenti codici motivo specifici.
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.
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:
- PURPOSE: lo scopo della chiave. Per un elenco dei diversi scopi delle chiavi, consulta Scopi delle chiavi, ad esempio
ENCRYPT_DECRYPT. - PROTECTION_LEVEL: il livello di protezione della chiave, ad
esempio,
SOFTWAREoHSM. - ALGORITHM: l'algoritmo di crittografia 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 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
Nella Google Cloud console, vai alla pagina Gestione delle chiavi.
Fai clic sul nome del keyring in cui hai creato la chiave.
Fai clic sul nome della chiave per cui vuoi aggiornare la policy Key Access Justifications.
Fai clic su Modifica policy Key Access Justifications.
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.
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:
- PURPOSE: lo scopo della chiave. Per un elenco dei diversi scopi delle chiavi, consulta Scopi delle chiavi, ad esempio
ENCRYPT_DECRYPT. - PROTECTION_LEVEL: il livello di protezione della chiave, ad
esempio,
SOFTWAREoHSM. - ALGORITHM: l'algoritmo di crittografia 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 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_NAMENei 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-keyIl 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" ] } }