Affichage des associations entre les clés racine et les ressources d'IBM Cloud chiffrées

Vous pouvez afficher les associations entre les clés racine et d'autres ressources de cloud, telles que les compartiments Cloud Object Storage ou les déploiements Cloud Databases, à l'aide de l'API IBM Key Protect.

Lorsque vous utilisez une clé racine pour protéger les données au repos avec le chiffrement d'enveloppes, les services cloud qui utilisent la clé peuvent créer un enregistrement entre la clé et la ressource qu'elle protège.

Les enregistrements sont des associations entre des clés et des ressources cloud qui vous aident à obtenir une vue complète des clés de chiffrement qui protègent les données sur IBM Cloud.

Décrit les avantages de l'enregistrement des clés.
Avantage Description
Vue centralisée des ressources protégées En tant qu'administrateur de votre instance Key Protect, vous voulez savoir rapidement quelles ressources de cloud sont protégées par une clé racine.
Sécurité et conformité En tant qu'administrateur de la sécurité, vous devez trouver un moyen de déterminer le risque associé à la destruction d'une clé racine.
Vous souhaitez déterminer quelles clés protègent activement telles ou telles données pour pouvoir évaluer les risques en fonction des besoins de sécurité ou de conformité de votre organisation.

L'enregistrement des clés est une fonctionnalité supplémentaire qui n'est disponible que si le service cloud l'a activée dans le cadre de son intégration avec Key Protect. Pour savoir si un service intégré prend en charge l'enregistrement des clés, reportez-vous à sa documentation pour obtenir plus d'informations.

Affichage des ressources protégées dans la console

Vous pouvez parcourir les enregistrements disponibles entre vos clés Key Protect et les ressources cloud à l'aide de la console Key Protect IBM Cloud.

Affichage des ressources protégées dans votre instance

  1. Connectez-vous à la console IBM Cloud.

  2. Accédez à Menu > Liste de ressources pour afficher la liste de vos ressources.

  3. Dans la liste de ressources IBM Cloud, sélectionnez votre instance Key Protect mise à disposition.

  4. Sélectionnez le lien Associated resources dans le menu de gauche.

  5. Sur la page Ressources associées, utilisez le tableau Ressources associées pour parcourir les enregistrements de votre service.

  6. Cliquez sur l'icône ^ sous la colonne Details pour afficher une liste des détails d'un enregistrement spécifique.

  7. Cliquez sur le bouton Filter pour filtrer les ressources par ID de clé, nom de ressource de cloud et règle de conservation.

Affichage des ressources protégées associées à votre clé

  1. Connectez-vous à la console IBM Cloud.

  2. Accédez à Menu > Liste de ressources pour afficher la liste de vos ressources.

  3. Dans la liste de ressources IBM Cloud, sélectionnez votre instance Key Protect mise à disposition.

  4. Sur la page des détails de l'application, parcourez les clés de votre service dans le tableau Clés.

  5. Cliquez sur l'icône ⋯ pour ouvrir une liste d'options pour la clé.

  6. Dans le menu d'options, cliquez sur Ressources associées pour afficher les enregistrements associés de la clé.

Affichage des ressources protégées à l'aide de l'API

Vous pouvez parcourir les enregistrements disponibles entre les clés Key Protect et les ressources cloud à l'aide de l'API Key Protect.

Par exemple, lorsque vous appelez GET api/v2/keys/{id}/registrations, Key Protect renvoie des détails sur l'enregistrement de clé. La sortie JSON ci-après représente un enregistrement entre une clé et une ressource de cloud.

{
    "metadata": {
        "collectionType": "application/vnd.ibm.kms.registration+json",
        "collectionTotal": 1
    },
    "resources": [
        {
            "keyId": "02fd6835-6001-4482-a892-13bd2085f75d",
            "resourceCrn": "crn:v1:bluemix:public:<service-name>:<region>:a/<account-id>:<service-instance>:bucket:<bucket-name>",
            "createdBy": "IBMid-25555555",
            "creationDate": "2010-01-12T05:23:19+0000",
            "updatedBy": "IBMid-25555555",
            "lastUpdated": "2010-01-12T05:23:19+0000",
            "description": "A description of the registration",
            "preventKeyDeletion": true,
            "keyVersion": {
                "id": "02fd6835-6001-4482-a892-13bd2085f75d",
                "creationDate": "2010-01-12T05:23:19+0000"
            }
        }
    ]
}

