Creazione delle chiavi root
Usare IBM® Key Protect for IBM Cloud® per creare chiavi radice.
Le chiavi root sono chiavi simmetriche per l'impacchettamento della chiave che vengono utilizzate per proteggere la sicurezza dei dati crittografati nel cloud. Per ulteriori informazioni sulle chiavi root, consulta Protezione dei dati con la crittografia envelope.
Le chiavi di crittografia create in una regione possono essere utilizzate per crittografare archivi di dati situati in qualsiasi regione all'interno di IBM Cloud.
Creazione di chiavi root nella console
Dopo aver creato un'istanza del servizio, segui questi passaggi per creare una chiave root nel Console IBM Cloud.
Se si distribuisce l'offerta Dedicated Key Protect, è necessario inizializzare l'istanza prima di poter creare qualsiasi risorsa.
Se si abilitano le impostazioni di doppia autorizzazione per l'istanza di Key Protect, è importante tenere presente che, per eliminare le chiavi aggiunte al servizio, è necessaria l'autorizzazione di due utenti.
-
Vai su Menu > Elenco risorse per visualizzare l'elenco delle tue risorse.
-
Dal tuo elenco risorse IBM Cloud, seleziona la tua istanza di cui è stato eseguito il provisioning di Key Protect.
-
Per creare una nuova chiave, fare clic su " Aggiungi chiave ". Si aprirà un pannello laterale. Assicurarsi che l'opzione Crea una chiave sia selezionata. Si noti che, per impostare un alias della chiave, un portachiavi o una politica di rotazione per questa chiave, è necessario fare clic sulla scheda " Opzioni avanzate " per visualizzarli.
Se non si è Manager (o si dispone di un livello equivalente di autorizzazioni), l'opzione Politica di rotazione non viene visualizzata.
Specify the key's details:
| Impostazione | Descrizione |
|---|---|
| Immettere | Il tipo di chiave che desideri gestire in Key Protect. Le chiavi root sono selezionate per impostazione predefinita. |
| Nome chiave | Un nome visualizzato di facile comprensione per identificare facilmente la tua chiave. La lunghezza deve essere compresa tra 2 e 90 caratteri (inclusi). Per proteggere la tua privacy, assicurati che il nome della chiave non contenga informazioni d'identificazione personale, come il tuo nome o la tua posizione. Tenere presente che i nomi chiave non devono essere univoci. |
| Descrizione chiave | Facoltativo. Le descrizioni sono un modo utile per aggiungere informazioni su una chiave (ad esempio, una frase che ne descrive lo scopo) in un modo che non è possibile fare utilizzando un alias o il nome. Questa descrizione deve contenere almeno due caratteri e non più di 240 e non può essere modificata in un secondo momento. Per tutelare la tua privacy, evita di utilizzare dati personali, come il tuo nome o la tua posizione, come descrizione della tua chiave. |
| Alias chiave | Facoltativo. Un alias chiave è anche un metodo per descrivere una chiave. Le chiavi possono avere fino a cinque alias. |
| Key ring | Facoltativo. I Keyring sono raggruppamenti di chiavi che consentono a tali raggruppamenti di essere gestiti in modo indipendente, se necessario. Ogni chiave
deve far parte di un portachiavi. Se non viene selezionato alcun keyring, le chiavi vengono inserite nel keyring default. Nota: per posizionare la chiave che stai creando in un key ring, devi avere il ruolo di Gestore su tale key ring. Per ulteriori informazioni sui ruoli, consulta Gestione dell'accesso utente. |
| Politica di rotazione | Facoltativo. Se hai il ruolo di_Gestore_, puoi impostare una politica di rotazione per la chiave al momento della creazione della chiave. Se esiste una politica dell'istanza per creare le politiche di rotazione sulle chiavi per impostazione predefinita, puoi anche sovrascrivere tale politica al momento della creazione della chiave in un intervallo diverso. Nota che se la tua istanza ha una politica di rotazione abilitata e disabilita la politica di rotazione al momento della creazione della chiave, la politica viene ancora scritta nella tua chiave in uno stato Disabilitato. Se si desidera abilitare questa politica in un secondo momento, è possibile farlo. Controlla Imposta una politica di rotazione dopo che la chiave è stata creata per ulteriori informazioni. |
Una volta completata la compilazione dei dettagli della chiave, clicca su “Aggiungi” per confermare.
Se sai in quale portachiavi vuoi inserire una chiave e sei il responsabile di quel portachiavi, puoi anche accedere al pannello Portachiavi, selezionare ⋯ e fare clic su Aggiungi nuova chiave. Verrà aperto lo stesso pannello visualizzato facendo clic su Aggiungi nella pagina Chiavi con la variabile Keyring compilata con il nome del keyring.
Le chiavi generate dal servizio sono chiavi simmetriche a 256 bit, supportate dall'algoritmo AES_KW. Per maggiore sicurezza, le chiavi vengono generate dagli HSM (Hardware Security Module) certificati FIPS 140-2 Level 3 ubicati in data center IBM Cloud sicuri.
Se è necessario fornire chiavi di root in modo coerente tra gli account o gli ambienti, è possibile automatizzare questa operazione con il modulo Key Protect Key. Per una configurazione completa che prevede anche l'istanza Key Protect e i portachiavi, consultare il sito Key Protect modulo. Per una panoramica, vedere Terraform IBM Modules.
Creazione delle chiavi root con l'API
Se si distribuisce l'offerta Dedicated Key Protect, è necessario inizializzare l'istanza prima di poter creare qualsiasi risorsa.
Crea una chiave root effettuando una chiamata POST al seguente endpoint.
https://<region>.kms.cloud.ibm.com/api/v2/keys
-
Richiama le tue credenziali di autenticazione per lavorare con le chiavi nel servizio.
-
Crea una chiave root immettendo il seguente comando
curl.$ curl -X POST \ "https://<region>.kms.cloud.ibm.com/api/v2/keys" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>" \ -H "content-type: application/vnd.ibm.kms.key+json" \ -H "x-kms-key-ring: <key_ring_ID>" \ -H "correlation-id: <correlation_ID>" \ -d '{ "metadata": { "collectionType": "application/vnd.ibm.kms.key+json", "collectionTotal": 1 }, "resources": [ { "type": "application/vnd.ibm.kms.key+json", "name": "<key_name>", "aliases": [alias_list], "description": "<key_description>", "expirationDate": "<expiration_date>", "extractable": <key_type> } ] }'Sostituisci le variabili nella richiesta di esempio in base alla seguente tabella.
| Variabile | Descrizione |
|---|---|
| regione | Obbligatorio. L'abbreviazione della regione, ad esempio us-south o eu-gb, che indica l'area geografica in cui si trova l'istanza di Key Protect. Per ulteriori informazioni, consultare la sezione " Endpoint di servizio regionali ". |
| Token IAM | Obbligatorio. Il tuo token di accesso IBM Cloud. Includere l'intero contenuto del token IAM, compreso il valore "Bearer", nella richiesta curl. Per ulteriori informazioni, consulta la sezione " Ottenere un token di accesso ". |
| instance_id | Obbligatorio. L'identificativo univoco che viene assegnato alla tua istanza del servizio Key Protect. Per ulteriori informazioni, consultare la sezione " Come recuperare l'ID di un'istanza ". |
| ID_ring_chiave | Facoltativo. L'identificativo univoco del keyring di destinazione di cui si desidera far parte la chiave appena creata. Se non specificato, l'intestazione viene automaticamente impostata su 'default' e la chiave si trova nel keyring predefinito nell'istanza del servizio Key Protect specificata. Per ulteriori informazioni, vedi Chiavi di raggruppamento. |
| correlazione_ID | L'identificativo univoco utilizzato per tracciare e correlare le transazioni. |
| key_name | Obbligatorio. Un nome leggibile dall'utente per identificare facilmente la propria chiave. Importante: per proteggere la tua privacy, non memorizzare i tuoi dati personali come metadati per la tua chiave. |
| elenco_alias | Uno o più alias univoci e leggibili assegnati alla chiave. Importante: per proteggere la tua privacy, non memorizzare i tuoi dati personali come metadati per la tua chiave. Ogni alias deve essere alfanumerico, sensibile al maiuscolo / minuscolo e non può contenere spazi o caratteri speciali diversi dai trattini (-) o dai caratteri di sottolineatura (_). L'alias non può essere un UUID versione 4 e non deve essere un nome riservato Key Protect: allowed_ip, key, keys, metadata, policy, policies, registration, registrations, ring, ring, rotate, wrap, unwrap, rewrap, version, versions. La dimensione alias può essere compresa tra 2 e 90 caratteri (inclusi). |
| descrizione_chiave | Una descrizione estesa della tua chiave. Importante: per proteggere la tua privacy, non memorizzare i tuoi dati personali come metadati per la tua chiave. |
| data_scadenza | Facoltativo. La data e l'ora di scadenza della chiave nel sistema, nel formato RFC 3339 (YYYY-MM-DD HH:MM:SS.SS, ad esempio 2019-10-12T07:20:50.52Z ). Fare attenzione quando si imposta una data di scadenza, poiché le chiavi create con una data di scadenza passano automaticamente allo stato Disattivato entro un'ora dalla scadenza. In questo stato, le uniche azioni consentite sul tasto sono scartare, riavvolgere, ruotare e cancellare. Le chiavi disattivate non possono essere utilizzate per criptare (avvolgere) nuovi dati, anche se ruotate durante la disattivazione. La rotazione non azzera o prolunga la data di scadenza, né consente di modificarla. Si consiglia di criptare nuovamente i dati crittografati con una chiave in scadenza o scaduta, utilizzando una nuova customer root key (CRK) prima della scadenza della CRK originale, per evitare interruzioni del servizio. L'eliminazione e il ripristino di una chiave disattivata non la riporta allo stato Attivo. Se l'attributo expiration_date viene omesso, la chiave non scade. |
| tipo_chiave | Un valore booleano che determina se il materiale della chiave può lasciare il servizio. Quando si imposta l'attributo "extractable" su "false", il servizio crea una chiave radice che è possibile utilizzare per le operazioni di "wrap" o "unwrap". |
Fare attenzione quando si imposta una data di scadenza, poiché le chiavi create con una data di scadenza passano automaticamente allo stato Disattivato entro un'ora dalla scadenza. In questo stato, le uniche azioni consentite sul tasto sono scartare, riavvolgere, ruotare e cancellare. Le chiavi disattivate non possono essere utilizzate per criptare (avvolgere) nuovi dati, anche se ruotate durante la disattivazione. La rotazione non azzera o prolunga la data di scadenza, né consente di modificarla. Si consiglia di criptare nuovamente i dati crittografati con una chiave in scadenza o scaduta, utilizzando una nuova customer root key (CRK) prima della scadenza della CRK originale, per evitare interruzioni del servizio. L'eliminazione e il ripristino di una chiave disattivata non la riporta allo stato Attivo. Se l'attributo expiration_date viene omesso, la chiave non scade.
È possibile monitorare l'utilizzo delle chiavi con data di scadenza usando IBM Cloud Logs. I log indicano la data di scadenza e il numero di giorni rimanenti utilizzando le proprietà JSON responseData.expirationDate e responseData.daysToKeyExpire per le chiavi che hanno una data di scadenza e per i seguenti valori action: kms.secrets.wrap, kms.secrets.unwrap, kms.secrets.rewrap, kms.secrets.read,
kms.secrets.readmetadata, kms.secrets.create, kms.secrets-with-policy-overrides.create e kms.secrets.expire. Inoltre, una chiamata REST a GET /api/v2/keys restituisce la proprietà
expirationDate per ogni chiave che ha una data di scadenza.
Per proteggere la riservatezza dei tuoi dati personali, evita di immettere informazioni d'identificazione personale, come il tuo nome o la tua posizione, quando aggiungi le chiavi al servizio.
Una risposta POST api/v2/keys corretta restituisce il valore dell'ID per la tua chiave, insieme ad altri metadati. L'ID è un identificativo univoco che viene assegnato alla tua chiave e utilizzato per le seguenti chiamate all'API
Key Protect.
{
"metadata": {
"collectionType": "application/vnd.ibm.kms.key+json",
"collectionTotal": 1
},
"resources": [
{
"type": "application/vnd.ibm.kms.key+json",
"id": "02fd6835-6001-4482-a892-13bd2085f75d",
"name": "test-root-key",
"aliases": [
"alias-1",
"alias-2"
],
"description": "A test root key",
"state": 1,
"extractable": false,
"crn": "crn:v1:bluemix:public:kms:us-south:a/f047b55a3362ac06afad8a3f2f5586ea:12e8c9c2-a162-472d-b7d6-8b9a86b815a6:key:02fd6835-6001-4482-a892-13bd2085f75d",
"imported": false,
"creationDate": "2020-03-12T03:37:32Z",
"createdBy": "...",
"algorithmType": "Deprecated",
"algorithmMetadata": {
"bitLength": "256",
"mode": "Deprecated"
},
"algorithmBitSize": 256,
"algorithmMode": "Deprecated",
"lastUpdateDate": "2020-03-12T03:37:32Z",
"keyVersion": {
"id": "2291e4ae-a14c-4af9-88f0-27c0cb2739e2",
"creationDate": "2020-03-12T03:37:32Z"
},
"dualAuthDelete": {
"enabled": false
},
"deleted": false
}
]
}
Per una descrizione dettagliata dei parametri di risposta, consultare la documentazione di riferimento dell'API REST di Key Protect.
Operazioni successive
-
Per ulteriori informazioni sulla protezione delle chiavi con la crittografia envelope, controlla Impacchettamento delle chiavi.
-
Per ulteriori informazioni sulla gestione programmatica delle chiavi, consulta la documentazione di riferimento dell'API " Key Protect ".