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 :

  1. Dans le menu de navigation, cliquez sur « Adaptateurs KMIP ». S'il s'agit de votre premier adaptateur, le tableau est vide.

  2. Cliquez sur Créer.

  3. 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.
  4. 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 :

    1. Cliquez sur Ajouter.
    2. Saisissez un nom pour le certificat.
    3. Saisissez le contenu du certificat au format PEM, en incluant les balises BEGIN CERTIFICATE et END CERTIFICATE.
    4. 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.create
  • kms.kmip-management.list
  • kms.kmip-management.read
  • kms.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 :

  1. Cliquez sur le menu d'actions (⋯) de l'adaptateur.
  2. 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.

Opérations KMIP 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

Objets KMIP 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
  1. Extrayez les données d'authentification afin d'utiliser les clés dans le service.

  2. 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.

  3. 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 :

Décrit les variables nécessaires pour créer un adaptateur KMIP dans Key Protect
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.
  1. 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.

  2. 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.

  1. Extrayez les données d'authentification afin d'utiliser les clés dans le service.

  2. Identifiez l'adaptateur KMIP auquel vous souhaitez ajouter votre certificat.

  3. 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 :

Décrit les variables nécessaires à la création d'un certificat client KMIP dans Key Protect
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.
  1. 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.

  2. 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.

  1. Extrayez les données d'authentification afin d'utiliser les clés dans le service.

  2. Identifiez l'adaptateur KMIP auquel vous souhaitez ajouter votre certificat.

  3. 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>"
    
  4. 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>"
    
  5. 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).