Le tableau ci-après décrit les propriétés d'un enregistrement.

Propriétés associées à un enregistrement.
Paramètre Description
keyID ID qui identifie la clé racine associée à la ressource de cloud.
resourceCrn Nom de ressource de cloud (CRN) qui représente la ressource de cloud, telle qu'un compartiment Cloud Object, associée à la clé.
createdBy Identificateur unique de la ressource qui a créé l'enregistrement.
creationDate Date de création de l'enregistrement.
lastUpdated Date de mise à jour de l'enregistrement.
description Description de l'enregistrement.
preventKeyDeletion Valeur booléenne qui détermine si Key Protect doit empêcher la suppression de la clé racine. Si la valeur est true, la ressource associée n'est pas effaçable en raison d'une règle de conservation et la clé Key Protect de chiffrement de la ressource ne peut pas être supprimée.
keyVersion Version de la clé racine qui protège la ressource de cloud.

Liste des enregistrements d'une clé racine spécifique

Vous pouvez extraire les détails d'enregistrement associés à une clé racine spécifique en effectuant un appel GET vers le noeud final ci-après.

https://<region>.kms.cloud.ibm.com/api/v2/keys/<keyID_or_alias>/registrations
  1. Extrayez vos données d'authentification pour pouvoir utiliser l'API.

  2. Affichez les enregistrements associés à une clé racine en exécutant la commande curl suivante.

    $ curl -X GET \
        "https://<region>.kms.cloud.ibm.com/api/v2/keys/<keyID_or_alias>/registrations" \
        -H "authorization: Bearer <IAM_token>" \
        -H "bluemix-instance: <instance_ID>"
    

    Remplacez les variables de l'exemple de demande conformément au tableau suivant :

Décrit les variables nécessaires pour répertorier tous les enregistrements associés à une clé racine.
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, consultez la section « Points de terminaison des services régionaux ».
keyID_or_alias Obligatoire. L'identifiant ou l'alias de la clé racine associée aux ressources cloud que vous souhaitez consulter.

Pour plus d'informations, voir Clés de vue.
IAM_token Obligatoire. Votre jeton d'accès IBM Cloud. Incluez le contenu complet du jeton IAM, y compris la valeur Bearer, dans la demande 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 ».

Une demande GET api/v2/keys/<keyID_or_alias>/registrations réussie renvoie une collection d'enregistrements mappés à l'ID de clé spécifié.

{
    "metadata": {
        "collectionType": "application/vnd.ibm.kms.registration+json",
        "collectionTotal": 2
    },
    "resources": [
        {
            "keyId": "12e8c9c2-a162-472d-b7d6-8b9a86b815a6",
            "resourceCrn": "crn:v1:bluemix:public:cloud-object-storage:global:a/<account-id>:<service-instance>:bucket:<bucket-name>",
            "createdBy": "IBMid-25555555",
            "creationDate": "2010-01-12T05:23:19+0000",
            "updatedBy": "IBMid-25555555",
            "lastUpdated": "2010-01-12T05:23:19+0000",
            "description": "A description of the registration",
            "preventKeyDeletion": true,
            "keyVersion": {
                "id": "12e8c9c2-a162-472d-b7d6-8b9a86b815a6",
                "creationDate": "2010-01-12T05:23:19+0000"
            }
        },
        {
            "keyId": "2291e4ae-a14c-4af9-88f0-27c0cb2739e2",
            "resourceCrn": "crn:v1:bluemix:public:cloud-object-storage:global:a/<account-id>:<service-instance>:bucket:<other-bucket-name>",
            "createdBy": "IBMid-25555555",
            "creationDate": "2010-01-12T05:23:19+0000",
            "updatedBy": "IBMid-25555555",
            "lastUpdated": "2010-01-12T05:23:19+0000",
            "description": "A description of the registration",
            "preventKeyDeletion": true,
            "keyVersion": {
                "id": "2291e4ae-a14c-4af9-88f0-27c0cb2739e2",
                "creationDate": "2010-01-12T05:23:19+0000"
            }
        }
    ]
}

