Configuration du chiffrement des secrets de cluster
Cloud privé virtuel Infrastructure classique Satellite
Après avoir créé un cluster, vous pouvez protéger les secrets Kubernetes et toutes les informations d'identification stockées dans vos secrets en activant un fournisseur de services de gestion de clés (KMS), tel que IBM® Key Protect for IBM Cloud®.
Activation du chiffrement des secrets depuis l'interface de ligne de commande
Vous pouvez activer un fournisseur KMS, mettre à jour l'instance du fournisseur KMS ou mettre à jour la clé racine via l'interface de ligne de commande.
La configuration du chiffrement entre comptes à l'aide d'un KMS dans un autre compte est prise en charge dans l'interface de ligne de commande ou l'API.
-
Créez une instance KMS et une clé racine. Si vous souhaitez utiliser le chiffrement KMS inter-comptes, veillez à créer le KMS et la clé racine dans le compte dont vous souhaitez utiliser l'instance KMS.
-
Récupérez l'ID de l'instance KMS que vous avez créée précédemment.
ibmcloud oc kms instance ls -
Récupérez l'ID de la clé racine que vous avez créée précédemment.
ibmcloud oc kms crk ls --instance-id KMS_INSTANCE_ID -
Activez le fournisseur KMS pour chiffrer les secrets dans votre cluster. Complétez les options avec les informations que vous avez précédemment récupérées. Le noeud final de service cloud privé du fournisseur KMS est utilisé par défaut pour télécharger les clés de chiffrement. Pour utiliser à la place le point de terminaison du service cloud public, incluez l'option
--public-endpoint. Le processus d'activation peut prendre un certain temps.ibmcloud oc kms enable -c CLUSTER_NAME_OR_ID --instance-id KMS_INSTANCE_ID --crk ROOT_KEY_ID [--public-endpoint]Lors de l'activation, vous risquez de ne pas pouvoir accéder au maître Kubernetes, par exemple pour mettre à jour la configuration des fichiers YAML correspondant aux déploiements.
-
Vérifiez que le processus d'activation de KMS est terminé. Ce processus est terminé lorsque le statut du maître (Master Status) passe à Ready et que le service de gestion de clés (Key Management Service) passe au statut enabled.
ibmcloud oc cluster get -c CLUSTER_NAME_OR_IDExemple de sortie lorsque le processus d'activation est en cours
NAME: <cluster_name> ID: <cluster_ID> ... Master Status: Key management service feature enablement in progress.Exemple de sortie lorsque le maître est prêt
NAME: <cluster_name> ID: <cluster_ID> ... Master Status: Ready (1 min ago) ... Key Management Service: enabledUne fois que le fournisseur KMS est activé dans le cluster, tous les secrets de cluster sont automatiquement chiffrés.
-
Facultatif : vérifiez que vos secrets sont chiffrés.
L'activation de la clé, qui est initiée par Red Hat OpenShift, signifie que le chiffrement passe à une nouvelle clé du fournisseur KMS. La rotation des clés, qui est initiée par le fournisseur KMS, signifie que le chiffrement passe à une nouvelle version de la clé existante. Ne supprimez aucune clé racine dans votre instance de KMS si elle a fait l'objet d'une rotation à partir du fournisseur de KMS. Une clé racine ne peut être supprimée que lorsqu'elle n'est plus utilisée. Par exemple, après avoir activé une nouvelle clé et vérifié que le cluster n'utilise plus l'ancienne clé, vous pouvez supprimer cette dernière. Si vous supprimez une clé racine utilisée par un cluster, le cluster devient inutilisable, perd toutes ses données et ne peut pas être récupéré. Lorsque vous faites pivoter une clé racine, vous ne pouvez pas réutiliser une clé racine précédente pour le même cluster. De même, si vous désactivez une clé racine, les opérations qui reposent sur des secrets de lecture échouent. Contrairement à la suppression d'une clé racine, vous pouvez toutefois réactiver une clé désactivée afin de rendre votre cluster à nouveau opérationnel.
Activation du chiffrement des secrets à partir de la console
Vous pouvez activer un fournisseur KMS, mettre à jour l'instance du fournisseur KMS ou mettre à jour la clé racine via la console IBM Cloud.
-
Créez une instance KMS et une clé racine. Si vous souhaitez utiliser le chiffrement KMS inter-comptes, veillez à créer le KMS et la clé racine dans le compte dont vous souhaitez utiliser l'instance KMS.
-
Dans la console, sélectionnez le cluster pour lequel vous souhaitez activer le chiffrement.
-
Dans la section Service de gestion des clés, cliquez sur Activer. Si vous avez déjà activé le fournisseur KMS, cliquez sur Mettre à jour.
-
Sélectionnez l'instance du service de gestion des clés (KMS) et la clé racine que vous souhaitez utiliser pour le chiffrement.
Lors de l'activation, vous risquez de ne pas pouvoir accéder au maître Kubernetes, par exemple pour mettre à jour la configuration des fichiers YAML correspondant aux déploiements.
-
Cliquez sur Activer (ou Mettre à jour).
-
Vérifiez que le processus d'activation de KMS est terminé. Exemple de sortie lorsque l'activation est en cours.
Master status KMS feature enablement in progress.Exemple de sortie lorsque le maître est prêt.
Master status ReadyUne fois que le fournisseur KMS est activé dans le cluster, tous les secrets de cluster sont automatiquement chiffrés.
-
Facultatif : vérifiez que vos secrets sont chiffrés.
L'activation de la clé, qui est initiée par Red Hat OpenShift, signifie que le chiffrement passe à une nouvelle clé du fournisseur KMS. La rotation des clés, qui est initiée par le fournisseur KMS, signifie que le chiffrement passe à une nouvelle version de la clé existante. Ne supprimez aucune clé racine dans votre instance de KMS si elle a fait l'objet d'une rotation à partir du fournisseur de KMS. Une clé racine ne peut être supprimée que lorsqu'elle n'est plus utilisée. Par exemple, après avoir activé une nouvelle clé et vérifié que le cluster n'utilise plus l'ancienne clé, vous pouvez supprimer cette dernière. Si vous supprimez une clé racine utilisée par un cluster, le cluster devient inutilisable, perd toutes ses données et ne peut pas être récupéré. Lorsque vous faites pivoter une clé racine, vous ne pouvez pas réutiliser une clé racine précédente pour le même cluster. De même, si vous désactivez une clé racine, les opérations qui reposent sur des secrets de lecture échouent. Contrairement à la suppression d'une clé racine, vous pouvez toutefois réactiver une clé désactivée afin de rendre votre cluster à nouveau opérationnel.
Rotation de la clé racine pour votre cluster
Pour effectuer la rotation de la clé racine utilisée pour chiffrer votre cluster, répétez les étapes pour activer le chiffrement KMS. Lorsque vous faites pivoter une clé racine, vous ne pouvez pas réutiliser une clé racine précédente pour le même cluster.
Vous pouvez effectuer une rotation manuelle de la clé racine à partir de votre instance KMS. Cette action réactive automatiquement KMS dans votre cluster avec la nouvelle clé racine. Pour faire pivoter manuellement vos touches, voir Rotation des touches.
Vérification du chiffrement des secrets
Une fois que vous avez activé un fournisseur KMS dans votre cluster Red Hat OpenShift on IBM Cloud, vous pouvez vérifier que les secrets de votre cluster sont chiffrés en désactivant la clé racine. Lorsque vous désactivez la clé racine, le cluster ne peut plus déchiffrer les secrets et devient inutilisable, ce qui signifie que vos secrets étaient chiffrés.
Vérifiez que vous disposez du rôle d'accès à la plateforme Administrateur et du rôle d'accès au service Responsable pour IBM Cloud IAM pour le cluster.
-
Pour vous assurer que le chiffrement KMS est activé, vérifiez que le statut Key Management Service est défini sur
enableddans la sortie de la commande suivante.ibmcloud oc cluster get -c <cluster_name_or_ID> -
Vérifiez que vous pouvez afficher la liste des secrets de votre cluster.
oc get secrets --all-namespaces -
Dans votre instance KMS, désactivez la clé racine utilisé pour chiffrer votre cluster. Si vous avez chiffré votre cluster avec un KMS et un CRK d'un autre compte, le CRK ne peut être désactivé qu'à partir du compte où il se trouve.
-
Attendez que le cluster détecte la modification de votre clé racine.
-
Essayez de dresser la liste de vos secrets. Vous obtenez une erreur de temporisation car vous ne pouvez plus vous connecter à votre cluster. Si vous tentez de définir le contexte de votre cluster en exécutant
ibmcloud oc cluster config, la commande échoue.oc get secrets --all-namespacesExemple de sortie
Unable to connect to the server: dial tcp 169.48.110.250:32346: i/o timeout -
Vérifiez que votre cluster est à l'état avertissement. Votre cluster reste dans cet état et est inutilisable tant que vous n'avez pas réactivé votre clé racine.
ibmcloud oc cluster get -c <cluster_name_or_ID> -
Dans votre instance KMS, activez la clé racine afin que votre cluster revienne à un état normal et soit à nouveau opérationnel.