Questa pagina mostra come creare una chiave in Cloud KMS. Una chiave può essere una chiave di crittografia simmetrica o asimmetrica, una chiave di firma asimmetrica o una chiave di firma MAC.
Quando crei una chiave, la aggiungi a un keyring in una posizione Cloud KMS specifica. Puoi creare un nuovo portachiavi o utilizzarne uno esistente. In questa pagina, genera una nuova chiave Cloud KMS o Cloud HSM e aggiungila a un keyring esistente. Per creare una chiave Cloud EKM, consulta Crea una chiave esterna. Per importare una chiave Cloud KMS o Cloud HSM, consulta Importare una chiave.
Prima di iniziare
Prima di completare le attività in questa pagina, devi disporre di quanto segue:
- Una risorsa di progetto per contenere le risorse di Cloud KMS. Google Cloud Ti consigliamo di utilizzare un progetto separato per le risorse Cloud KMS che non contenga altre risorse Google Cloud .
- Il nome e la posizione del keyring in cui vuoi creare la chiave. Scegli un portachiavi in una posizione vicina alle altre risorse e che supporti il livello di protezione che hai scelto. Per visualizzare le località disponibili e i livelli di protezione che supportano, consulta Località Cloud KMS. Per creare un keyring, vedi Creare un keyring.
- (Facoltativo) Per utilizzare gcloud CLI, prepara l'ambiente.
In the Google Cloud console, activate Cloud Shell.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per creare chiavi, chiedi all'amministratore di concederti il ruolo IAM Amministratore Cloud KMS (
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 le autorizzazioni necessarie per creare chiavi. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per creare chiavi sono necessarie le seguenti autorizzazioni:
-
cloudkms.cryptoKeys.create
-
cloudkms.cryptoKeys.get
-
cloudkms.cryptoKeys.list
-
cloudkms.cryptoKeyVersions.create
-
cloudkms.cryptoKeyVersions.get
-
cloudkms.cryptoKeyVersions.list
-
cloudkms.keyRings.get
-
cloudkms.keyRings.list
-
cloudkms.locations.get
-
cloudkms.locations.list
-
resourcemanager.projects.get
-
Per recuperare una chiave pubblica:
cloudkms.cryptoKeyVersions.viewPublicKey
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Creare una chiave di crittografia simmetrica
Console
Nella console Google Cloud , vai alla pagina Key Management.
Fai clic sul nome del keyring per cui creerai una chiave.
Fai clic su Crea chiave.
In Nome chiave, inserisci un nome per la chiave.
Per Livello di protezione, seleziona Software o HSM.
Per Materiale della chiave, seleziona Chiave generata.
Per Finalità, seleziona Crittografia/decrittografia simmetrica.
Accetta i valori predefiniti per Periodo di rotazione e A partire dal giorno.
Fai clic su Crea.
gcloud
Per utilizzare Cloud KMS dalla riga di comando, devi prima installare o eseguire l'upgrade all'ultima versione di Google Cloud CLI.
gcloud kms keys create KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --purpose "encryption" \ --protection-level "PROTECTION_LEVEL"
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.PROTECTION_LEVEL
: il livello di protezione da utilizzare per la chiave, ad esempiosoftware
ohsm
. Puoi omettere il flag--protection-level
per le chiavisoftware
.
Per informazioni su tutti i flag e i valori possibili, esegui il comando con il flag
--help
.C#
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo C# e installare l'SDK C# Cloud KMS.
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.
PHP
Per eseguire questo codice, scopri innanzitutto come utilizzare PHP su Google Cloud e installa l'SDK PHP di Cloud KMS.
Python
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Python e installare l'SDK Python di Cloud KMS.
Ruby
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Ruby e installare l'SDK Ruby 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 una chiave, utilizza il metodo
CryptoKey.create
:curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys?crypto_key_id=KEY_NAME" \ --request "POST" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --data '{"purpose": "ENCRYPT_DECRYPT", "versionTemplate": { "protectionLevel": "PROTECTION_LEVEL", "algorithm": "ALGORITHM" }}'
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto che contiene il portachiavi.LOCATION
: la posizione di Cloud KMS delle chiavi automatizzate.KEY_RING
: il nome delle chiavi automatizzate che contengono la chiave.KEY_NAME
: il nome della chiave.PROTECTION_LEVEL
: il livello di protezione della chiave, ad esempioSOFTWARE
oHSM
.ALGORITHM
: l'algoritmo di firma HMAC, ad esempioHMAC_SHA256
. Per visualizzare tutti gli algoritmi HMAC supportati, consulta
-