Raggruppamento delle chiavi insieme utilizzando gli anelli chiave

È possibile utilizzare IBM® Key Protect for IBM Cloud® per creare un gruppo di chiavi destinato a una categoria di utenti che necessitano delle stesse autorizzazioni di accesso IAM.

Come admin account è possibile raggruppare le chiavi in Key Protect istanza di servizio in gruppi chiamati "anelli chiave". Un key ring è una raccolta di chiavi, all'interno della propria istanza del servizio, che richiedono tutte le stesse autorizzazioni di accesso IAM. Ad esempio, se si dispone di un gruppo di membri del team che avranno bisogno di un particolare tipo di accesso ad uno specifico gruppo di chiavi, è possibile creare un anello chiave per quei tasti e assegnare la policy di accesso IAM appropriata al gruppo di utenti di destinazione. Gli utenti che vengono assegnati l'accesso all'anello chiave possono creare e gestire le risorse che esistono all'interno dell'anello chiave.

Gli anelli chiave sono utili anche nei casi in cui è importante per un'unità aziendale avere accesso a una serie di chiavi che un'altra unità aziendale non dovrebbe avere. Un account admin può creare degli anelli chiave per ogni business unit e assegnare l'adeguato livello di accesso agli utenti appropriati. Nel caso in cui l'account admin vorrebbe delegare la gestione della piattaforma di un anello chiave specifico a qualcun altro, possono assegnare un utente a ruolo amministratore della piattaforma a livello di anello chiave. L'amministratore secondario avrà quindi la possibilità di gestire l'anello di chiavi e concedere l'accesso agli utenti appropriati.

È possibile concedere l'accesso agli anelli chiave all'interno di un Key Protect utilizzando l'istanza IBM Cloud console, API IAM o CLI IAM.

Prima di creare un portachiavi per la tua istanza di Key Protect, ti invitiamo a prendere in considerazione quanto segue:

  • Ogni istanza Key Protect arriva con un ring chiavi predefinito. Ogni nuova creata Key Protect istanza arriva con un ring key generato con un ID di default. Tutti i tasti che non sono associati ad un anello chiave altrimenti specificato esistono all'interno dell'anello di chiavi predefinito.

  • I portachiavi possono contenere chiavi standard e chiavi root. I key ring possono contenere sia chiavi standard che chiavi root. Non esiste un limite al numero di chiavi che possono essere presenti in un portachiavi.

  • Una chiave può essere solo una parte di un anello chiave alla volta. Una chiave può essere solo una parte di un anello chiave. L'assegnazione del key ring avviene alla creazione chiave. Se un id key ring non viene passato in fase di creazione, la chiave sarà una parte dell'anello chiave default.

La quantità massima di anelli chiave è di 50 per istanza di servizio.

Creazione di anelli chiave con la UI

Devi avere il ruolo di servizio "Writer" o "Manager" per creare un anello chiave.

Per creare un portachiavi:

  1. Clicca su anelli chiave nella navigazione a sinistra.
  2. Nel pannello Key rings, fare clic sul pulsante Crea.
  3. Nella scheda Crea una key ring, dare un nome al tuo nuovo key ring, seguendo le istruzioni sui caratteri consentiti. Quindi fare clic su Crea.

Dopo aver creato, il tuo nuovo anello chiave apparirà nella lista degli anelli chiave e sei in grado di trasferire chiavi in esso o creare chiavi per esso.

Se gestite i portachiavi in modo coerente in più ambienti, potete automatizzare la disposizione dei portachiavi e delle chiavi con il modulo Key Protect Key Ring o con il più ampio modulo Key Protect All-Inclusive. Per il contesto, vedere Informazioni sui moduli Terraform IBM.

Creazione di anelli chiave con l'API

Crea un portachiavi effettuando una chiamata di tipo " POST " all'endpoint seguente.

https://<region>.kms.cloud.ibm.com/api/v2/keys
  1. Richiama le tue credenziali di autenticazione per lavorare con le chiavi nel servizio.

  2. Creare un anello chiave eseguendo il seguente comando curl.

    $ curl -X POST \
        "https://<region>.kms.cloud.ibm.com/api/v2/key_rings/<key_ring_id>" \
        -H "authorization: Bearer <IAM_token>" \
        -H "bluemix-instance: <instance_ID>" \
        -H "correlation-id: <correlation_ID>"
    

    Sostituisci le variabili nella richiesta di esempio in base alla seguente tabella.

