IBM Cloud Docs
Utilisation du protocole d'interopérabilité de la gestion des clés (KMIP)

Utilisation du protocole d'interopérabilité de la gestion des clés (KMIP)

Afin de faciliter l'utilisation des clés IBM® Key Protect for IBM Cloud® pour créer des adaptateurs KMIP (Key Management Interoperability Protocol) à utiliser avec VMWare, Key Protect offre désormais directement la possibilité de créer des adaptateurs et de télécharger des certificats à l'aide du Key Protect plan de contrôle (UI).

Cette architecture de solution décrit l'architecture de support Key Protect Native KMIP pour protéger vos instances VMware®. De nombreuses options de chiffrement du stockage sont disponibles pour protéger votre charge de travail VMware. Key Protect La prise en charge native de KMIP fonctionne avec le VMware chiffrement natif vSphere et le vSAN™ chiffrement. Le chiffrement vSphere et vSAN offre une gestion simplifiée du chiffrement du stockage ainsi que la sécurité et la flexibilité des IBM Cloud® Key Protect clés gérées par le client.

Cette solution est une alternative à la solution KMIP pour VMWare proposée sur IBM Cloud. Par conséquent, ce document n'aborde pas la configuration existante de ces solutions de base dans IBM Cloud. Pour en savoir plus sur l'architecture des solutions de base, voir Présentation de VMware Solutions.

Cette fonctionnalité fonctionne en parallèle avec la solution actuelle KMIP pour VMWare. Il n'est actuellement pas possible d'importer des adaptateurs créés à l'aide de la solution VMWare dans Key Protect (ou vice versa).

Avantages

Bien que de nombreuses solutions de chiffrement du stockage soient disponibles pour votre charge de travail VMware, la prise en charge de Key Protect Native KMIP offre les avantages suivants :

  • La prise en charge de KMIP dans Key Protect est certifiée par VMWare et peut être directement intégrée à tout service ou plateforme acceptant le chiffrement via un serveur KMIP KMS. Là où d'autres KMS nécessitent le support d'un serveur KMIP tiers, le support KMIP est intégré et géré par Key Protect.
  • Intégration au chiffrement VMware vSAN et au chiffrement vSphere, lesquels sont implémentés dans la couche de l'hyperviseur et non dans la couche de stockage ou dans la couche de la machine virtuelle. Cette approche garantit une gestion facile et la transparence pour votre solution et application de stockage.
  • Serveur de gestion des clés entièrement géré et disponible dans de nombreuses régions IBM Cloud à zones multiples.
  • L'intégration de votre cluster VMware avec IBM Cloud Key Protect vous permet de disposer de clés entièrement gérées par le client et que vous pouvez révoquer à tout moment.
  • Comme les clés symétriques KMIP ne sont que des facturé en tant que version à clé unique, vous ne payez 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.

Pour créer un adaptateur :

  1. Naviguez vers le panneau KMIP Adapters en utilisant la navigation de gauche. S'il s'agit de votre premier adaptateur, le tableau doit être vide. Notez que vous devez avoir le rôle Manager ou le rôle KmipAdapterManager sur l'instance afin de créer un adaptateur.

  2. Trouvez le bouton Créer un adaptateur et cliquez dessus.

  3. Dans le panneau latéral ouvert, attribuez à l'adaptateur un Nom et, éventuellement, une Description. Notez que les noms doivent contenir au moins deux et pas plus de 40 caractères. Si vous choisissez de lui donner une description, celle-ci doit comporter au moins deux caractères et pas plus de 240. Une fois cette opération terminée, vous pouvez choisir la clé racine que vous souhaitez utiliser pour créer cet adaptateur et pour chiffrer les clés KMIP qu'il crée. Le choix d'une clé racine est obligatoire. Notez que votre clé racine doit être dans un état active pour que votre adaptateur fonctionne correctement.

  4. L'ajout d'un certificat TLS public permet au détenteur du certificat privé correspondant de communiquer avec Key Protect via son adaptateur KMIP associé. Seuls les certificats autorisés sous un adaptateur KMIP seront autorisés à effectuer des requêtes de protocole KMIP contre votre instance. Notez que les ressources gérées via le protocole KMIP ne sont pas accessibles via l'API HTTP.

    Bien qu'il ne soit pas nécessaire d'ajouter des certificats lors de la création de l'adaptateur, si vous savez quels certificats vous souhaitez ajouter, vous pouvez le faire en cliquant sur l'onglet Ajouter des certificats (facultatif) dans le tableau de bord. Dans l'écran qui s'affiche, cliquez sur le bouton Télécharger le certificat, donnez un nom au certificat et saisissez le contenu du certificat (le matériel doit être au format PEM et contenir les balises BEGIN CERTIFICATE et END CERTIFICATE). Notez que l'association du certificat peut prendre quelques minutes. En outre, un certificat ne peut être associé qu'à un seul adaptateur dans une région Key Protect.

Veillez à ce que la clé privée de tout certificat téléchargé soit sécurisée, car tout certificat téléchargé sur un adaptateur KMIP aura la capacité 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 installer VMWare (qui se chargera de vos communications avec votre client, une fois que vous lui aurez associé le certificat fourni par VMWare), soit avoir créé un client KMIP capable de communiquer sur TCP avec mTLS et d'envoyer des messages en utilisant le format de message TTLV tel que décrit dans les spécifications KMIP.

