Sovrascrittura della gestione delle chiavi in un'architettura distribuibile della zona di destinazione
Le architetture distribuibili della zona di destinazione forniscono funzioni di gestione delle chiavi integrando IBM Key Protect o Hyper Protect Crypto Services. Per apportare modifiche più avanzate alla gestione delle chiavi che non sono possibili nella maggior parte degli input, utilizzare un input di sovrascrittura.
Per sovrascrivere i valori, passi l'oggetto JSON key_management in una variabile di input di sovrascrittura. Per le installazioni con progetti o IBM Cloud Schematics, i valori vengono aggiunti nell'input override_json_string.
Sia IBM Key Protect che Hyper Protect Crypto Services sono supportati nelle architetture distribuibili della zona di destinazione.
Puoi anche utilizzare lo strumento di configurazione della zona di destinazione per personalizzare le tue architettura distribuibili.
Sovrascritture di gestione chiavi di esempio
Questi esempi identificano alcuni casi di utilizzo comuni per includere un servizio di gestione delle chiavi (KMS) nella tua architettura distribuibile.
- Crea un'istanza e le chiavi Key Protect
- Crea chiavi in un KMS esistente
- Utilizza chiavi esistenti senza KMS
- Utilizza chiavi esistenti e crea altre chiavi
- Modifica di una configurazione del progetto
Per un elenco completo degli attributi di gestione delle chiavi supportati nell'architettura distribuibile della zona di destinazione, consulta l'oggetto key_management nella sezione Inputs del repository terraform-ibm-landing-zone in GitHub.
Crea un'istanza e le chiavi Key Protect
Questo esempio descrive la configurazione predefinita e non richiede un valore di sovrascrittura. Tuttavia, l'esempio illustra che è possibile sovrascrivere i valori che non sono disponibili in altre variabili di input (ad esempio, il nome chiave).
Questo esempio di sovrascrittura crea un'istanza di IBM Key Protect denominata test - kms e crea le chiavi denominate slz-slz-key, slz-atracker-key, slz-roks-key e slz-vsi-volume-key nell'istanza
test-kms.
-
Copia il seguente JSON.
{ "key_management": { "keys": [ { "key_ring": "slz-slz-ring", "name": "slz-slz-key", "root_key": true }, { "key_ring": "slz-slz-ring", "name": "slz-atracker-key", "root_key": true }, { "key_ring": "slz-slz-ring", "name": "slz-roks-key", "root_key": true }, { "key_ring": "slz-slz-ring", "name": "slz-vsi-volume-key", "root_key": true } ], "name": "test-kms", "resource_group": "testrg" } } -
Attieniti alla procedura nella sezione Modifica della configurazione di progetto per modificare la tua architettura distribuibile.
Crea chiavi in un KMS esistente
Questo esempio di sovrascrittura utilizza un'istanza IBM Key Protect esistente denominata test-kms. È possibile utilizzare un'istanza esistente impostando use_data su true. Il resto dell'esempio crea quattro
chiavi in un keyring denominato slz-slz-ring nell'istanza esistente.
Per utilizzare Hyper Protect Crypto Services invece di Key Protect, passa "use_hs_crypto": true invece di "use_data": true.
-
Copia il seguente JSON.
{ "key_management": { "keys": [ { "key_ring": "slz-slz-ring", "name": "slz-slz-key", "root_key": true }, { "key_ring": "slz-slz-ring", "name": "slz-atracker-key", "root_key": true }, { "key_ring": "slz-slz-ring", "name": "slz-roks-key", "root_key": true }, { "key_ring": "slz-slz-ring", "name": "slz-vsi-volume-key", "root_key": true } ], "name": "test-kms", "resource_group": "testrg", "use_data": true } } -
Attieniti alla procedura nella sezione Modifica della configurazione di progetto per modificare la tua architettura distribuibile.
Utilizza chiavi esistenti senza KMS
Per utilizzare le chiavi esistenti senza eseguire il pull in un'istanza KMS esistente, includi il CRN della chiave. Il CRN può fare riferimento a una chiave nell'account che sta distribuendo l'architettura distribuibile o in un account differente.
Gli attributi delle chiavi esistenti sono name e existing_key_crn. Quando utilizzi un CRN chiave esistente, devi avere una politica di autenticazione che consenta a block-storage e cloud-object-storage di accedere al KMS nell'account esterno. Per ulteriori informazioni, vedi Utilizzo delle autorizzazioni per concedere l'accesso tra i servizi
Assicurati di omettere key_management.name e key_management.resource_group quando non vuoi che l'architettura distribuibile crei un KMS.
-
Copia il seguente JSON.
{ "key_management": { "keys": [ { "name": "slz-slz-key", "existing_key_crn": "crn:v1:bluemix:public:kms:ca-tor:a/testaccountid:15658dcb-7434-4ff7-961a-79cae8d9baca:key:6128229e-1bbb-4c25-827c-c97f077fb585" }, { "name": "slz-atracker-key", "existing_key_crn": "crn:v1:bluemix:public:kms:ca-tor:a/testaccountid:15658dcb-7434-4ff7-961a-79cae8d9baca:key:9157cce8-3c1a-42be-b67f-0103426bc147" }, { "name": "slz-roks-key", "existing_key_crn": "crn:v1:bluemix:public:kms:ca-tor:a/testaccountid:7ccfb2a6-4d7d-4e85-af35-9548cda719d0:key:682c774b-c781-4bbb-b3b7-3ddf1831ab2f" }, { "name": "slz-vsi-volume-key", "existing_key_crn": "crn:v1:bluemix:public:kms:ca-tor:a/testaccountid:15658dcb-7434-4ff7-961a-79cae8d9baca:key:8c2ac54e-ac85-47da-8d03-06acb7f60ab3" } ] } } -
Attieniti alla procedura nella sezione Modifica della configurazione di progetto per modificare la tua architettura distribuibile.
Utilizzare le chiavi esistenti e creare più chiavi
Questo esempio crea le chiavi e utilizza anche una chiave esistente. Un'istanza di Key Protect denominata test-kms viene creata con tre chiavi denominate slz-slz-key, slz-atracker-key e slz-roks-key.
Inoltre, viene utilizzata la chiave slz-vsi-volume-key esistente.
In questo esempio, la chiave esistente viene identificata dal CRN per eseguire il pull della chiave senza l'istanza KMS. In alternativa, puoi impostare "use_data": true come nell'esempio Crea chiavi in un KMS esistente.
Quando utilizzi un CRN della chiave esistente, devi disporre di una politica di autenticazione che consente a block-storage, cloud-object-storage e secrets-manager di accedere al KMS nell'account esterno.
Per ulteriori informazioni, vedi il documento relativo all'utilizzo delle autorizzazioni per concedere l'accesso tra i servizi.
-
Copia il seguente JSON.
{ "key_management": { "keys": [ { "key_ring": "slz-slz-ring", "name": "slz-slz-key", "root_key": true }, { "key_ring": "slz-slz-ring", "name": "slz-atracker-key", "root_key": true }, { "key_ring": "slz-slz-ring", "name": "slz-roks-key", "root_key": true }, { "name": "slz-vsi-volume-key", "existing_key_crn": "crn:v1:bluemix:public:kms:ca-tor:a/testaccountid:15658dcb-7434-4ff7-961a-79cae8d9baca:key:8c2ac54e-ac85-47da-8d03-06acb7f60ab3" } ], "name": "test-kms", "resource_group": "testrg" } } -
Attieniti alla procedura nella sezione Modifica della configurazione di progetto per modificare la tua architettura distribuibile.
Modifica della configurazione del progetto
Utilizza la seguente procedura con uno qualsiasi degli esempi per sovrascrivere la configurazione della tua architettura distribuibile.
-
Copia l'esempio JSON. Modificarlo in base alle proprie necessità.
-
Aggiungi il JSON alla variabile di input override_json_string della tua architettura distribuibile:
- Andare sulla pagina Progetti e selezionare un progetto.
- Andare alla scheda Configurazioni e selezionare una configurazione dell'architettura distribuibile.
- Fai clic su Edit.
- Nella sezione Configurazione, fare clic su Facoltativo.
- Trovare override_json_string e fare clic su Modifica JSON.
- Incolla questo JSON che hai copiato in precedenza e fai clic su Salva.
-
Convalidare e approvare le modifiche.