Descrive le variabili necessarie per creare un portachiavi 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 la tua istanza di Key Protect.

Per ulteriori informazioni, consultare la sezione " Endpoint di servizio regionali ".
anello_chiave_id Obbligatorio. L'identificatore univoco del portachiavi che desideri creare.
IAM_token Obbligatorio. Il tuo token di accesso IBM Cloud. Includi 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'identificatore univoco assegnato alla tua istanza del servizio Key Protect.

Per ulteriori informazioni, consultare la sezione " Come recuperare l'ID di un'istanza ".
correl_ID Facoltativo. L'identificatore univoco utilizzato per tracciare e correlare le transazioni.

Una richiesta POST api/v2/key_rings andata a buon fine restituisce un HTTP 201 Created risposta, che indica che l'anello chiave è stato creato ed è ora disponibile per tenere chiavi standard e di root.

Trasferimento di una chiave ad un diverso anello chiave

Poiché i requisiti cambiano e i nuovi membri del team vengono portati in un org, potreste creare nuovi anelli chiave per riflettere questi cambiamenti organizzativi. Dopo aver creato gli anelli chiave potrebbe essere necessario spostare una chiave da un ring chiavi esistente ad un nuovo anello chiave che ha diverse autorizzazioni IAM. Ad esempio, si potrebbe essere onimbarco di un team che avrà bisogno di un accesso specifico a una chiave che fa parte di un anello di chiavi personalizzato e non predefinito precedentemente realizzato. È possibile creare un nuovo anello di chiavi dedicato al team di onboarding e, dato che le chiavi possono essere associate solo con un solo key ring alla volta, sarà necessario spostare la chiave del nuovo ring chiave.

Dopo aver trasferito una chiave su un altro portachiavi, potrebbero essere necessari fino a 10 minuti prima che la modifica diventi effettiva su tutti i sistemi.

Trasferimento di una chiave ad un diverso anello chiave con la UI

Se non si vedono tutte le opzioni che ci si aspetta di vedere, potrebbe essere perché non si ha il permesso di eseguire una determinata azione. Assicurati che i tuoi ruoli e i tuoi permessi siano sufficienti per eseguire l'azione. Per ulteriori informazioni sui ruoli, verificare Gestione dell'accesso utente.

È necessario disporre del ruolo di servizio "Gestore" sia del tasto trasferito che dell'anello chiave di destinazione per trasferire una chiave.

Dal pannello Chiavi:

  1. Individua la chiave che desideri trasferire. Per individuare più facilmente il tasto, utilizzare uno dei seguenti metodi:
    • Nel pannello " Chiavi ", selezionare il portachiavi dal filtro " ID portachiavi ".
    • Fai clic su "Portachiavi" nella barra di navigazione a sinistra, individua il portachiavi, fai clic sul menu delle azioni (⋯) e seleziona "Visualizza chiavi ".
  2. Clicca sul pulsante di scatto e seleziona Modifica ring key dall'elenco a discesa.
  3. Nell'elenco a discesa, selezionare l'anello di chiave a cui spostare la chiave. Quindi fare clic su " Salva ".

Trasferimento di una chiave ad un diverso anello chiave con l'API

Trasferire una chiave su un diverso anello chiave facendo una chiamata PATCH al seguente endpoint.

https://<region>.kms.cloud.ibm.com/api/v2/keys/<keyID_or_alias>
  1. Richiama le tue credenziali di autenticazione per lavorare con le chiavi nel servizio.

    Per aggiornare l'anello chiave di una chiave, è necessario disporre di almeno Gestore accesso al servizio alla chiave e all'anello di chiavi di destinazione. Per imparare come la mappa dei ruoli IAM Key Protect azioni di servizio, controllare Ruoli di accesso al servizio.

  2. Aggiornare l'anello chiave di una chiave eseguendo il seguente comando curl.

    $ curl -X PATCH \
        https://<region>.kms.cloud.ibm.com/api/v2/keys/<keyID_or_alias> \
        -H 'accept: application/vnd.ibm.kms.key+json' \
        -H 'authorization: Bearer <IAM_token>' \
        -H 'bluemix-instance: <instance_ID>' \
        -H 'content-type: application/vnd.ibm.kms.key+json' \
        -H "x-kms-key-ring: <original_key_ring_ID>" \
        -H "correlation-id: <correlation_ID>" \
        -d '{
        "keyRingID": "<new_key_ring_ID>"
        }'
    

    Sostituisci le variabili nella richiesta di esempio in base alla seguente tabella.

