Récupération d'une liste de clés « Key Protect »
IBM® Key Protect for IBM Cloud® fournit un système centralisé pour afficher et gérer vos clés de chiffrement et en effectuer un audit. Vérifiez vos clés et les restrictions d'accès à celles-ci afin de garantir la sécurité de vos ressources.
Bien que vous puissiez attribuer un accès précis à une seule clé, l'API de liste des clés ne renvoie pas de clés avec des autorisations d'accès individuelles. En d'autres termes, il ne renvoie pas de clés auxquelles vous êtes seul à avoir accès. Cependant, l'appel à cette API renvoie les clés des porte-clés auxquels vous avez accès. Si vous avez accès à toutes les clés d'une instance, vous voyez toutes les clés. Vous pouvez visualiser les clés avec des autorisations d'accès individuelles en suivant les instructions de la section Visualisation des clés d'accès à granularité fine via IAM. Vous pouvez également utiliser l'API pour transmettre l'identifiant spécifique de la clé.
Une bonne pratique consiste à vérifier régulièrement votre configuration de clé :
-
Voyez quand les clés ont été créées et déterminez s'il n'est pas temps d'effectuer une rotation.
-
Surveillez les appels d'API dans Key Protect avec IBM Cloud Logs.
-
Vérifiez quels sont les utilisateurs qui ont accès aux clés et assurez-vous que leur niveau d'accès est approprié.
Pour plus d'informations sur l'audit d'accès à vos ressources, reportez-vous à la rubrique Gestion de l'accès utilisateur.
Affichage de clés dans la console
Si vous préférez examiner les clés de votre service à l'aide d'une interface graphique, vous pouvez utiliser le tableau de bord Key Protect.
Après avoir créé ou importé les clés existantes dans le service, vous pouvez les afficher en procédant comme suit :
-
Accédez à Menu > Liste de ressources pour afficher la liste de vos ressources.
-
Dans la liste de ressources IBM Cloud, sélectionnez votre instance Key Protect mise à disposition.
-
Cliquez sur « Clés » pour afficher la liste de toutes les clés de votre instance de service. Vous pouvez gérer l'affichage sous forme de tableau de différentes manières :
- Clés de filtrage- Utilisez les listes déroulantes du panneau de filtrage du tableau pour filtrer par état de la clé (par exemple, « Activée ») ou par ID du trousseau de clés.
- Clés de tri- Cliquez sur les en-têtes de colonne pour trier les données selon des critères tels que la « Date de la dernière rotation ».
- Clés de recherche: utilisez la barre de recherche pour effectuer une recherche par nom d'affichage, ID de clé ou alias. Pour trouver rapidement une clé spécifique, effectuez une recherche à l'aide de son identifiant.
- Personnaliser les colonnes- Cliquez sur le bouton « Paramètres » pour choisir les colonnes à afficher.
Par défaut, le tableau affiche les colonnes suivantes :
| Colonne | Description |
|---|---|
| Nom | Le nom d'affichage que vous avez attribué à votre clé. |
| ID de la clé | ID de clé unique affecté à votre clé par Key Protect. Vous pouvez utiliser la valeur d'identifiant pour effectuer des appels vers le service via l'API Key Protect. |
| ID du fichier de clés | Le porte-clés auquel les clés sont associées. Ces états sont les suivants : désactivé, supprimé, désactivé et activé. |
| Dernière rotation | Date de la dernière rotation de la clé. |
| Alias de clé | L'alias de clé (ou alias) de la clé. |
| Type | Le type de clé de la clé (clé racine ou clé standard). |
| Etat | L' état clé e de la clé, qui est l'une des adresses suivantes : Désactivé, Supprimé, Personnes handicapées ou Activé. |
Les autres zones disponibles dans le tableau sont les suivantes:
- Dernière modification : indique la dernière fois que la clé a été modifiée de quelque manière que ce soit.
- Création : date à laquelle la clé a été créée.
- Supprimé: indique si une clé est à l'état supprimé (en attente de purge) ou non.
- Importée : indique si la clé a été créée à l'aide d'un support de clé fourni par l'utilisateur.
- Politique de rotation : indique si cette clé est associée à une politique de rotation.
- Ressources associées: indique si la clé protège des ressources.
La capacité de recherche est limitée à un volume de 5 000 clés. Si vous avez plus de 5 000 clés et que vous ne pouvez pas filtrer le nombre de clés à moins de 5 000, votre recherche échoue à moins qu'elle ne corresponde exactement à un ID de
clé ou à un alias. Par exemple, vous pouvez filtrer par état des touches pour n'afficher que les touches Enabled. Pour plus d'informations sur la spécification de l'API relative à la recherche de clés, consultez la section
GET /keys.
Si vous souhaitez réduire le nombre de résultats renvoyés par une recherche, essayez d'appliquer l'un des paramètres suivants, ou une combinaison de ceux-ci :
not:lorsqu'elle est spécifiée, cette option inverse la logique utilisée par la recherche (par exemple, la commande «not:foo» recherche les clés dont les alias ou les noms ne contiennent pas «foo»).escape:tout ce qui suit cette option est considéré comme du texte en clair (exemple :escape:not:recherche les clés dont l'alias ou le nom contient la chaîne de caractèresnot:).exact:recherche uniquement les correspondances exactes.alias:recherche uniquement les alias de clé.name:recherche uniquement les noms de clé.
not:exact:foobar recherche les clés dont le nom ou l'alias n'est pas exactement foobar, tandis que exact:not:foobar recherche les clés dont le nom ou l'alias est exactement not:foobar.
Les portées de recherche se comportent de manière OU. Cela signifie que, lorsque l'on utilise plusieurs critères de recherche, il suffit qu'il y ait une correspondance dans au moins l'un d'entre eux pour que la clé soit renvoyée. Par
défaut (si aucune portée n'est fournie), la recherche est effectuée dans les portées name et alias.
Vous ne voyez pas la liste complète des clés stockées dans votre instance Key Protect ? Vérifiez auprès de votre administrateur que le rôle qui vous a été attribué correspond bien à l'instance d' Key Protect ou à la clé individuelle concernée. Pour plus d'informations sur les rôles, voir Rôles et droits.
Extraction des clés par état
En filtrant sur l'état des clés spécifiques de votre instance Key Protect, vous pouvez extraire les clés qui se trouvent dans les états que vous indiquez.
Par exemple, vous pouvez avoir des clés dans votre instance Key Protect qui se trouvent dans les états Actif, Interrompu et Détruit, mais vous souhaitez uniquement extraire des clés à l'état Actif lorsque vous consultez une liste de clés.
Pour plus d'informations sur les états de clé, voir Etats et transitions de clés.
Après avoir créé ou importé vos clés existantes dans le service, vous disposez de deux options pour afficher vos clés. La première option, Afficher les clés à travers la liste des ressources, fonctionne pour toutes les clés, à l'exception de celles dont l'accès est très fin. Pour plus d'informations sur l'affichage des clés avec un accès à grain fin, voir Visualisation des clés d'accès à grain fin IAM.
Affichage des clés via la liste de ressources
-
Accédez à Menu > Liste de ressources pour afficher la liste de vos ressources.
-
Dans la liste de ressources IBM Cloud, sélectionnez votre instance Key Protect mise à disposition.
-
Sur la page « Clés », cliquez sur l'icône de filtre pour ouvrir le panneau de filtrage.
-
Dans le menu déroulant « **État ** », sélectionnez l'état de la clé que vous souhaitez récupérer.
-
Cliquez sur le bouton Apply.
-
De plus, dans les en-têtes de ligne du tableau, vous pouvez cliquer sur
Last updatedpour trier la liste en fonction de la date à laquelle les clés du tableau ont été mises à jour le plus récemment, ou cliquer surTypepour répertorier toutes les clés racine et les clés standard en tant que groupes.
Affichage des clés à accès à granularité fine via IAM
-
Dans la barre de menus, cliquez sur Gérer > Accès (IAM), et sélectionnez Utilisateurs pour parcourir les utilisateurs existants dans votre compte.
-
Sélectionnez une ligne de table, puis cliquez sur l'icône ⋯ pour ouvrir une liste des options de cet utilisateur. Sélectionnez ensuite Gérer l'accès dans la liste déroulante.
-
Vous pouvez consulter ici toutes les informations IAM relatives à cet utilisateur, y compris les groupes d'accès auxquels il appartient. Pour afficher les règles d'accès de cet utilisateur, cliquez sur l'onglet Règles d'accès.
Le titulaire d'un compte ou un utilisateur disposant des droits appropriés peut consulter l'ensemble des politiques qui lui sont attribuées, y compris les droits d'accès détaillés relatifs aux clés.
Affichage des clés avec l'API
Vous pouvez extraire le contenu de vos clés à l'aide de l'API Key Protect.
Extraction d'une liste de clés
Pour obtenir une vue globale, vous pouvez parcourir les clés qui sont gérées dans votre instance Key Protect mise à disposition en soumettant une demande GET au noeud final suivant.
https://<region>.kms.cloud.ibm.com/api/v2/keys
-
Extrayez vos données d'authentification afin d'utiliser les clés dans le service.
-
Affichez les caractéristiques générales de vos clés en exécutant la commande
curlsuivante.$ curl -X GET \ "https://<region>.kms.cloud.ibm.com/api/v2/keys" \ -H "accept: application/vnd.ibm.collection+json" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>" \ -H "x-kms-key-ring: <key_ring_ID>" \ -H "correlation-id: <correlation_ID>"Remplacez les variables dans l'exemple de demande en fonction des informations du tableau 1. Pour plus d'informations sur les paramètres facultatifs disponibles lors de l'affichage des collections de clés, y compris la possibilité de rechercher vos clés, voir la documentation de l'API concernant la méthode
List keys.
| Variable | Description |
|---|---|
| région | Obligatoire. Abréviation de la région, comme us-south ou eu-gb, qui représente la zone géographique dans laquelle se trouve votre instance Key Protect. Pour plus d'informations, voir Noeuds finaux de service régional. |
| key_ID_or_alias | Obligatoire. Identificateur unique ou alias de la clé que vous souhaitez inspecter. |
| 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 Extraction d'un jeton d'accès. |
| instance_ID | Obligatoire. Identificateur unique affecté à votre instance de service Key Protect. Pour plus d'informations, voir Extraction d'un ID d'instance. |
| key_ring_ID | Facultatif. Identificateur unique du fichier de clés cible. Si aucune précision n'est fournie, la réponse inclut toutes les ressources auxquelles l'utilisateur a accès dans l'instance spécifiée. Si elle est fournie, la réponse ne comprend que les ressources auxquelles l'utilisateur a accès dans le trousseau spécifié. Pour plus d'informations, voir Grouping keys. |
| correlation_ID | Facultatif. Identificateur unique qui est utilisé pour suivre et corréler des transactions. |
Une demande GET api/v2/keys qui aboutit renvoie une collection des clés disponibles dans votre instance de service Key Protect.
{
"metadata": {
"collectionType": "application/vnd.ibm.kms.key+json",
"collectionTotal": 2
},
"resources": [
{
"id": "02fd6835-6001-4482-a892-13bd2085f75d",
"type": "application/vnd.ibm.kms.key+json",
"name": "Root-key",
"state": 1,
"crn": "crn:v1:bluemix:public:kms:us-south:a/f047b55a3362ac06afad8a3f2f5586ea:12e8c9c2-a162-472d-b7d6-8b9a86b815a6:key:02fd6835-6001-4482-a892-13bd2085f75d",
"createdBy": "...",
"creationDate": "2020-03-11T16:30:06Z",
"lastUpdateDate": "2020-03-11T16:30:06Z",
"algorithmMetadata": {
"bitLength": "256",
"mode": "Deprecated"
},
"extractable": false,
"imported": true,
"algorithmMode": "Deprecated",
"algorithmBitSize": 256,
"dualAuthDelete": {
"enabled": false
}
},
{
"id": "2291e4ae-a14c-4af9-88f0-27c0cb2739e2",
"type": "application/vnd.ibm.kms.key+json",
"name": "Standard-key",
"state": 1,
"expirationDate": "2020-03-14T03:50:12Z",
"crn": "crn:v1:bluemix:public:kms:us-south:a/f047b55a3362ac06afad8a3f2f5586ea:30372f20-d9f1-40b3-b486-a709e1932c9c:key:2291e4ae-a14c-4af9-88f0-27c0cb2739e2",
"createdBy": "...",
"creationDate": "2020-03-12T03:50:12Z",
"lastUpdateDate": "2020-03-12T03:50:12Z",
"algorithmMetadata": {
"bitLength": "256",
"mode": "Deprecated"
},
"extractable": true,
"imported": false,
"algorithmMode": "Deprecated",
"algorithmBitSize": 256,
"dualAuthDelete": {
"enabled": false
}
}
]
}
Par défaut, GET api/v2/keys renvoie vos 200 premières clés, mais vous pouvez ajuster cette limite à l'aide du paramètre limit au moment de la demande. Pour en savoir plus sur limit et offset,
voir Extraction d'un sous-ensemble de clés.
Vous ne voyez pas la liste complète des clés ? Vous devrez peut-être consulter les pages limit et offset ou vous adresser à votre administrateur pour vous assurer que le niveau d'accès aux clés qui vous a été attribué
dans votre instance est bien le bon. Pour en savoir plus, reportez-vous à la rubrique Impossible d'afficher ou de répertorier les clés.
Extraction d'un sous-ensemble de clés
En spécifiant les paramètres limit et offset lors de l'interrogation, vous pouvez extraire un sous-ensemble de vos clés, à partir de la valeur offset que vous spécifiez.
Par exemple, vous pouvez avoir un total de 3 000 clés stockées dans votre instance Key Protect, mais vous souhaitez extraire les clés 200 à 300 lorsque vous effectuez une demande GET /keys.
Vous pouvez utiliser l'exemple de demande suivant pour extraire un autre ensemble de clés :
$ curl -X GET \
"https://<region>.kms.cloud.ibm.com/api/v2/keys?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 :
| Variable | Description |
|---|---|
| position | Nombre de clés à ignorer. Par exemple, si votre instance contient 50 clés et que vous souhaitez lister les clés comprises entre 26 et 50, utilisez ../keys?offset=25. Vous pouvez également associer un décalage à une limite
pour parcourir vos ressources disponibles. |
| limit | Nombre de clés à extraire. Par exemple, si votre instance contient 100 clés et que vous souhaitez n'afficher que 10 d'entre elles, utilisez ../keys?limit=10. La valeur maximale pour la limite est 5000. |
Le paramètre offset correspond à l'emplacement d'une clé spécifique dans un jeu de données. La valeur offset est basée sur zéro, ce qui signifie que la 10ème clé de chiffrement dans un jeu de données se situe à l'emplacement 9.
Extraction des clés par état
En spécifiant le paramètre state lors de la requête, vous pouvez extraire des clés qui sont à l'état que vous spécifiez.
Par exemple, vous pouvez avoir des clés dans votre instance Key Protect qui sont à l'état actif, interrompu ou détruit, mais vous souhaitez extraire uniquement les clés à l'état actif lorsque vous effectuez une demande GET /keys.
Le paramètre de requête d'état accueille une liste d'entiers compris entre 0 et 5 délimitée par des virgules, sans espace ni virgule de fin. Pour plus d'informations sur les états de clé, voir Etats et transitions de clés.
Vous pouvez utiliser l'exemple de demande suivant pour extraire un autre ensemble de clés :
$ curl -X GET \
"https://<region>.kms.cloud.ibm.com/api/v2/keys?state=<state_integers>" \
-H "accept: application/vnd.ibm.collection+json" \
-H "authorization: Bearer <IAM_token>" \
-H "bluemix-instance: <instance_ID>"
Remplacez la variable state dans votre demande conformément au tableau suivant :
| Variable | Description |
|---|---|
| état | Etats des clés à extraire. Les états sont des nombres entiers où « Pré-activation » = 0, « Actif » = 1, « Suspendu » = 2, « Désactivé » = 3 et « Détruit » = 5. Par exemple, si vous souhaitez répertorier uniquement les clés en état «
actif » dans votre instance d' Key Protect, utilisez ../keys?state=1. Vous pouvez également associer des états à des décalages et des limites pour parcourir vos ressources disponibles. |
Pour les remarques d'utilisation, reportez-vous aux exemples ci-après relatifs à la configuration de votre paramètre de requête state.
| URL | Description |
|---|---|
.../keys |
Répertorie toutes vos ressources disponibles, jusqu'au 200 premières clés. |
.../keys?state=5 |
Répertorie les clés à l'état Supprimé. |
.../keys?state=2,3 |
Répertorie les clés à l'état Interrompu et Désactivé. |
Extraction des clés par valeur du paramètre extractable
L'indication du paramètre extractable au moment de la demande vous permet d'extraire les clés dont le matériel peut quitter le service.
Par exemple, vous pouvez avoir à la fois des clés standard et des clés racine dans votre instance Key Protect, mais ne souhaiter extraire que des clés avec du matériel de clé extractible lorsque vous effectuez une demande GET /keys.
Le paramètre de demande extractible prend une valeur booléenne.
Vous pouvez utiliser l'exemple de demande suivant pour extraire un autre ensemble de clés :
$ curl -X GET \
"https://<region>.kms.cloud.ibm.com/api/v2/keys?extractable=<extractable>" \
-H "accept: application/vnd.ibm.collection+json" \
-H "authorization: Bearer <IAM_token>" \
-H "bluemix-instance: <instance_ID>"
Remplacez la variable extractable dans votre demande conformément au tableau suivant :
| Variable | Description |
|---|---|
| extractable | Type de clés à extraire. Filtre les clés en fonction de la propriété extractible. Vous pouvez utiliser ce paramètre de requête pour rechercher des clés dont le matériel peut quitter le service. Si la valeur « true » est
définie, les clés standard sont récupérées. Si la valeur « false » est définie, les clés racines sont récupérées. Si cette option n'est pas spécifiée, les clés « root » et « standard » sont toutes deux récupérées. Par
exemple, si vous souhaitez répertorier uniquement les clés comportant des éléments extractibles dans votre instance d' Key Protect, utilisez ../keys?extractable=true. Vous pouvez également associer la variable extractable
à offset, limitet state pour parcourir vos ressources disponibles. |
Pour les remarques d'utilisation, reportez-vous aux exemples ci-après relatifs à la configuration de votre paramètre de requête extractable.
| URL | Description |
|---|---|
../keys |
Répertorie toutes vos ressources disponibles, jusqu'au 200 premières clés. |
../keys?extractable=true |
Répertoriez les clés standard. |
../keys?extractable=false |
Répertoriez les clés racine. |
Trier une liste de clés
L'utilisation du paramètre sort dans la chaîne de requête trie la liste des clés renvoyées en fonction d'une ou de plusieurs propriétés de clé. Pour trier
une propriété par ordre décroissant, préfixez le terme par "-". Pour trier sur plusieurs propriétés clés, utilisez une virgule pour séparer chaque propriété. La première propriété de la liste séparée par des virgules est évaluée
avant la suivante.
$ curl -X GET \
"https://<region>.kms.cloud.ibm.com/api/v2/keys?sort=<sort-value>" \
-H "accept: application/vnd.ibm.collection+json" \
-H "authorization: Bearer <IAM_token>" \
-H "bluemix-instance: <instance_ID>"
| Variable | Description |
|---|---|
| valeur-tri | Liste des propriétés de tri. Les principales propriétés qui peuvent être triées actuellement sont les suivantes : id, state, extractable, imported, creationDate, lastUpdateDate,
lastRotateDate, deletionDate, expirationDate. |