Questo argomento mostra come importare una chiave di crittografia in Cloud HSM o Cloud Key Management Service come nuova versione della chiave.
Per maggiori dettagli sull'importazione delle chiavi, inclusi limiti e restrizioni, vedi Importazione delle chiavi.
Puoi completare i passaggi descritti in questo argomento in 5-10 minuti, esclusi i passaggi della sezione Prima di iniziare. Il wrapping manuale della chiave aggiunge complessità all'attività.
Prima di iniziare
Ti consigliamo di creare un nuovo progetto per testare questa funzionalità, per semplificare la pulizia dopo il test e per assicurarti di disporre di autorizzazioni Identity and Access Management (IAM) adeguate per importare una chiave.
Prima di poter importare una chiave, devi preparare il progetto, il sistema locale e la chiave stessa.
Preparazione del progetto
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the required API.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the required API.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
L'utente che esegue l'importazione deve disporre delle seguenti autorizzazioni IAM per creare chiavi automatizzate, chiavi e job di importazione. Se l'utente non è il proprietario del progetto, puoi assegnargli entrambi i seguenti due ruoli predefiniti:
roles/editor
roles/cloudkms.importer
Per saperne di più sui ruoli e sulle autorizzazioni IAM disponibili per Cloud KMS, consulta Autorizzazioni e ruoli.
- Se vuoi consentire a Google Cloud CLI di eseguire il wrapping automatico delle chiavi prima di trasmetterle a Google Cloud, devi installare la libreria di crittografia Pyca sul tuo sistema locale. La libreria Pyca viene utilizzata dal job di importazione che esegue il wrapping e protegge la chiave localmente prima di inviarla a Google Cloud.
- Se vuoi eseguire il wrapping delle chiavi manualmente, devi configurare OpenSSL per il wrapping manuale delle chiavi.
Il livello di protezione indica se la chiave persiste nel software, in un HSM o in un sistema di gestione delle chiavi esterno. Il materiale delle chiavi non può essere spostato da uno di questi ambienti di archiviazione a un altro. Tutte le versioni di una chiave hanno lo stesso livello di protezione.
Lo scopo indica se le versioni della chiave vengono utilizzate per la crittografia simmetrica, la crittografia asimmetrica o la firma asimmetrica. Lo scopo della chiave limita gli algoritmi possibili che possono essere utilizzati per creare versioni della chiave. Tutte le versioni di una chiave hanno lo stesso scopo.
Nella console Google Cloud , vai alla pagina Key Management.
Fai clic su Crea keyring.
Nel campo Nome della chiave automatizzata, inserisci il nome della chiave automatizzata.
In Tipo di località, seleziona un tipo di località e una località.
Fai clic su Crea. Viene visualizzata la pagina Crea chiave.
Nel campo Nome chiave, inserisci il nome della chiave.
Per Livello di protezione, seleziona Software o HSM, quindi fai clic su Continua.
In Materiale chiave, seleziona Chiave importata e poi fai clic su Continua. In questo modo, non viene creata una versione iniziale della chiave.
Imposta Scopo e Algoritmo per la chiave, poi fai clic su Continua.
(Facoltativo) Se vuoi che questa chiave contenga solo le versioni della chiave importate, seleziona Limita le versioni della chiave solo per importazione. In questo modo, eviti di creare accidentalmente nuove versioni della chiave in Cloud KMS.
(Facoltativo) Per le chiavi importate, la rotazione automatica è disattivata per impostazione predefinita. Per attivare la rotazione automatica, seleziona un valore dal campo Periodo di rotazione delle chiavi.
Se abiliti la rotazione automatica, in Cloud KMS verranno generate nuove versioni della chiave e la versione della chiave importata non sarà più la versione predefinita dopo una rotazione.
Fai clic su Crea.
Crea il keyring di destinazione. Se intendi importare in una chiave Cloud HSM, seleziona una località che supporti Cloud HSM.
gcloud kms keyrings create KEY_RING \ --location LOCATION
Puoi scoprire di più sulla creazione di chiavi automatizzate.
Crea la chiave di destinazione.
- Specifica lo scopo della chiave.
- Impedisci la creazione di una versione iniziale utilizzando il flag
--skip-initial-version-creation
. - (Facoltativo) Impedisci la creazione di nuove versioni in
Cloud KMS utilizzando il flag
--import-only
. - (Facoltativo) Non specificare una policy di rotazione. Se attivi la rotazione automatica, le nuove versioni della chiave verranno generate in Cloud KMS e la versione della chiave importata non sarà più la versione della chiave predefinita dopo una rotazione. Non puoi specificare una
policy di rotazione se hai specificato il flag
--import-only
.
gcloud kms keys create KEY_NAME \ --location LOCATION \ --keyring KEY_RING \ --purpose PURPOSE \ --skip-initial-version-creation \ --import-only
Puoi scoprire di più sulla creazione di chiavi Cloud KMS o chiavi Cloud HSM.
Crea un nuovo keyring:
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings?keyRingId=KEY_RING" \ --request "POST" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --header "x-goog-user-project: PROJECT_ID" \ --data "{}"
Per saperne di più, consulta la documentazione dell'API
KeyRing.create
.Crea una chiave vuota di sola importazione:
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys?cryptoKeyId=KEY_NAME&skipInitialVersionCreation=true&importOnly=true" \ --request "POST" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --header "x-goog-user-project: PROJECT_ID" \ --data "{"purpose":"PURPOSE", "versionTemplate":{"protectionLevel":"PROTECTION_LEVEL","algorithm":"ALGORITHM"}}"
Per saperne di più, consulta la documentazione dell'API
CryptoKey.create
.Vai alla pagina Key Management nella console Google Cloud .
Fai clic sul nome del keyring di destinazione.
Imposta il livello di protezione su Software o HSM. Utilizza lo stesso livello di protezione impostato per la chiave di destinazione.
Fai clic su Crea job di importazione.
Nel campo Nome, inserisci il nome del job di importazione.
Dal menu a discesa Metodo di importazione, imposta il metodo di importazione su RSA a 3072 bit o RSA a 4096 bit.
Fai clic su Crea.
- Utilizza lo stesso portachiavi e la stessa posizione della chiave di destinazione.
- Imposta il livello di protezione su
software
ohsm
. - Imposta il metodo di importazione su
rsa-oaep-3072-sha1-aes-256
rsa-oaep-4096-sha1-aes-256
,rsa-oaep-3072-sha256-aes-256
,rsa-oaep-4096-sha256-aes-256
,rsa-oaep-3072-sha256
orsa-oaep-4096-sha256
. - IMPORT_METHOD: un metodo di wrapping delle chiavi supportato.
- PROTECTION_LEVEL: il livello di protezione delle versioni della chiave importate da questo job di importazione.
Vai alla pagina Key Management nella console Google Cloud .
Fai clic sul nome del keyring che contiene il job di importazione.
Fai clic sulla scheda Import Jobs (Importa lavori) nella parte superiore della pagina.
Lo stato sarà visibile nella sezione Stato accanto al nome del job di importazione.
- Concedi l'autorizzazione
importjobs.create
solo agli amministratori chiave. - Concedi l'autorizzazione
importjobs.useToImport
per un job di importazione specifico all'operatore che utilizzerà il job per importare le chiavi. - Quando crei il job di importazione, specifica il livello di protezione e l'algoritmo per le versioni delle chiavi importate.
Le chiavi con scopo
ENCRYPT_DECRYPT
utilizzano l'algoritmogoogle-symmetric-encryption
e hanno una lunghezza di 32.Le chiavi con scopo
ASYMMETRIC_DECRYPT
oASYMMETRIC_SIGN
supportano una serie di algoritmi e lunghezze.Lo scopo di una chiave non può essere modificato dopo la creazione, ma è possibile creare versioni successive della chiave con lunghezze diverse rispetto alla versione iniziale.
Apri la pagina Key Management nella consoleGoogle Cloud .
Fai clic sul nome del keyring che contiene il job di importazione. Viene visualizzata la chiave di destinazione, insieme a tutte le altre chiavi del keyring.
Fai clic sul nome della chiave di destinazione, quindi su Importa versione della chiave.
Seleziona il job di importazione dal menu a discesa Seleziona job di importazione.
Nel selettore Carica la chiave con wrapping, seleziona la chiave di cui hai già eseguito il wrapping.
Se importi una chiave asimmetrica, seleziona l'algoritmo dal menu a discesa Algoritmo. La pagina Importa versione chiave dovrebbe avere un aspetto simile a questo:
Fai clic su Importa.
IMPORT_JOB_ID: il nome completo della risorsa del job di importazione corrispondente.
ALGORITHM: il
algorithm
della chiave da importare, che è di tipoCryptoKeyVersionAlgorithm
.WRAPPED_KEY: la chiave sottoposta a wrapping manuale in formato Base64.
Apri la pagina Key Management nella consoleGoogle Cloud .
Fai clic sul nome del keyring che contiene il job di importazione.
Fai clic sulla scheda Import Jobs (Importa lavori) nella parte superiore della pagina.
Lo stato sarà visibile nella sezione Stato accanto al nome del job di importazione.
- È possibile reimportare solo i
CryptoKeyVersions
importati in precedenza. - Il materiale della chiave reimportato deve corrispondere esattamente al materiale della chiave originale se la versione è stata importata correttamente in precedenza.
CryptoKeyVersions
distrutte prima del rilascio di questa funzionalità non possono essere reimportate. Il camporeimport_eligible
diCryptoKeyVersion
ètrue
se la versione è idonea per la reimportazione efalse
in caso contrario.Vai alla pagina Key Management nella console Google Cloud .
Fai clic sul nome del keyring che contiene la chiave di cui reimportare la versione.
Fai clic sulla chiave di cui vuoi reimportare la versione.
Fai clic sui tre puntini accanto alla versione della chiave che vuoi reimportare.
Seleziona Reimporta versione chiave.
Seleziona il job di importazione dal menu a discesa Seleziona job di importazione.
Nel selettore Carica la chiave con wrapping, seleziona la chiave di cui hai già eseguito il wrapping. Questa chiave deve corrispondere al materiale della chiave originale.
Fai clic su Reimporta.
Reimporta la versione della chiave utilizzando il materiale chiave originale.
gcloud kms keys versions import \ --location LOCATION \ --keyring KEY_RING \ --key KEY_NAME \ --version KEY_VERSION \ --algorithm ALGORITHM \ --import-job IMPORT_JOB \ --target-key-file PATH_TO_KEY \
Nel corpo della richiesta del metodo
cryptoKeyVersions.import
, imposta il campocryptoKeyVersion
sul nome della versione della chiave da importare. Deve essere un elemento secondario della chiave di crittografia.Nel corpo della richiesta, imposta il campo
algorithm
sull'algoritmo della chiave da importare. Questo valore deve corrispondere all'algoritmo della versione originale della chiave. Il campoalgorithm
è di tipoCryptoKeyVersionAlgorithm
.Nel corpo della richiesta, imposta il campo
wrappedKeyMaterial
sul materiale della chiave che hai già criptato.Chiama il metodo
cryptoKeyVersions.import
. La rispostacryptoKeyVersions.import
è di tipoCryptoKeyVersion
. Quando una chiave viene importata correttamente, il suo stato èENABLED
e puoi utilizzarla in Cloud KMS.- Verifica una chiave importata. Dopo aver confermato che il materiale della chiave importato è identico alla chiave originale, puoi utilizzare la chiave per la firma o per proteggere i dati.
- Risolvi i problemi relativi a un'importazione di chiavi non riuscita.
Preparazione del sistema locale
Prepara il sistema locale scegliendo una delle seguenti opzioni. Il wrapping automatico delle chiavi è consigliato per la maggior parte degli utenti.
Preparazione della chiave
Verifica che l'algoritmo e la lunghezza della chiave siano supportati. Gli algoritmi consentiti per una chiave dipendono dal fatto che la chiave venga utilizzata per la crittografia simmetrica, la crittografia asimmetrica o la firma asimmetrica, nonché dal fatto che la chiave sia archiviata in un software o in un HSM. Specifichi l'algoritmo della chiave come parte della richiesta di importazione.
Separatamente, devi anche verificare la codifica della chiave e apportare modifiche, se necessario.
Dopo la creazione o l'importazione di una versione della chiave, non è possibile modificare quanto segue:
Se non hai una chiave da importare, ma vuoi convalidare la procedura di importazione delle chiavi, puoi creare una chiave simmetrica sul sistema locale utilizzando il seguente comando:
openssl rand 32 > ${HOME}/test.bin
Utilizza questa chiave solo per i test. Una chiave creata in questo modo potrebbe non essere adatta per l'utilizzo in produzione.
Se devi eseguire il wrapping della chiave manualmente, fallo prima di continuare con le procedure descritte in questo argomento.
Crea la chiave e la chiave automatizzata di destinazione
Una chiave Cloud KMS è un oggetto contenitore che contiene zero o più versioni della chiave. Ogni versione della chiave contiene una chiave crittografica.
Quando importi una chiave in Cloud KMS o Cloud HSM, la chiave importata diventa una nuova versione della chiave in una chiave Cloud KMS o Cloud HSM esistente. Nel resto di questo argomento, questa chiave viene chiamata chiave di destinazione. La chiave di destinazione deve esistere prima di poter importare il materiale della chiave.
L'importazione di una versione della chiave non ha alcun effetto sulle versioni esistenti della chiave. Tuttavia, è consigliabile creare una chiave vuota durante il test dell'importazione delle chiavi. Una chiave vuota non ha una versione, non è attiva e non può essere utilizzata.
Facoltativamente, puoi specificare che la chiave appena creata può contenere solo versioni importate, il che impedisce la generazione accidentale di nuove versioni in Cloud KMS.
Una chiave esiste in un keyring; in questo argomento, questo keyring è chiamato keyring di destinazione. La posizione del portachiavi di destinazione determina la posizione in cui il materiale della chiave è disponibile dopo l'importazione. Le chiavi Cloud HSM non possono essere create o importate in alcune località. Una volta creata, una chiave non può essere spostata in un portachiavi o in una posizione diversa.
Segui questi passaggi per creare una chiave vuota in un nuovo portachiavi utilizzando Google Cloud CLI o la console Google Cloud .
Console
gcloud
Per utilizzare Cloud KMS dalla riga di comando, devi prima installare o eseguire l'upgrade all'ultima versione di Google Cloud CLI.
Go
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Go e installare l'SDK Go di Cloud KMS.
Java
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Java e installare l'SDK Java Cloud KMS.
Node.js
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Node.js e installare l'SDK Node.js di Cloud KMS.
Python
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Python e installare l'SDK Python di Cloud KMS.
API
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.
Il keyring e la chiave ora esistono, ma la chiave non contiene materiale della chiave, non ha versioni e non è attiva. A questo punto, crea un job di importazione.
Crea il job di importazione
Un job di importazione definisce le caratteristiche delle chiavi che importa, incluse le proprietà che non possono essere modificate dopo l'importazione della chiave.
Il livello di protezione definisce se le chiavi importate da questo job di importazione risiederanno nel software, in un HSM o in un sistema di gestione delle chiavi esterno. Il livello di protezione non può essere modificato dopo l'importazione della chiave.
Il metodo di importazione definisce l'algoritmo utilizzato per creare la chiave di wrapping che protegge le chiavi importate durante il trasferimento dal sistema locale al progetto Google Cloud di destinazione. Puoi scegliere una chiave RSA a 3072 bit o a 4096 bit. A meno che tu non abbia requisiti specifici, ti consigliamo la chiave di wrapping a 3072 bit.
Puoi creare un job di importazione utilizzando gcloud CLI, la consoleGoogle Cloud o l'API Cloud Key Management Service.
Console
gcloud
Per utilizzare Cloud KMS dalla riga di comando, devi prima installare o eseguire l'upgrade all'ultima versione di Google Cloud CLI.
Utilizza un comando come il seguente per creare un job di importazione.
gcloud kms import-jobs create IMPORT_JOB \ --location LOCATION \ --keyring KEY_RING \ --import-method IMPORT_METHOD \ --protection-level PROTECTION_LEVEL
Go
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Go e installare l'SDK Go di Cloud KMS.
Java
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Java e installare l'SDK Java Cloud KMS.
Node.js
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Node.js e installare l'SDK Node.js di Cloud KMS.
Python
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Python e installare l'SDK Python di Cloud KMS.
API
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 un job di importazione, utilizza il
metodo ImportJobs.create
:
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/importJobs?import_job_id=IMPORT_JOB_ID" \ --request "POST" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --data '{"import_method": "IMPORT_METHOD", "protection_level": "PROTECTION_LEVEL"}'
Sostituisci quanto segue:
Verifica dello stato del job di importazione
Lo stato iniziale di un job di importazione è PENDING_GENERATION
. Quando lo stato è
ACTIVE
, puoi utilizzarlo per importare le chiavi.
Un job di importazione scade dopo tre giorni. Se il job di importazione è scaduto, devi crearne uno nuovo.
Puoi controllare lo stato di un job di importazione utilizzando Google Cloud CLI, la consoleGoogle Cloud o l'API Cloud Key Management Service.
Console
gcloud
Per utilizzare Cloud KMS dalla riga di comando, devi prima installare o eseguire l'upgrade all'ultima versione di Google Cloud CLI.
Quando un job di importazione è attivo, puoi utilizzarlo per importare le chiavi. L'operazione potrebbe richiedere alcuni minuti. Utilizza questo comando per verificare che il job di importazione sia attivo. Utilizza la località e il keyring in cui hai creato il job di importazione.
gcloud kms import-jobs describe IMPORT_JOB \ --location LOCATION \ --keyring KEY_RING \ --format="value(state)"
L'output è simile al seguente:
state: ACTIVE
Go
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Go e installare l'SDK Go di Cloud KMS.
Java
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Java e installare l'SDK Java Cloud KMS.
Node.js
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Node.js e installare l'SDK Node.js di Cloud KMS.
Python
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Python e installare l'SDK Python di Cloud KMS.
API
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 controllare lo stato di un job di importazione, utilizza il metodo
ImportJobs.get
:
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/importJobs/IMPORT_JOB_ID" \ --request "GET" \ --header "authorization: Bearer TOKEN"
Non appena il job di importazione è attivo, puoi inviare una richiesta di importazione di una chiave.
Impedire la modifica dei job di importazione
Il job di importazione determina molte caratteristiche della chiave importata, tra cui l'algoritmo della chiave e se una chiave importata è una chiave HSM o una chiave software. Puoi configurare le autorizzazioni IAM per impedire agli utenti di creare job di importazione, consentendo loro di utilizzare i job di importazione per importare le chiavi.
Fino alla scadenza del job di importazione, gli utenti che dispongono dell'autorizzazione importjobs.useToImport
e
non dispongono dell'autorizzazione importjobs.create
per un determinato job di importazione possono importare
le chiavi, ma non possono modificare le caratteristiche del job di importazione.
Importa la chiave
Dopo aver controllato lo stato del job di importazione, puoi effettuare una richiesta di importazione.
Utilizzi flag diversi per effettuare la richiesta di importazione, a seconda che tu voglia che Google Cloud CLI esegua il wrapping della chiave automaticamente o se hai già eseguito il wrapping della chiave manualmente.
Indipendentemente dal fatto che tu abbia eseguito il wrapping della chiave manualmente o automaticamente, devi impostare l'algoritmo su un algoritmo supportato che corrisponda alla lunghezza della chiave effettiva da importare e che specifichi lo scopo della chiave.
Wrapping e importazione automatici di una chiave
Se vuoi utilizzare il wrapping automatico, devi utilizzare Google Cloud CLI.
Utilizza un comando come il seguente. Imposta --target-key-file
sulla posizione della
chiave non protetta da wrapping da proteggere con wrapping e importare. Non impostare --wrapped-key-file
.
Facoltativamente, puoi impostare il flag
--public-key-file
sulla posizione in cui la chiave pubblica è già stata
scaricata. Quando importi un numero elevato di chiavi, questo impedisce il download della chiave pubblica
durante ogni importazione. Ad esempio, potresti scrivere uno script
che scarica la chiave pubblica una sola volta, quindi ne fornisce la posizione durante l'importazione
di ogni chiave.
gcloud kms keys versions import \ --import-job IMPORT_JOB \ --location LOCATION \ --keyring KEY_RING \ --key KEY_NAME \ --algorithm ALGORITHM \ --target-key-file PATH_TO_UNWRAPPED_KEY
La chiave viene sottoposta a wrapping dalla chiave di wrapping associata al job di importazione, trasmessa a Google Cloude importata come nuova versione della chiave nella chiave di destinazione.
Importazione di una chiave con wrapping manuale
Segui le istruzioni riportate in questa sezione per importare una chiave che
hai eseguito il wrapping manualmente. Imposta
--wrapped-key-file
sulla posizione della chiave che hai eseguito il wrapping manualmente.
Non impostare --target-key-file
.
Facoltativamente, puoi impostare il flag
--public-key-file
sulla posizione in cui la chiave pubblica è già stata
scaricata. Quando importi un numero elevato di chiavi, questo impedisce il download della chiave pubblica
durante ogni importazione. Ad esempio, potresti scrivere uno script
che scarica la chiave pubblica una sola volta, quindi ne fornisce la posizione durante l'importazione
di ogni chiave.
Console
gcloud
Per utilizzare Cloud KMS dalla riga di comando, devi prima installare o eseguire l'upgrade all'ultima versione di Google Cloud CLI.
Utilizza un comando come il seguente.
gcloud kms keys versions import \ --import-job IMPORT_JOB \ --location LOCATION \ --keyring KEY_RING \ --key KEY_NAME \ --algorithm ALGORITHM \ --wrapped-key-file PATH_TO_WRAPPED_KEY
Per ulteriori informazioni, consulta l'output del comando
gcloud kms keys versions import --help
.
Go
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Go e installare l'SDK Go di Cloud KMS.
Java
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Java e installare l'SDK Java Cloud KMS.
Node.js
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Node.js e installare l'SDK Node.js di Cloud KMS.
Python
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Python e installare l'SDK Python di Cloud KMS.
API
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.
Utilizza il metodo cryptoKeyVersions.import
per
importare una chiave.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions:import" \ --request "POST" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --data '{"importJob": "IMPORT_JOB_ID", "algorithm": "ALGORITHM", "wrappedKey": "WRAPPED_KEY"}'
Sostituisci quanto segue:
Viene avviata la richiesta di importazione della chiave. Puoi monitorarne lo stato.
Controllare lo stato della versione della chiave importata
Lo stato iniziale di una versione della chiave importata è PENDING_IMPORT
. Quando lo
stato è ENABLED
, la versione della chiave è stata importata correttamente. Se l'importazione non riesce, lo stato è IMPORT_FAILED
.
Puoi controllare lo stato di una richiesta di importazione utilizzando Google Cloud CLI, la consoleGoogle Cloud o l'API Cloud Key Management Service.
Console
gcloud
Per utilizzare Cloud KMS dalla riga di comando, devi prima installare o eseguire l'upgrade all'ultima versione di Google Cloud CLI.
Utilizza il comando versions list
per controllare lo stato. Utilizza la stessa
posizione, lo stesso keyring di destinazione e la stessa chiave di destinazione che hai creato in precedenza in questo
argomento.
gcloud kms keys versions list \ --keyring KEY_RING \ --location LOCATION \ --key KEY_NAME
Go
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Go e installare l'SDK Go di Cloud KMS.
Java
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Java e installare l'SDK Java Cloud KMS.
Node.js
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Node.js e installare l'SDK Node.js di Cloud KMS.
Python
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Python e installare l'SDK Python di Cloud KMS.
API
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.
Chiama il metodo ImportJob.get
e controlla il campo
state
. Se
state
è PENDING_GENERATION
, il job di importazione è ancora in fase di creazione.
Controlla periodicamente lo stato finché non diventa ACTIVE
.
Dopo l'importazione della versione iniziale della chiave, lo stato della chiave cambia in Attiva. Per le chiavi simmetriche, devi impostare la versione della chiave importata come versione principale prima di poter utilizzare la chiave.
Chiavi simmetriche: imposta la versione principale
Questo passaggio è obbligatorio quando si importano chiavi simmetriche e non è pertinente per le chiavi asimmetriche. Una chiave asimmetrica non ha una versione principale. Devi utilizzare Google Cloud CLI per impostare la versione principale.
gcloud kms keys set-primary-version KEY_NAME\ --location=LOCATION\ --keyring=KEY_RING\ --version=KEY_VERSION
Reimporta una chiave eliminata in precedenza
Cloud Key Management Service supporta la reimportazione delle chiavi, che consente di ripristinare una versione della chiave importata in precedenza nello stato DESTROYED
o IMPORT_FAILED
allo stato ENABLED
fornendo il materiale della chiave originale. Se non è mai stato importato materiale chiave originale a causa di un errore di importazione iniziale, è possibile fornire qualsiasi materiale chiave.
Limitazioni
Le chiavi software e Cloud HSM possono essere reimportate, ma le chiavi esterne non possono essere reimportate.
Reimportazione di una chiave eliminata
Crea un ImportJob
per la reimportazione seguendo i passaggi descritti in
Creare il job di importazione. Puoi utilizzare un ImportJob
esistente o uno nuovo, purché il livello di protezione corrisponda a quello originale.ImportJob
Console
gcloud
Per utilizzare Cloud KMS dalla riga di comando, devi prima installare o eseguire l'upgrade all'ultima versione di Google Cloud CLI.
API
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.