Descrive le variabili necessarie per aggiornare il portachiavi di una chiave 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 la tua istanza di Key Protect.

Per ulteriori informazioni, consultare la sezione " Endpoint di servizio regionali ".
keyID_or_alias Obbligatorio. L'identificatore univoco o l'alias della chiave che si desidera aggiornare.
IAM_token Obbligatorio. Il tuo token di accesso IBM Cloud. Includi 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'identificatore univoco assegnato alla tua istanza del servizio Key Protect.

Per ulteriori informazioni, consultare la sezione " Come recuperare l'ID di un'istanza ".
iD_anello_chiave_originale Facoltativo. L'identificatore univoco dell'anello chiave di cui la chiave è attualmente parte. Se non specificato, Key Protect ricercherà la chiave in ogni anello chiave associato all'istanza specificata. Si consiglia quindi di specificare il key ring ID per una richiesta più ottimizzata. Nota: l'ID key ring dei tasti creati senza intestazione x-kms-key-ring è: default.
correl_ID Facoltativo. L'identificatore univoco utilizzato per tracciare e correlare le transazioni.
nuovo_anello_chiave Obbligatorio. L'identificatore univoco per l'anello di chiavi di destinazione che si desidera spostare la chiave.

Una richiesta PATCH api/v2/keys/keyID_or_alias di successo restituisce i metadati della chiave, tra cui l'id dell'anello chiave di cui la chiave fa parte.

{
    "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,
            "keyRingID": "new-key-ring",
            "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
        }
    ]
}

Concessione accesso ad un anello chiave

È possibile concedere l'accesso ad un anello chiave all'interno di un'istanza Key Protect utilizzando la console IBM Cloud, IAM APIo CLI{ :external}.

Riesamina ruoli e autorizzazioni per scoprire come si mappano i ruoli IBM Cloud IAM alle azioni Key Protect.

Per assegnare l'accesso ad un anello chiave con la console:

  1. Dalla barra dei menu, fare clic su Gestisci > Accesso (IAM), quindi selezionare Utenti per visualizzare gli utenti presenti nel proprio account.

  2. Seleziona una riga di tabella e fai clic sull'icona ⋯ per aprire un elenco di opzioni per tale utente.

  3. Dal menu delle opzioni, fai clic su Assegna accesso.

  4. Fai clic su " Assegna agli utenti un accesso aggiuntivo ".

  5. Fai clic sul pulsante " Servizi IAM ".

  6. Dall'elenco dei servizi, selezionare Key Protect.

  7. Seleziona i servizi in base agli attributi.

  8. Selezionare l'attributo ID istanza e selezionare l'istanza in cui risiede l'anello chiave.

  9. Selezionare l'attributo ID key ring ed inserire l'ID associato all'anello chiave.

  10. Scegli una combinazione di ruoli di accesso alla piattaforma e al servizio per assegnare l'accesso per l'utente.

  11. Fai clic su Aggiungi.

  12. Continuare ad aggiungere ruoli di accesso alla piattaforma e al servizio in base alle necessità e quando si è terminato, fare clic su Assegna. Si tenga presente che l'utente deve essere assegnato almeno Reader l'accesso all'intera istanza al fine di elencare, creare ed eliminare gli anelli chiave all'interno dell'istanza.

L'immagine mostra un esempio di come concedere l'accesso dell'utente ad un anello chiave.
Mostra come concedere all'utente l'accesso a un'istanza.

Elenco degli anelli chiave con l'API

Per una panoramica generale, è possibile visualizzare i portachiavi gestiti nella propria istanza di Key Protect già configurata, effettuando una chiamata GET all'endpoint seguente.

