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.

  1. Accedi alla console IBM Cloud.

  2. Vai su Menu > Elenco risorse per visualizzare l'elenco delle tue risorse.

  3. Dal tuo elenco risorse IBM Cloud, seleziona la tua istanza di cui è stato eseguito il provisioning di Key Protect.

  4. 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:
Descrive le impostazioni di Creare una chiave.
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
  1. Richiama le tue credenziali di autenticazione per lavorare con le chiavi nel servizio.

  2. 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.

Descrive le variabili necessarie per aggiungere una chiave principale con l'API Key Protect API.
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