La valeur resourceCrn représente l'identificateur unique de la ressource de cloud chiffrée par keyId. Les métadonnées associées à l'enregistrement, telles que sa date de création, sont également renvoyées dans le corps de la réponse.

Par défaut, GET api/v2/keys/registrations renvoie les 200 premiers enregistrements, mais vous pouvez ajuster cette limite à l'aide du paramètre limit au moment de la demande.

Filtrage des enregistrements d'une clé racine spécifique

Vous pouvez filtrer un ensemble d'enregistrements associés à une clé racine en spécifiant l' preventKeyDeletion et urlEncodedResourceCRNQuery au moment de la requête.

Par exemple, vous pouvez avoir 25 enregistrements totaux stockés dans votre instance Key Protect, mais souhaiter uniquement extraire les enregistrements dont la règle de conservation est associée à un nom de ressource de cloud (CRN) spécifique.

Vous pouvez utiliser l'exemple de demande suivant pour extraire un ensemble filtré d'enregistrements :

$ curl -X GET \
    "https://<region>.kms.cloud.ibm.com/api/v2/keys/<keyID_or_alias>/registrations?preventKeyDeletion=<true|false>&urlEncodedResourceCRNQuery=<url_encoded_CRN>" \
    -H "accept: application/vnd.ibm.collection+json" \
    -H "authorization: Bearer <IAM_token>" \
    -H "bluemix-instance: <instance_ID>"

Remplacez les variables preventKeyDeletion et urlEncodedResourceCRNQuery dans votre demande conformément au tableau suivant :

Décrit les variables preventKeyDeletion et urlEncodedResourceCRNQuery
Variable Description
preventKeyDeletion Valeur booléenne qui filtre les enregistrements selon qu'une ressource enregistrée possède une règle de conservation.

Par exemple, si votre instance contient plusieurs inscriptions et que vous souhaitez n'afficher que celles pour lesquelles la valeur de « preventKeyDeletion » est « true », utilisez « ../registrations?preventKeyDeletion=true ».

Vous pouvez également associer preventKeyDeletion à offset, limit et urlEncodedResourceCRNQuery pour effectuer une recherche dans vos ressources disponibles.
urlEncodedResourceCRNQuery CRN de ressource via lequel vous souhaitez filtrer des enregistrements.

Par exemple, si votre instance contient plusieurs inscriptions et que vous souhaitez afficher uniquement celles associées à un nom de ressource cloud (CRN) spécifique, utilisez ../registrations?urlEncodedResourceCRNQuery="url_encoded_CRN".

Pour plus d'informations, consultez les exemples de requêtes CRN.

Vous pouvez également associer urlEncodedResourceCRNQuery à offset, limit et preventKeyDeletion pour effectuer une recherche dans vos ressources disponibles.

Vous pouvez également filtrer un sous-ensemble d'enregistrements en spécifiant limit et offset au moment de la requête.

Vous pouvez utiliser l'exemple de demande suivant pour extraire un ensemble filtré d'enregistrements :

$ curl -X GET \
    "https://<region>.kms.cloud.ibm.com/api/v2/keys/<keyID_or_alias>/registrations?offset=<offset>&limit=<limit>" \
    -H "accept: application/vnd.ibm.collection+json" \
    -H "authorization: Bearer <IAM_token>" \
    -H "bluemix-instance: <instance_ID>"

Remplacez les variables limit et offset dans votre demande conformément au tableau suivant :

Décrit les variables de limite et de décalage.
Variable Description
position Nombre d'enregistrements à ignorer.

Par exemple, si votre instance compte 50 inscriptions et que vous souhaitez afficher les inscriptions numérotées de 26 à 50, utilisez l'URL suivante : ../registrations?offset=25.

Vous pouvez également associer un décalage à une limite pour parcourir vos ressources disponibles.
limit Nombre d'enregistrements à extraire.

Par exemple, si votre instance contient 100 inscriptions et que vous souhaitez n'afficher que 10 d'entre elles, utilisez l'URL suivante : ../registrations?limit=10. La valeur maximale pour la limite est 5000.

Vous pouvez également associer un décalage à une limite pour parcourir vos ressources disponibles.

