Questo documento mostra come eseguire la migrazione delle chiavi Cloud EKM tra i livelli di protezione
esterno su internet (EXTERNAL) ed esterno su VPC (EXTERNAL_VPC). La migrazione delle chiavi esterne è supportata solo per
l'interfaccia a riga di comandogcloud CLIl'API Cloud KMS.
Casi d'uso per la migrazione
Quando una chiave ha il livello di protezione EXTERNAL o EXTERNAL_VPC, puoi eseguire una delle seguenti operazioni:
- Ruota la chiave, creando una nuova versione della chiave con un livello di protezione Cloud EKM diverso da quello della chiave padre. Ad esempio, puoi
ruotare una chiave nel livello di protezione
EXTERNALper creare una nuova versione della chiave nel livello di protezioneEXTERNAL_VPC. - Aggiorna una versione della chiave per utilizzare un livello di protezione Cloud EKM diverso
per lo stesso materiale della chiave. Ad esempio, puoi aggiornare una versione della chiave nel
livello di protezione
EXTERNALper utilizzare lo stesso materiale della chiave e la stessa risorsa della versione della chiave con il livello di protezioneEXTERNAL_VPC. - Ruota una chiave
EXTERNAL_VPCo aggiorna una versione della chiaveEXTERNAL_VPCper utilizzare unEkmConnectiondiverso dalla chiave principale.
La migrazione di una versione della chiave esistente tra i due livelli di protezione Cloud EKM consente di modificare la modalità di accesso al materiale della chiave esterna senza dover riconfigurare le applicazioni o ricriptare i dati e senza tempi di inattività. La chiave di cui è stata eseguita la migrazione utilizza lo stesso materiale della chiave e lo stesso identificatore di risorsa.
Quando esegui la migrazione di una versione della chiave dal livello di protezione EXTERNAL al livello di protezione EXTERNAL_VPC, associ una risorsa EkmConnection alla versione della chiave e aggiungi ekmConnectionKeyPath. Quando esegui la migrazione di una versione della chiave dal livello di protezione EXTERNAL_VPC al livello di protezione EXTERNAL, aggiungi un externalKeyUri per sostituire EkmConnection e ekmConnectionKeyPath.
Se una versione della chiave ha un EkmConnection associato, questa connessione viene utilizzata per tutte le operazioni della versione della chiave, anche se la chiave padre ha un EkmConnection diverso.
Migrazione a esterno tramite VPC
La migrazione dal livello di protezione esterno su internet al livello di protezione esterno su VPC offre una maggiore affidabilità per le chiavi Cloud EKM. Usufruisci dei vantaggi delle reti Virtual Private Cloud (VPC), tra cui un isolamento efficace e un migliore supporto operativo.
Puoi anche eseguire la migrazione tra diverse configurazioni VPC, ad esempio per eseguire l'upgrade dall'utilizzo di VPC con Partner Interconnect all'utilizzo di VPC con Dedicated Interconnect.
Prima di iniziare
Prima di poter eseguire la migrazione delle chiavi Cloud EKM, devi disporre di quanto segue:
- Un progetto Google Cloud con la fatturazione e l'API Cloud KMS abilitate.
-
Per ottenere l'autorizzazione necessaria per eseguire la migrazione delle chiavi esterne, chiedi all'amministratore di concederti il ruolo IAM Cloud KMS Admin (
roles/cloudkms.admin) nel progetto o in una risorsa padre. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.Questo ruolo predefinito contiene l'autorizzazione
cloudkms.cryptoKeys.updatenecessaria per migrare le chiavi esterne.Potresti anche ottenere questa autorizzazione con ruoli personalizzati o altri ruoli predefiniti.
- Se esegui la migrazione al livello di protezione esterno su internet (
EXTERNAL), devi configurare Cloud EKM su internet, se non l'hai ancora fatto. - Se esegui la migrazione al livello di protezione esterno su VPC (
EXTERNAL_VPC) o a una nuova rete VPC, devi creare una connessione EKM, se non l'hai già fatto.
Crea una nuova versione della chiave esterna gestita manualmente tramite VPC
gcloud
Per utilizzare Cloud KMS dalla riga di comando, devi prima installare o eseguire l'upgrade all'ultima versione di Google Cloud CLI.
Per creare una nuova versione della chiave esterna su VPC su una chiave Cloud EKM esistente, utilizza il comando kms keys versions create con i flag --protection-level, --crypto-key-backend e --ekm-connection-key-path:
gcloud kms keys versions create \
--key KEY_NAME \
--keyring KEY_RING \
--location LOCATION \
--protection-level "external-vpc" \
--crypto-key-backend EKM_CONNECTION_PATH \
--ekm-connection-key-path EXTERNAL_KEY_PATH
Sostituisci quanto segue:
KEY_NAME: il nome della chiave.KEY_RING: il nome delle chiavi automatizzate che contengono la chiave.LOCATION: la posizione di Cloud KMS delle chiavi automatizzate.EKM_CONNECTION_PATH: l'identificatore di risorsa della connessione EKM che vuoi utilizzare per la nuova versione della chiave, ad esempioprojects/PROJECT_ID/locations/LOCATION/ekmConnections/EKM_CONNECTIONEXTERNAL_KEY_PATH: il percorso della nuova versione della chiave esterna dalla connessione EKM, ad esempiov0/path/to/my/key.
Se la chiave principale è
Se la chiave è una chiave di crittografia simmetrica e vuoi impostare la nuova versione della chiave
come versione principale, aggiungi il flag --primary.
Per informazioni su tutti i flag e i valori possibili, esegui il comando con il flag
--help.
REST
Questi esempi utilizzano curl come client HTTP per dimostrare l'utilizzo dell'API. Per saperne di più sul controllo dell'accesso, consulta Accesso all'API Cloud KMS.
Per creare una nuova versione della chiave esterna su VPC su una chiave Cloud EKM esistente, crea una nuova versione della chiave chiamando il metodo CryptoKeyVersions.create.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions" \
--request "POST" \
--header "authorization: Bearer TOKEN" \
--header "content-type: application/json" \
--data '{
"protectionLevel": "EXTERNAL_VPC",
"externalProtectionLevelOptions": {
"ekmConnectionKeyPath": "EXTERNAL_KEY_PATH",
"ekmConnectionBackendOverride": "EKM_CONNECTION_PATH"
},
}'
PROJECT_ID: l'identificatore del progetto che contiene la chiave che vuoi ruotare.KEY_NAME: il nome della chiave.KEY_RING: il nome delle chiavi automatizzate che contengono la chiave.LOCATION: la posizione di Cloud KMS delle chiavi automatizzate.EKM_CONNECTION_PATH: l'identificatore di risorsa della connessione EKM che vuoi utilizzare per la nuova versione della chiave, ad esempioprojects/PROJECT_ID/locations/LOCATION/ekmConnections/EKM_CONNECTIONEXTERNAL_KEY_PATH: il percorso della nuova versione della chiave esterna dalla connessione EKM, ad esempiov0/path/to/my/key.
Questo comando crea una nuova versione della chiave, ma non la imposta come versione principale.
Per impostare la nuova versione della chiave come principale, vedi Impostare una versione esistente come versione della chiave principale.
Crea una nuova versione della chiave esterna tramite internet
gcloud
Per utilizzare Cloud KMS dalla riga di comando, devi prima installare o eseguire l'upgrade all'ultima versione di Google Cloud CLI.
Per creare una nuova versione della chiave esterna su internet per una chiave Cloud EKM esistente, utilizza il comando kms keys versions create con i flag --protection-level e --external-key-uri:
gcloud kms keys versions create \
--key KEY_NAME \
--keyring KEY_RING \
--location LOCATION \
--protection-level "external" \
--external-key-uri EXTERNAL_KEY_URI
Sostituisci quanto segue:
KEY_NAME: il nome della chiave.KEY_RING: il nome delle chiavi automatizzate che contengono la chiave.LOCATION: la posizione di Cloud KMS delle chiavi automatizzate.EXTERNAL_KEY_URI: l'URI della nuova versione della chiave esterna.
Se la chiave è una chiave di crittografia simmetrica e vuoi impostare la nuova versione della chiave come versione primaria, aggiungi il flag --primary.
Per informazioni su tutti i flag e i valori possibili, esegui il comando con il flag
--help.
REST
Questi esempi utilizzano curl come client HTTP per dimostrare l'utilizzo dell'API. Per saperne di più sul controllo dell'accesso, consulta Accesso all'API Cloud KMS.
Per creare una nuova versione della chiave esterna su internet in una chiave Cloud EKM esistente, crea una nuova versione della chiave chiamando il metodo CryptoKeyVersions.create.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions" \
--request "POST" \
--header "authorization: Bearer TOKEN" \
--header "content-type: application/json" \
--data '{
"protectionLevel": "EXTERNAL",
"externalProtectionLevelOptions": {
"externalKeyUri": "EXTERNAL_KEY_URI",
},
}'
PROJECT_ID: l'identificatore del progetto che contiene la chiave che vuoi ruotare.KEY_NAME: il nome della chiave.KEY_RING: il nome delle chiavi automatizzate che contengono la chiave.LOCATION: la posizione di Cloud KMS delle chiavi automatizzate.EXTERNAL_KEY_URI: l'URI della nuova versione della chiave esterna.
Questo comando crea una nuova versione della chiave, ma non la imposta come versione principale.
Per impostare la nuova versione della chiave come principale, vedi Impostare una versione esistente come versione della chiave principale.
Aggiorna una versione della chiave per utilizzare la modalità di protezione esterna tramite VPC
gcloud
Per utilizzare Cloud KMS dalla riga di comando, devi prima installare o eseguire l'upgrade all'ultima versione di Google Cloud CLI.
Per aggiornare una versione della chiave external esistente al livello di protezione external-vpc, utilizza il comando kms keys versions update con i flag --protection-level, --crypto-key-backend e --ekm-connection-key-path:
gcloud kms keys versions update KEY_VERSION \
--key KEY_NAME \
--keyring KEY_RING \
--location LOCATION \
--protection-level "external-vpc" \
--crypto-key-backend EKM_CONNECTION_PATH \
--ekm-connection-key-path EXTERNAL_KEY_PATH
Sostituisci quanto segue:
KEY_VERSION: il numero della versione della chiave che vuoi migrare, ad esempio3.KEY_NAME: il nome della chiave.KEY_RING: il nome delle chiavi automatizzate che contengono la chiave.LOCATION: la posizione di Cloud KMS delle chiavi automatizzate.EKM_CONNECTION_PATH: l'identificatore di risorsa della connessione EKM che vuoi utilizzare per la versione della chiave, ad esempioprojects/PROJECT_ID/locations/LOCATION/ekmConnections/EKM_CONNECTIONEXTERNAL_KEY_PATH: il nuovo percorso del materiale della chiave esterna esistente dalla connessione EKM, ad esempiov0/path/to/my/key. La connessione EKM e il percorso della chiave devono puntare allo stesso materiale della chiave dell'URI della chiave attuale.
Per informazioni su tutti i flag e i valori possibili, esegui il comando con il flag
--help.
REST
Questi esempi utilizzano curl come client HTTP per dimostrare l'utilizzo dell'API. Per saperne di più sul controllo dell'accesso, consulta Accesso all'API Cloud KMS.
Per aggiornare una versione della chiave external esistente al livello di protezione external-vpc, chiama il metodo CryptoKeyVersions.patch.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions/KEY_VERSION?updateMask=protectionLevel,externalProtectionLevelOptions" \
--request "PATCH" \
--header "authorization: Bearer TOKEN" \
--header "content-type: application/json" \
--data '{
"protectionLevel": "EXTERNAL_VPC",
"externalProtectionLevelOptions": {
"ekmConnectionKeyPath": "EXTERNAL_KEY_PATH",
"ekmConnectionBackendOverride": "EKM_CONNECTION_PATH"
},
}'
PROJECT_ID: l'identificatore del progetto che contiene la chiave di cui vuoi eseguire la migrazione.KEY_NAME: il nome della chiave.KEY_RING: il nome delle chiavi automatizzate che contengono la chiave.LOCATION: la posizione di Cloud KMS delle chiavi automatizzate.EKM_CONNECTION_PATH: l'identificatore di risorsa della connessione EKM che vuoi utilizzare per la versione della chiave, ad esempioprojects/PROJECT_ID/locations/LOCATION/ekmConnections/EKM_CONNECTIONEXTERNAL_KEY_PATH: il nuovo percorso del materiale della chiave esterna esistente dalla connessione EKM, ad esempiov0/path/to/my/key. La connessione EKM e il percorso della chiave devono puntare allo stesso materiale della chiave dell'URI della chiave attuale.
Aggiorna una versione della chiave per utilizzare la modalità di protezione esterna su internet
gcloud
Per utilizzare Cloud KMS dalla riga di comando, devi prima installare o eseguire l'upgrade all'ultima versione di Google Cloud CLI.
Per aggiornare una versione della chiave external-vpc esistente al livello di protezione external, utilizza il comando kms keys versions update con i flag --protection-level e --external-key-uri:
gcloud kms keys versions update KEY_VERSION \
--key KEY_NAME \
--keyring KEY_RING \
--location LOCATION \
--protection-level "external" \
--external-key-uri EXTERNAL_KEY_URI
Sostituisci quanto segue:
KEY_VERSION: il numero della versione della chiave che vuoi migrare, ad esempio3.KEY_NAME: il nome della chiave.KEY_RING: il nome delle chiavi automatizzate che contengono la chiave.LOCATION: la posizione di Cloud KMS delle chiavi automatizzate.EXTERNAL_KEY_URI: il nuovo URI del materiale della chiave esterna esistente nel tuo EKM. L'URI deve puntare allo stesso materiale della chiave della connessione EKM e della chiave esterna attuali.
Per informazioni su tutti i flag e i valori possibili, esegui il comando con il flag
--help.
REST
Questi esempi utilizzano curl come client HTTP per dimostrare l'utilizzo dell'API. Per saperne di più sul controllo dell'accesso, consulta Accesso all'API Cloud KMS.
Per aggiornare una versione della chiave external-vpc esistente al livello di protezione external, chiama il metodo CryptoKeyVersions.patch.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions/KEY_VERSION?updateMask=protectionLevel,externalProtectionLevelOptions" \
--request "PATCH" \
--header "authorization: Bearer TOKEN" \
--header "content-type: application/json" \
--data '{
"protectionLevel": "EXTERNAL",
"externalProtectionLevelOptions": {
"externalKeyUri": "EXTERNAL_KEY_URI",
},
}'
PROJECT_ID: l'identificatore del progetto che contiene la chiave di cui vuoi eseguire la migrazione.KEY_NAME: il nome della chiave.KEY_RING: il nome delle chiavi automatizzate che contengono la chiave.LOCATION: la posizione di Cloud KMS delle chiavi automatizzate.EXTERNAL_KEY_URI: il nuovo URI del materiale della chiave esterna esistente nel tuo EKM. L'URI deve puntare allo stesso materiale della chiave della connessione EKM e della chiave esterna attuali.