https://<region>.kms.cloud.ibm.com/api/v2/keys_rings
  1. Richiama le tue credenziali di autenticazione per lavorare con le chiavi nel servizio.

  2. Visualizza le caratteristiche generali sui tuoi anelli chiave eseguendo il seguente curl .

    $ curl -X GET \ "https://<region>.kms.cloud.ibm.com/api/v2/key_rings?totalCount=<show_total>&offset=<offset_value>&limit=<offset_limit>" \
        -H "accept: application/vnd.ibm.kms.key_ring+json" \
        -H "authorization: Bearer <IAM_token>" \
        -H "bluemix-instance: <instance_ID>" \
        -H "correlation-id: <correlation_ID>"
    

    I parametri di query che seguono il punto interrogativo ? sono facoltativi, ma inclusi qui per documentarne l'utilizzo. (: :nota)

    Sostituisci le variabili nella richiesta di esempio in base alla seguente tabella.

Descrive le variabili necessarie per visualizzare i portachiavi 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 la tua istanza di Key Protect.

Per ulteriori informazioni, consultare la sezione " Endpoint di servizio regionali ".
IAM_token Obbligatorio. Il tuo token di accesso IBM Cloud. Includi 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'identificatore univoco assegnato alla tua istanza di Key Protect.

Per ulteriori informazioni, consultare la sezione " Come recuperare l'ID di un'istanza ".
correl_ID Facoltativo. L'identificativo univoco utilizzato per tracciare e correlare le transazioni.
limite_di_offset Facoltativo. Per impostazione predefinita, GET /key_rings restituisce una sequenza di 51 keyRings incluso il keyRingpredefinito. Per recuperare un insieme diverso di portachiavi, utilizza limit con offset per sfogliare le risorse disponibili. Il valore massimo per " limit " è "5.000"
valore_di_offset Facoltativo. Specificando offset``, si recupera un sottoinsieme di portachiavi che inizia dal valore offset .
mostra_totale Facoltativo. Se impostato su true, i metadati di risposta restituiscono un valore per totalCount in uso con la paginazione.

Una richiesta GET api/v2/key_rings di successo restituisce una raccolta di anelli chiave disponibili nel tuo Key Protect istanza di servizio.

{
    "metadata": {
        "collectionType": "application/vnd.ibm.kms.key_ring+json",
        "collectionTotal": 2
    },
    "resources": [
        {
            "id": "default"
        },
        {
            "id": "Sample Key Ring 2",
            "creationDate": "2020-03-12T11:00:06Z",
            "createdBy": "..."
        }
    ]
}

Eliminazione degli anelli chiave con l'API

È possibile eliminare un portachiavi effettuando una chiamata di tipo " DELETE " all'endpoint seguente.

https://<region>.kms.cloud.ibm.com/api/v2/key_rings/<key_ring_id>

Questa azione non avrà esito positivo se il key ring contiene almeno una chiave in uno stato diverso da Destroyed . Se le uniche chiavi nel key ring sono nello stato Destroyed , il key ring può essere eliminato se force=true viene aggiunto al comando delete. Le chiavi in tale stato vengono automaticamente trasferite al keyring default.

  1. Richiama le tue credenziali di autenticazione per lavorare con le chiavi nel servizio.

  2. Recupera l'ID del portachiavi che desideri eliminare.

    Puoi trovare l'ID per un anello chiave nel tuo Key Protect istanza da recuperando una lista dei tuoi anelli chiave.

  3. Esegui il seguente comando curl per eliminare il portachiavi. Notare la presenza di force=true, che forza l'eliminazione del keyring nel caso in cui contenga chiavi nello stato Distrutto .

    $ curl -X DELETE \
        "https://<region>.kms.cloud.ibm.com/api/v2/key_rings/<key_ring_id>?force=true" \
        -H "authorization: Bearer <IAM_token>" \
        -H "bluemix-instance: <instance_ID>" \
        -H "prefer: <return_preference>"
    

    Sostituisci le variabili nella richiesta di esempio in base alla seguente tabella.

Descrive le variabili necessarie per cancellare le chiavi 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 la tua istanza di Key Protect.

Per ulteriori informazioni, consultare la sezione " Endpoint di servizio regionali ".
anello_chiave_id Obbligatorio. L'identificatore univoco del portachiavi che desideri eliminare.
IAM_token Obbligatorio. Il tuo token di accesso IBM Cloud. Includi 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'identificatore univoco assegnato alla tua istanza del servizio Key Protect.

Per ulteriori informazioni, consultare la sezione " Come recuperare l'ID di un'istanza ".

Una richiesta andata a buon fine restituisce una risposta HTTP 204 No Content, che indica che il portachiavi è stato eliminato con successo indica che il portachiavi è stato cancellato con successo.