Liste des enregistrements de toute clé racine

Vous pouvez également extraire une liste des enregistrements associés à toute ressource de cloud en effectuant un appel GET vers le noeud final ci-après.

https://<region>.kms.cloud.ibm.com/api/v2/keys/registrations
  1. Extrayez vos données d'authentification pour pouvoir utiliser l'API.

  2. Affichez les enregistrements correspondant à une demande CRN que vous indiquez en exécutant la commande curl suivante.

    $ curl -X GET \
        "https://<region>.kms.cloud.ibm.com/api/v2/keys/registrations" \
        -H "authorization: Bearer <IAM_token>" \
        -H "bluemix-instance: <instance_ID>"
    

    Remplacez les variables de l'exemple de demande conformément au tableau suivant :

Décrit les variables nécessaires pour afficher la liste des enregistrements associés à n'importe quelle clé de votre instance d' 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, consultez la section « Points de terminaison des services régionaux ».
IAM_token Obligatoire. Votre jeton d'accès IBM Cloud. Incluez le contenu complet du jeton IAM, y compris la valeur Bearer, dans la demande 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 ».

Filtrage des enregistrements de n'importe quelle clé racine

Vous pouvez filtrer un ensemble d'enregistrements associés à une clé racine gérée dans votre instance mise à disposition de Key Protect en spécifiant preventKeyDeletion et urlEncodedResourceCRNQuery au moment de la requête.

Par exemple, vous pouvez avoir 25 enregistrements totaux stockés dans votre L'instance Key Protect, mais vous pouvez avoir besoin d'extraire uniquement les enregistrements dont la règle de conservation est associée à un nom de ressource de cloud spécifique (CRN).

Vous pouvez utiliser l'exemple de demande suivant pour extraire un ensemble spécifique d'enregistrements :

$ curl -X GET \
    "https://<region>.kms.cloud.ibm.com/api/v2/keys/registrations?preventKeyDeletion=<true|false>&urlEncodedResourceCRNQuery=<url_encoded_CRN>" \
    -H "accept: application/vnd.ibm.collection+json" \
    -H "authorization: Bearer <IAM_token>" \
    -H "bluemix-instance: <instance_ID>"

Remplacez les variables preventKeyDeletion et urlEncodedResourceCRNQuery dans votre demande conformément au tableau suivant :

Décrit les variables preventKeyDeletion et urlEncodedResourceCRNQuery
Variable Description
preventKeyDeletion Valeur booléenne qui filtre les enregistrements selon qu'une ressource enregistrée possède une règle de conservation.

Par exemple, si votre instance contient plusieurs inscriptions et que vous souhaitez n'afficher que celles pour lesquelles la valeur de « preventKeyDeletion » est « true », utilisez « ../registrations?preventKeyDeletion=true ».

Vous pouvez également associer preventKeyDeletion à offset, limit et urlEncodedResourceCRNQuery pour effectuer une recherche dans vos ressources disponibles.
urlEncodedResourceCRNQuery CRN de ressource via lequel vous souhaitez filtrer des enregistrements.

Par exemple, si votre instance contient plusieurs inscriptions et que vous souhaitez afficher uniquement celles qui sont associées à un nom de ressource cloud (CRN) spécifique, utilisez ../registrations?urlEncodedResourceCRNQuery="url_encoded_CRN".

Pour plus d'informations, consultez les exemples de requêtes CRN.

Vous pouvez également associer urlEncodedResourceCRNQuery à offset, limit et preventKeyDeletion pour effectuer une recherche dans vos ressources disponibles.

Vous pouvez également filtrer un sous-ensemble d'enregistrements en spécifiant limit et offset au moment de la requête.

Vous pouvez utiliser l'exemple de demande suivant pour extraire un ensemble différent d'enregistrements :

$ curl -X GET \
    "https://<region>.kms.cloud.ibm.com/api/v2/keys/registrations?offset=<offset>&limit=<limit>" \
    -H "accept: application/vnd.ibm.collection+json" \
    -H "authorization: Bearer <IAM_token>" \
    -H "bluemix-instance: <instance_ID>"

Remplacez les variables limit et offset dans votre demande conformément au tableau suivant :

