Configurazione della crittografia dei segreti del cluster
Virtual Private Cloud Infrastruttura classica Satellite
Dopo aver creato un cluster, è possibile proteggere i segreti di Kubernetes e le credenziali memorizzate nei segreti abilitando un fornitore di servizi di gestione delle chiavi (KMS), come IBM® Key Protect for IBM Cloud®.
Abilitazione della crittografia segreta dalla CLI
È possibile abilitare un fornitore KMS, aggiornare l'istanza del fornitore KMS o aggiornare la chiave root tramite la CLI.
La configurazione della crittografia tra account utilizzando un KMS in un account differente è supportata nella CLI o nell'API.
-
Crea una chiave root e un'istanza KMS. Se vuoi utilizzare la crittografia KMS tra account, assicurati di creare il KMS e la chiave root nell'account di cui vuoi utilizzare l'istanza KMS.
-
Ottieni l'ID dell'istanza KMS che hai creato in precedenza.
ibmcloud oc kms instance ls -
Ottieni l'ID della chiave root che hai creato in precedenza.
ibmcloud oc kms crk ls --instance-id KMS_INSTANCE_ID -
Abilita il provider KMS per crittografare i segreti nel tuo cluster. Completare le opzioni con le informazioni recuperate in precedenza. Per il download delle chiavi di crittografia viene utilizzato per impostazione predefinita l'endpoint del servizio cloud privato del provider KMS. Per utilizzare invece l'endpoint del servizio cloud pubblico, includere l'opzione
--public-endpoint. Il completamento del processo di abilitazione potrebbe richiedere alcuni minuti.ibmcloud oc kms enable -c CLUSTER_NAME_OR_ID --instance-id KMS_INSTANCE_ID --crk ROOT_KEY_ID [--public-endpoint]Durante l'abilitazione, potresti non essere in grado di accedere al master Kubernetes, ad esempio, per aggiornare le configurazioni YAML per le distribuzioni.
-
Verifica che il processo di abilitazione KMS sia terminato. Il processo è terminato quando Stato master è Pronto e Servizio di gestione chiavi è abilitato.
ibmcloud oc cluster get -c CLUSTER_NAME_OR_IDEsempio di output quando l'abilitazione è in corso
NAME: <cluster_name> ID: <cluster_ID> ... Master Status: Key management service feature enablement in progress.Esempio di output quando il master è pronto
NAME: <cluster_name> ID: <cluster_ID> ... Master Status: Ready (1 min ago) ... Key Management Service: enabledUna volta abilitato il provider KMS nel cluster, tutti i segreti del cluster vengono crittografati automaticamente.
-
Facoltativo: Verifica che i tuoi segreti siano crittografati.
L'abilitazione della chiave, avviata tramite Red Hat OpenShift, significa che la crittografia passa a una nuova chiave del provider KMS. La rotazione delle chiavi, avviata dal provider KMS, significa che la crittografia passa a una nuova versione della chiave esistente. Non eliminare alcuna chiave principale nell'istanza KMS se questa viene ruotata dal provider KMS. Una chiave principale può essere eliminata solo quando non è più in uso. Ad esempio, dopo aver abilitato una nuova chiave e verificato che il cluster non utilizza più la vecchia chiave, è possibile eliminare la vecchia chiave. Se si elimina una chiave radice utilizzata da un cluster, quest'ultimo diventa inutilizzabile, perde tutti i propri dati e non può essere ripristinato. Quando si ruota una chiave root, non è possibile riutilizzare una chiave root precedente per lo stesso cluster. Allo stesso modo, se si disabilita una chiave root, le operazioni che si basano sulla lettura dei segreti non riescono. A differenza dell'eliminazione di una chiave root, tuttavia, è possibile riabilitare una chiave disabilitata per rendere nuovamente utilizzabile il cluster.
Abilitazione della codifica segreta dalla console
Puoi abilitare un provider KMS, aggiornare l'istanza del provider KMS o aggiornare la chiave root tramite la console IBM Cloud.
-
Crea una chiave root e un'istanza KMS. Se vuoi utilizzare la crittografia KMS tra account, assicurati di creare il KMS e la chiave root nell'account di cui vuoi utilizzare l'istanza KMS.
-
Dalla console, selezionare il cluster per il quale si desidera abilitare la crittografia.
-
Nella sezione Servizio di gestione delle chiavi, fare clic su Abilita. Se hai già abilitato il provider KMS, fai clic su Update.
-
Seleziona l'istanza del servizio di gestione chiavi (Key management service instance) e la chiave root (Root key) che vuoi utilizzare per la crittografia.
Durante l'abilitazione, potresti non essere in grado di accedere al master Kubernetes, ad esempio, per aggiornare le configurazioni YAML per le distribuzioni.
-
Fai clic su Enable (o Update).
-
Verifica che il processo di abilitazione KMS sia terminato. Esempio di output quando l'abilitazione è in corso.
Master status KMS feature enablement in progress.Esempio di output quando il master è pronto.
Master status ReadyUna volta abilitato il provider KMS nel cluster, tutti i segreti del cluster vengono crittografati automaticamente.
-
Facoltativo: Verifica che i tuoi segreti siano crittografati.
L'abilitazione della chiave, avviata tramite Red Hat OpenShift, significa che la crittografia passa a una nuova chiave del fornitore KMS. La rotazione delle chiavi, avviata dal provider KMS, significa che la crittografia passa a una nuova versione della chiave esistente. Non eliminare alcuna chiave principale nell'istanza KMS se questa viene ruotata dal provider KMS. Una chiave principale può essere eliminata solo quando non è più in uso. Ad esempio, dopo aver abilitato una nuova chiave e verificato che il cluster non utilizza più la vecchia chiave, è possibile eliminare la vecchia chiave. Se si elimina una chiave radice utilizzata da un cluster, quest'ultimo diventa inutilizzabile, perde tutti i propri dati e non può essere ripristinato. Quando si ruota una chiave root, non è possibile riutilizzare una chiave root precedente per lo stesso cluster. Allo stesso modo, se si disabilita una chiave root, le operazioni che si basano sulla lettura dei segreti non riescono. A differenza dell'eliminazione di una chiave root, tuttavia, è possibile riabilitare una chiave disabilitata per rendere nuovamente utilizzabile il cluster.
Rotazione della chiave root per il cluster
Per ruotare la chiave root utilizzata per crittografare il tuo cluster, ripeti la procedura per abilitare la crittografia KMS. Quando si ruota una chiave root, non è possibile riutilizzare una chiave root precedente per lo stesso cluster.
Puoi ruotare manualmente la chiave root dalla tua istanza KMS. Questa azione riabilita automaticamente KMS nel cluster con la nuova chiave root. Per ruotare manualmente i tasti, vedere Rotazione dei tasti.
Verifica della crittografia dei segreti
Dopo aver abilitato un fornitore KMS nel cluster Red Hat OpenShift on IBM Cloud, puoi verificare che i tuoi segreti cluster siano crittografati disabilitando la chiave root. Quando disabiliti la chiave root, il cluster non può più decodificare i segreti e diventa inutilizzabile, il che significa che i tuoi segreti sono stati crittografati.
Assicurarsi di avere il ruolo di accesso alla piattaforma IBM Cloud IAM Administrator e al servizio Manager per il cluster.
-
Per controllare che la crittografia KMS sia abilitata, verificare che lo stato di Key Management Service sia impostato su
enablednell'output del seguente comando.ibmcloud oc cluster get -c <cluster_name_or_ID> -
Verifica di poter elencare i segreti nel tuo cluster.
oc get secrets --all-namespaces -
Nella tua istanza KMS, disabilita la chiave root utilizzata per codificare il tuo cluster. Se hai crittografato il tuo cluster con un KMS e CRK da un account diverso, il CRK può essere disabilitato solo dall'account in cui si trova.
-
Attendere che il cluster rilevi la modifica alla chiave root.
-
Prova a elencare i tuoi segreti. Ricevi un errore di timeout perché non puoi più connetterti al tuo cluster. Se tenti di impostare il contesto per il tuo cluster eseguendo
ibmcloud oc cluster config, il comando non riesce.oc get secrets --all-namespacesOutput di esempio
Unable to connect to the server: dial tcp 169.48.110.250:32346: i/o timeout -
Controlla che il tuo cluster sia in uno stato di avvertenza. Il cluster rimane in questo stato ed è inutilizzabile fino a quando non si abilita nuovamente la chiave root.
ibmcloud oc cluster get -c <cluster_name_or_ID> -
Nella tua istanza KMS, abilita la chiave root in modo che il tuo cluster ritorni a uno stato normale e diventi nuovamente utilizzabile.