Pour VMWare vSphere, suivez les étapes décrites dans Ajouter un fournisseur de clés standard à l'aide du vSphere Client. Lors de l'ajout d'un fournisseur de clé standard, utilisez le Key Protect endpoint spécifique à la région de votre instance. Par exemple, pour l'instance Key Protect dans la région us-south, utilisez us-south.kms.cloud.ibm.com comme adresse et 5696 comme port, qui est la valeur par défaut pour le serveur KMIP.

Comme décrit à l'étape 4 ci-dessus, le client vSphere doit télécharger son certificat client dans l'adaptateur pour pouvoir communiquer avec l'adaptateur KMIP. Suivez les étapes décrites dans le guide Utiliser l'option de certificat pour établir une connexion de confiance avec un fournisseur de clés standard pour télécharger le certificat du client. Ce certificat peut être téléchargé dans 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 vous permet d'en savoir plus sur un adaptateur (par exemple, par le biais de sa description) et vous permet également d'effectuer des actions telles que l'ajout de certificats.

Pour afficher les détails de l'adaptateur, cliquez sur l'icône ⋯. Elle affiche tous les détails de l'adaptateur. Vous pouvez y voir son nom, sa description, les clés symétriques KMIP associées à l'adaptateur et les certificats qui ont été téléchargés vers lui. Vous pouvez également utiliser ce panneau pour télécharger d'autres certificats, si vous le souhaitez.

Les clés symétriques KMIP ne peuvent pas être supprimées à l'aide de l'interface utilisateur. Pour supprimer des clés, vous devez utiliser la CLI. Seules les clés symétriques KMIP qui se trouvent dans un état autre que l'état Active (état 1) peuvent être supprimées. Un adaptateur ne peut pas être supprimé s'il contient des clés qui sont dans l'état Active.

Les ressources de chaque adaptateur sont protégées par un CRK. Vous ne pouvez pas supprimer un CRK actif et associé à 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é. Si vous souhaitez supprimer une clé symétrique KMIP, vous ne pouvez le faire qu'à l'aide de l'API, de la CLI ou du SDK. Vous ne pouvez pas utiliser l'interface utilisateur. Il est à noter que la suppression d'un symétrique KMIP est permanente.

Objets et opérations pris en charge par KMIP

Voir Result Reason dans la documentation de la version KMIP 1.4 pour 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 ces opérations sont prises en charge.

| Opération | Résumé | - | - | - | | Créer un objet KMIP - Créer un objet KMIP - Créer un objet KMIP - Créer un objet KMIP - Créer un objet KMIP - Créer un objet KMIP - Créer un objet KMIP - Créer un objet KMIP - Créer un objet KMIP - Créer un objet KMIP | Récupérer des informations sur l'objet, en particulier le matériau de la clé. | 4.12 | Obtenir des attributs | Récupérer les métadonnées d'attributs de l'objet. 4.14 | Ajouter un attribut | Ajouter des métadonnées d'attribut à l'objet. | 4.19 | Activer | Place l'objet dans un état "actif". L'objet ne peut pas être détruit tant que l'état est actif. | Revoke | Place l'objet dans un état "Compromis", si le code de motif de révocation donné est "Key Compromise" ou "CA Compromise". Dans le cas contraire, l'objet est placé dans l'état "désactivé". | Détruire | Détruit le matériau clé de l'objet. Cette action est irréversible 4.26 | Découvrir les versions | Demande au serveur les versions du protocole KMIP prises en charge. Seul v1.4 sera renvoyé. | Localiser | Recherche d'objets correspondant aux critères donnés ou aux métadonnées d'attributs.

Objets pris en charge

| Objet | - | - | 2.2 | Clé symétrique

Création et utilisation d'adaptateurs KMIP dans l'API

Il s'agit d'utiliser des adaptateurs KMIP de profil native_1.0 à l'aide de l'API, d'ajouter et de supprimer des certificats clients KMIP de l'adaptateur, puis d'afficher et de supprimer des objets KMIP associés à l'adaptateur.

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 représente la zone géographique où réside 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, voir 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, voir 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>. Pour protéger votre vie privée, n'utilisez pas de données personnelles, telles que votre nom ou votre lieu de résidence, comme nom de 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. Pour protéger votre vie privée, n'utilisez pas de données personnelles, telles que votre nom ou votre lieu de résidence, 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

Maintenant qu'un adaptateur KMIP a été créé, vous pouvez ajouter un certificat client KMIP à associer à l'adaptateur KMIP. Une fois qu'un certificat a été enregistré, vous pouvez l'utiliser pour communiquer avec le serveur KMIP avec mTLS comme décrit dans les spécifications KMIP. Il peut s'écouler jusqu'à cinq minutes entre l'enregistrement du certificat et son utilisation par le serveur KMIP. 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 représente la zone géographique où réside 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, voir 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, voir 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>. Pour protéger votre vie privée, n'utilisez pas de données personnelles, telles que votre nom ou votre lieu de résidence, comme nom de 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).