Décrit les variables de limite et de décalage.
Variable Description
position Nombre d'enregistrements à ignorer.

Par exemple, si votre instance compte 50 inscriptions et que vous souhaitez afficher les inscriptions numérotées de 26 à 50, utilisez l'URL suivante : ../registrations?offset=25.

Vous pouvez également associer un décalage à une limite pour parcourir vos ressources disponibles.
limit Nombre d'enregistrements à extraire.

Par exemple, si votre instance contient 100 inscriptions et que vous souhaitez n'afficher que 10 d'entre elles, utilisez l'URL suivante : ../registrations?limit=10. La valeur maximale pour la limite est 5000.

Vous pouvez également associer un décalage à une limite pour parcourir vos ressources disponibles.

Exemples de requête CRN

Utilisez les requêtes CRN encodées d'URL pour filtrer les enregistrements par instance Key Protect, type de ressource ou nom de ressource. Pour en savoir plus sur les segments et le format des CRN, consultez la section « Noms des ressources cloud ».

Services Cloud qui utilisent Key Protect pour associer des clés à des ressources en votre nom peuvent uniquement afficher ou rechercher des CRN qui correspondent aux 8 premiers segments de leur CRN de service.

  • Pour rechercher l'existence d'un enregistrement jusqu'à un segment CRN spécifique, utilisez un signe deux-points suivi d'un astérisque (*).

    crn:v1:bluemix:public:databases-for-redis:us-south:a/
    274074dce64e9c423ffc238516c755e1:29caf0e7-120f-4da8-9551-3abf57ebcfc7:*:*
    

    Cette requête renvoie les enregistrements Databases for Redis associés à tous les types et noms de ressource pour l'ID de déploiement 29caf0e7-120f-4da8-9551-3abf57ebcfc7.

  • Pour rechercher l'existence d'un enregistrement jusqu'à un segment CRN spécifique préfixé par <string>, utilisez le signe deux-points suivi de <string>* dans le dernier segment de la requête CRN.

    crn:v1:bluemix:public:cloud-object-storage:global:a/e1bb63d6a20dc57c87501ac4c4c99dcb:*:bucket:prod*
    

    Cette requête renvoie tous les enregistrements de compartiment Cloud Object Storage du compte e1bb63d6a20dc57c87501ac4c4c99dcb qui sont préfixés par prod.

Lorsque vous répertoriez les enregistrements associés à une clé racine, votre requête CRN ne doit pas contenir d'astérisque (*) dans les huit premiers segments.

Les tableaux suivants fournissent une liste d'exemples de requête CRN avant et après le codage en URL. Pour afficher les valeurs codées en URL, cliquez sur l'onglet Codée en URL .

Exemples de requête CRN.
Valeur
crn:v1:bluemix:public:databases-for-redis:us-south:a/274074dce64e9c423ffc238516c755e1:29caf0e7-120f-4da8-9551-3abf57ebcfc7:*:*
crn:v1:bluemix:public:cloud-object-storage:global:a/e1bb63d6a20dc57c87501ac4c4c99dcb:*:bucket:prod*
crn:v1:bluemix:public:cloudantnosqldb:us-south:a/f586c28d154d4c65a4a4a34cf75f55d0:94255ea3-af1c-41b7-9805-61f775e20702:*:prod*.
Exemples de requête CRN.
Valeur
crn%3Av1%3Abluemix%3Apublic%3Adatabases-for-redis%3Aus-south%3Aa%2F274074dce64e9c423ffc238516c755e1%3A29caf0e7-120f-4da8-9551-3abf57ebcfc7%3A*%3A*
crn%3Av1%3Abluemix%3Apublic%3Acloud-object-storage%3Aglobal%3Aa%2Fe1bb63d6a20dc57c87501ac4c4c99dcb%3A*%3Abucket%3Aprod*
crn%3Av1%3Abluemix%3Apublic%3Acloudantnosqldb%3Aus-south%3Aa%2Ff586c28d154d4c65a4a4a34cf75f55d0%3A94255ea3-af1c-41b7-9805-61f775e20702%3A%2A%3Aprod%2A

Etapes suivantes

Pour en savoir plus sur la consultation des enregistrements, consultez la documentation de référence de l'API « Key Protect ».