Utilisation du protocole d'interopérabilité de la gestion des clés (KMIP)
IBM® Key Protect for IBM Cloud® offre une prise en charge native du protocole d'interopérabilité de gestion des clés (KMIP), ce qui vous permet de créer des adaptateurs KMIP et de charger des certificats directement via la console Key Protect.
Cette solution décrit l'architecture de prise en charge native du protocole KMIP d' Key Protect, destinée à protéger vos instances VMware®. La prise en charge native du protocole KMIP d' Key Protect s'associe au chiffrement natif VMware vSphere et au chiffrement vSAN™ pour offrir une gestion simplifiée du chiffrement du stockage, tout en garantissant la sécurité et la flexibilité des clés gérées par le client IBM Cloud® Key Protect.
Cette solution constitue une alternative à l'offre « KMIP pour VMware » disponible sur IBM Cloud. Ce document ne traite pas de la configuration de ces solutions de base. Pour plus d'informations sur l'architecture de la solution de base, consultez la présentation d' VMware Solutions.
Cette fonctionnalité fonctionne en parallèle avec la solution KMIP actuelle pour VMware. Il n'est pas possible d'importer des adaptateurs créés avec la solution « VMware » dans « Key Protect », ni l'inverse.
Avantages
Key Protect La prise en charge native du protocole KMIP offre les avantages suivants :
- VMware certification
- La prise en charge du protocole KMIP dans « Key Protect » est certifiée par l' VMware et peut être directement intégrée à tout service ou toute plateforme prenant en charge le chiffrement via un serveur KMS KMIP. La prise en charge du protocole KMIP est intégrée et gérée par Key Protect, ce qui rend inutile le recours à un support technique tiers pour le serveur KMIP.
- Chiffrement au niveau de l'hyperviseur
- L'intégration avec les solutions de chiffrement « VMware » ( vSAN ) et « vSphere » ( ) permet d'effectuer le chiffrement au niveau de l'hyperviseur plutôt qu'au niveau du stockage ou de la machine virtuelle. Cette approche simplifie la gestion et apporte de la transparence à votre solution de stockage et à votre application.
- Service entièrement géré
- Le serveur de gestion des clés est entièrement géré et disponible dans de nombreuses régions multizones (MZR) d' IBM Cloud.
- Clés gérées par le client
- Vous conservez le contrôle total de vos clés de chiffrement et pouvez les révoquer à tout moment.
- Rentable
- Les clés symétriques KMIP sont facturées à l'unité, vous ne payez donc que ce que vous utilisez.
Création d'un adaptateur
Un maximum de 200 adaptateurs peut être créé sur une seule instance. Chaque adaptateur peut être associé à un maximum de 200 certificats.
Les adaptateurs KMIP sont créés à l'aide de Key Protect clés racines. Si vous n'avez pas de clé racine, créez-en une.
Avant de commencer, assurez-vous de disposer du rôle « Manager » ou du rôle « KmipAdapterManager » sur l'instance.
Pour créer un adaptateur :
-
Dans le menu de navigation, cliquez sur « Adaptateurs KMIP ». S'il s'agit de votre premier adaptateur, le tableau est vide.
-
Cliquez sur Créer.
-
Dans l'encadré latéral, veuillez indiquer les informations suivantes :
- Nom- Saisissez un nom pour l'adaptateur (2 à 40 caractères).
- Description (facultatif)- Saisissez une description pour l'adaptateur (2 à 240 caractères).
- Clé racine: sélectionnez la clé racine à utiliser pour cet adaptateur. La clé racine chiffre les clés KMIP générées par l'adaptateur. Votre clé racine doit être en état «
active» pour que votre adaptateur fonctionne correctement.
-
Facultatif : ajoutez un certificat public TLS afin de permettre au détenteur du certificat privé correspondant de communiquer avec Key Protect via l'adaptateur KMIP. Seuls les certificats autorisés peuvent envoyer des requêtes via le protocole KMIP à votre instance.
Pour ajouter un certificat :
- Cliquez sur Ajouter.
- Saisissez un nom pour le certificat.
- Saisissez le contenu du certificat au format PEM, en incluant les balises
BEGIN CERTIFICATEetEND CERTIFICATE. - Cliquez sur « Ajouter un certificat ».
L'association des certificats peut prendre quelques minutes. Un certificat ne peut être associé qu'à un seul adaptateur dans une région d' Key Protect.
Les ressources gérées via le protocole KMIP ne sont pas accessibles via l'API HTTP.
Veillez à protéger la clé privée de tous les certificats que vous téléchargez. Tout certificat téléchargé vers un adaptateur KMIP permet d'effectuer toutes les opérations KMIP prises en charge.
Configuration d'un client KMIP pour communiquer avec un adaptateur
Pour communiquer avec votre adaptateur, vous devez soit configurer VMware, soit créer un client KMIP capable de communiquer via TCP avec mTLS et d'envoyer des messages au format TTLV, comme décrit dans les spécifications KMIP.
Pour plus d' VMware vSphere s, suivez les étapes décrites dans la section « Ajouter un fournisseur de clés standard à l'aide du client vSphere ». Lorsque vous ajoutez un fournisseur de clés standard, utilisez le point de terminaison Key Protect correspondant à la région de votre instance. Par exemple, pour une instance d'
Key Protect située dans la région us-south, utilisez l'adresse us-south.kms.cloud.ibm.com et le port 5696.
Le client « vSphere » doit télécharger son certificat client vers l'adaptateur pour pouvoir communiquer avec l'adaptateur KMIP. Suivez les étapes décrites dans la section « Utilisation de l'option de certificat pour établir une connexion de confiance avec un fournisseur de clés standard » afin de télécharger le certificat client, puis téléchargez-le sur l'adaptateur.
Accorder l'accès à KMIP
Examinez les rôles et droits d'accès pour découvrir la manière dont les rôles IBM Cloud IAM sont mappés aux actions Key Protect.
Les actions IAM suivantes régissent les ressources qui seront utilisées pour gérer l'accès aux ressources KMIP :
kms.kmip-management.createkms.kmip-management.listkms.kmip-management.readkms.kmip-management.delete
Chaque action accorde le comportement mentionné à toutes les ressources kmip_adapter certificate et kmip_object de l'instance, sans granularité.
Affichage et mise à jour des détails de l'adaptateur
Le panneau de détails de l'adaptateur affiche des informations sur un adaptateur et vous permet d'effectuer des actions telles que l'ajout de certificats.
Pour consulter les détails de l'adaptateur :
- Cliquez sur le menu d'actions (⋯) de l'adaptateur.
- Sélectionnez « Détails ».
Le panneau de détails affiche le nom de l'adaptateur, sa description, les clés symétriques KMIP associées et les certificats téléchargés. Vous pouvez également importer des certificats supplémentaires à partir de ce panneau.
Les clés symétriques KMIP ne peuvent pas être supprimées via la console. Pour supprimer des clés, utilisez l'interface de ligne de commande(CLI).
Seules les clés symétriques KMIP qui ne sont pas dans l'état « Active » (état 1) peuvent être supprimées. Vous ne pouvez pas supprimer un adaptateur s'il contient des clés dont l'état est « Active ».
Les ressources de chaque adaptateur sont protégées par une clé racine. Vous ne pouvez pas supprimer une clé racine active et associée à un adaptateur.
Chaque clé symétrique KMIP créée compte pour une seule version de clé et entraîne des frais pour une version de clé. La suppression d'une clé symétrique KMIP est définitive.
Objets et opérations pris en charge par KMIP
Reportez-vous à Result Reason dans la documentation KMIP Version 1.4 pour connaître les raisons des échecs attendus, tels qu'une demande contre une opération non prise en charge.
Opérations prises en charge par KMIP
Seules les opérations suivantes sont prises en charge.
| Section | Opération | Summary |
|---|---|---|
| 4.1 | Créer | Crée un objet KMIP. |
| 4.9 | Localiser | Recherche les objets correspondant aux critères ou aux métadonnées d'attribut indiqués. |
| 4.11 | Get | Récupère les informations relatives à l'objet, notamment la clé « material ». |
| 4.12 | Obtenir des attributs | Récupère les métadonnées relatives aux attributs de l'objet. |
| 4.14 | Ajout d'attributs | Ajoute des métadonnées d'attribut à l'objet. |
| 4.19 | Activer | Met l'objet à l'état « Actif ». L'objet ne peut pas être détruit tant qu'il est à l'état actif. |
| 4.20 | Révoquer | Définit l'objet sur l'état « Compromis » si le code de motif de révocation est « Compromission de la clé » ou « Compromission de l'autorité de certification ». Sinon, l'objet passe à l'état « Désactivé ». |
| 4.21 | Détruire | Détruit le matériel de clé de l'objet. Cette action n'est pas réversible. |
| 4.26 | Découvrez les versions | Demande au serveur les versions du protocole KMIP prises en charge. Seul « v1.4 » est renvoyé. |
Objets pris en charge
| Section | Objet |
|---|---|
| 2.2 | Clé symétrique |
Création et utilisation d'adaptateurs KMIP dans l'API
Cette section décrit comment utiliser les adaptateurs KMIP du profil « native_1.0 » avec l'API, notamment comment ajouter et supprimer des certificats client KMIP, ainsi que comment afficher et supprimer des objets KMIP.
Vous pouvez créer un adaptateur KMIP en effectuant un appel « POST » vers le point de terminaison suivant.
https://<region>.kms.cloud.ibm.com/api/v2/kmip_adapters
Les opérations sur les sous-ressources de l'adaptateur KMIP, y compris les certificats des clients KMIP et les objets KMIP, se feront dans les points de terminaison suivants :
https://<region>.kms.cloud.ibm.com/api/v2/kmip_adapters/<adapter_name_or_ID>/certificates
https://<region>.kms.cloud.ibm.com/api/v2/kmip_adapters/<adapter_name_or_ID>/kmip_objects
-
Extrayez les données d'authentification afin d'utiliser les clés dans le service.
-
Copiez l'ID de la clé racine que vous souhaitez utiliser pour créer votre adaptateur KMIP.
Vous pouvez trouver l'ID d'une clé dans votre instance Key Protect enextrayant une liste de vos clés ou en accédant au tableau de bord Key Protect tableau de bord.
-
Créez un adaptateur KMIP avec la commande suivante
curl:$ curl -X POST \ "https://<region>.kms.cloud.ibm.com/api/v2/kmip_adapters" \ -H "accept: application/vnd.ibm.kms.kmip_adapter+json" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>" \ -H "content-type: application/vnd.ibm.kms.kmip_adapter+json" \ -d '{ "metadata": { "collectionType": "application/vnd.ibm.kms.kmip_adapter+json", "collectionTotal": 1 }, "resources": [ { "name": "<adapter_name>", "description": "<adapter_description>", "profile": "native_1.0", "profile_data": { "crk_id": "<root_keyID_or_alias>" } } ] }'Remplacez les variables de l'exemple de demande conformément au tableau suivant :
| Variable | Description |
|---|---|
| région | Obligatoire. L'abréviation de la région, telle que us-south ou eu-gb, qui désigne la zone géographique où se trouve votre instance Key Protect.Pour plus d'informations, voir Points d'extrémité de service. |
| root_keyID_or_alias | Obligatoire. L'identifiant unique ou l'alias de la clé racine que vous souhaitez utiliser pour l'adaptateur. |
| IAM_token | Obligatoire. Votre jeton d'accès IBM Cloud. Incluez le contenu complet du jeton IAM, notamment la valeur Bearer, dans la requête curl. Pour plus d'informations, consultez la section « Récupération d'un jeton d'accès ». |
| instance_ID | Obligatoire. Identificateur unique affecté à votre instance de service Key Protect. Pour plus d'informations, consultez la section « Récupération d'un identifiant d'instance ». |
| nom de l'adaptateur | Facultatif. Nom lisible par l'homme de l'adaptateur KMIP, unique dans l'instance kms. Si aucun n'est spécifié, un sera autogénéré au format kmip_adapter_<random_string>. Afin de protéger votre vie privée,
n'utilisez pas de données personnelles, telles que votre nom ou votre localisation, comme nom pour votre adaptateur KMIP. Le nom doit être alphanumérique et ne peut contenir d'espaces ou de caractères spéciaux autres que - ou _. Le nom
ne peut pas être un UUID. |
| description_adaptateur | Optionnel La description de l'adaptateur KMIP. La longueur maximale est de 240 caractères. Afin de protéger votre vie privée, n'utilisez pas de données personnelles, telles que votre nom ou votre localisation, comme description de votre adaptateur KMIP. |
-
Facultatif : vous pouvez dresser la liste des adaptateurs KMIP qui existent dans une instance avec la commande suivante
curl:$ curl -X GET \ "https://<region>.kms.cloud.ibm.com/api/v2/kmip_adapters" \ -H "accept: application/vnd.ibm.kms.kmip_adapter+json" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>" \ -H "content-type: application/vnd.ibm.kms.kmip_adapter+json"Vous pouvez également obtenir un adaptateur KMIP spécifique en utilisant la commande suivante
curl:$ curl -X GET \ "https://<region>.kms.cloud.ibm.com/api/v2/kmip_adapters/<adapter_name_or_ID>" \ -H "accept: application/vnd.ibm.kms.kmip_adapter+json" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>" \ -H "content-type: application/vnd.ibm.kms.kmip_adapter+json"Notez que vous pouvez utiliser soit l'UUID de l'adaptateur, soit son nom pour obtenir un adaptateur spécifique.
-
Vous pouvez supprimer un adaptateur KMIP avec la commande suivante
curl:$ curl -X DELETE \ "https://<region>.kms.cloud.ibm.com/api/v2/kmip_adapters/<adapter_name_or_ID>" \ -H "accept: application/vnd.ibm.kms.kmip_adapter+json" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>" \ -H "content-type: application/vnd.ibm.kms.kmip_adapter+json"Vous ne pouvez supprimer l'adaptateur KMIP que si tous les objets KMIP sous l'adaptateur sont supprimés.
Ajout d'un certificat client KMIP à un adaptateur KMIP
Une fois que vous avez créé un adaptateur KMIP, vous pouvez ajouter un certificat client KMIP à associer à cet adaptateur. Une fois le certificat enregistré, vous pouvez l'utiliser pour communiquer avec le serveur KMIP via le protocole mTLS, comme décrit dans les spécifications KMIP. L'enregistrement du certificat peut prendre jusqu'à cinq minutes. Les certificats doivent être uniques au sein d'une même région.
-
Extrayez les données d'authentification afin d'utiliser les clés dans le service.
-
Identifiez l'adaptateur KMIP auquel vous souhaitez ajouter votre certificat.
-
Ajoutez le certificat du client KMIP avec la commande suivante
curl:$ curl -X POST \ "https://<region>.kms.cloud.ibm.com/api/v2/kmip_adapters/<adapter_id>/certificates" \ -H "accept: application/vnd.ibm.kms.kmip_client_certificate+json" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>" \ -H "content-type: application/vnd.ibm.kms.kmip_client_certificate+json" \ -d '{ "metadata": { "collectionType": "application/vnd.ibm.kms.kmip_client_certificate+json", "collectionTotal": 1 }, "resources": [ { "certificate": "<certificate_pem>", "name": "<certificate_name>" } ] }'Remplacez les variables de l'exemple de demande conformément au tableau suivant :
| Variable | Description |
|---|---|
| région | Obligatoire. L'abréviation de la région, telle que us-south ou eu-gb, qui désigne la zone géographique où se trouve votre instance Key Protect.Pour plus d'informations, voir Points d'extrémité de service. |
| Adapter_ID | Obligatoire. L'identifiant unique ou le nom de l'adaptateur KMIP avec lequel vous voulez enregistrer le certificat. |
| IAM_token | Obligatoire. Votre jeton d'accès IBM Cloud. Incluez le contenu complet du jeton IAM, notamment la valeur Bearer, dans la requête curl. Pour plus d'informations, consultez la section « Récupération d'un jeton d'accès ». |
| instance_ID | Obligatoire. Identificateur unique affecté à votre instance de service Key Protect. Pour plus d'informations, consultez la section « Récupération d'un identifiant d'instance ». |
| certificat_pem | Exigé Le contenu du certificat du client KMIP. Il doit être au format x509 PEM. Doit comporter explicitement les balises BEGIN CERTIFICATE et END CERTIFICATE. |
| nom_certificat | Facultatif. Un nom lisible par l'homme qui identifie de manière unique un certificat dans l'adaptateur donné. Si aucun n'est spécifié, un sera autogénéré au format kmip_cert_<random_string>. Afin de
protéger votre vie privée, n'utilisez pas de données personnelles, telles que votre nom ou votre localisation, comme nom pour votre adaptateur KMIP. Le nom doit être alphanumérique et ne peut contenir d'espaces ou de caractères spéciaux
autres que - ou _. Le nom ne peut pas être un UUID. |
-
Facultatif : vous pouvez dresser la liste des certificats clients KMIP associés à un adaptateur avec la commande suivante
curl:$ curl -X GET \ "https://<region>.kms.cloud.ibm.com/api/v2/kmip_adapters/<adapter_id>/certificates" \ -H "accept: application/vnd.ibm.kms.kmip_client_certificate+json" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>"Vous pouvez également obtenir un certificat de client KMIP spécifique en utilisant la commande suivante
curl:$ curl -X POST \ "https://<region>.kms.cloud.ibm.com/api/v2/kmip_adapters/<adapter_id>/certificates/<certificate_name_or_id>" \ -H "accept: application/vnd.ibm.kms.kmip_client_certificate+json" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>"Notez que vous pouvez utiliser l'UUID ou le nom du certificat pour obtenir un adaptateur spécifique.
-
Vous pouvez supprimer un certificat de client KMIP à l'aide de la commande suivante
curl:$ curl -X DELETE \ "https://<region>.kms.cloud.ibm.com/api/v2/kmip_adapters/<adapter_name_or_ID>" \ -H "accept: application/vnd.ibm.kms.kmip_adapter+json" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>"Vous ne pouvez supprimer l'adaptateur KMIP que si tous les objets KMIP sous l'adaptateur sont supprimés.
Visualisation et suppression d'objets KMIP au sein d'un adaptateur
Les objets KMIP ne peuvent pas être créés via l'API REST, mais ils peuvent être consultés et supprimés.
-
Extrayez les données d'authentification afin d'utiliser les clés dans le service.
-
Identifiez l'adaptateur KMIP auquel vous souhaitez ajouter votre certificat.
-
Vous pouvez visualiser les objets KMIP dans un adaptateur KMIP à l'aide de la commande suivante
curl:$ curl -X GET \ "https://<region>.kms.cloud.ibm.com/api/v2/kmip_adapters/<adapter_id>/kmip_objects" \ -H "accept: application/vnd.ibm.kms.kmip_object+json" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>" -
Vous pouvez visualiser un objet KMIP spécifique dans un adaptateur KMIP à l'aide de la commande suivante
curl:$ curl -X GET \ "https://<region>.kms.cloud.ibm.com/api/v2/kmip_adapters/<adapter_id>/kmip_objects/<object_id>" \ -H "accept: application/vnd.ibm.kms.kmip_object+json" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>" -
Vous pouvez supprimer un objet KMIP spécifique dans un adaptateur KMIP à l'aide de la commande suivante
curl:$ curl -X DELETE \ "https://<region>.kms.cloud.ibm.com/api/v2/kmip_adapters/<adapter_id>/kmip_objects/<object_id>" \ -H "accept: application/vnd.ibm.kms.kmip_object+json" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>"où le
<object_id>est l'UUID de l'objet KMIP. Vous ne pouvez pas supprimer les objets KMIP dans l'état Actif (state=2).