Gestion des fichiers de clés

Vous pouvez utiliser Hyper Protect Crypto Services pour créer un groupe de clés pour un groupe cible d'utilisateurs nécessitant les mêmes droits d'accès Cloud Identity and Access Management (IAM).

En tant qu'administrateur de compte, vous pouvez regrouper les clés dans votre instance Hyper Protect Crypto Services en groupes appelés Anneaux de touches. Un fichier de clés est une collection de clés de votre instance de service qui requièrent les mêmes droits d'accès IAM. Par exemple, si plusieurs membres d'une équipe ont besoin d'un type particulier d'accès à un groupe spécifique de clés, vous pouvez créer un fichier de clés pour ces clés et affecter la règle d'accès IAM appropriée au groupe d'utilisateurs cible. Les utilisateurs qui obtiennent l'accès au fichier de clés peuvent créer et gérer les ressources qui existent dans le fichier de clés.

Les fichiers de clés sont également utiles dans les cas où il est important pour une unité commerciale d'avoir accès à un jeu de clés qu'une autre unité commerciale ne peut pas avoir. Un administrateur de compte peut créer des fichiers de clés pour chaque unité commerciale et affecter le niveau d'accès approprié aux utilisateurs appropriés. Dans le cas où l'administrateur de compte souhaite déléguer la gestion de plateforme d'un fichier de clés spécifique à quelqu'un d'autre, il peut affecter à un utilisateur un rôle d'administrateur de plateforme au niveau du fichier de clés. Le sous-administrateur sera alors en mesure de gérer le fichier de clés et d'accorder l'accès aux utilisateurs appropriés.

Vous pouvez accorder l'accès aux fichiers de clés dans une instance Hyper Protect Crypto Services à l'aide de l'interface utilisateur, de l'API IAM ou de l'interface de ligne de commande IAM.

Avant de créer un fichier de clés pour votre instance Hyper Protect Crypto Services, gardez à l'esprit les considérations suivantes :

  • Chaque instance Hyper Protect Crypto Services est fournie avec un fichier de clés par défaut.

    Chaque instance Hyper Protect Crypto Services nouvellement créée est fournie avec un fichier de clés généré avec l'ID default. Toutes les clés qui ne sont pas associées à un fichier de clés spécifié existent dans le fichier de clés par défaut.

  • Les fichiers de clés peuvent contenir des clés racine et des clés standard, mais pas de clés EP11.

    Les fichiers de clés peuvent contenir à la fois des clés racine et des clés standard. Il n'existe aucune limite quant au nombre de clés pouvant exister dans un fichier de clés. Les fichiers de clés ne s'appliquent pas aux clés Enterprise PKCS #11 (EP11).

  • Une clé ne peut appartenir qu'à un seul jeu de clés à la fois.

    Une clé ne peut appartenir qu'à un seul fichier de clés. L'affectation au fichier de clés se produit lors de la création des clés. Si aucun ID de fichier de clés n'est fourni lors de la création, la clé appartiendra au fichier de clés par défaut. Vous pouvez mettre à jour le fichier de clés après la création de la clé.

  • Vous pouvez créer jusqu'à cinq fichiers de clés dans une instance de service gratuitement, y compris les magasins de clés et les fichiers de clés EP11. Le nombre maximal de magasins de clés d'une instance de service est 50.

    Chaque magasin de clés supplémentaire ou fichier de clés EP11 est facturé avec une tarification échelonnée à partir de 225 $ US par mois. Pour plus d'informations sur la tarification, consultez cet exemple de tarification.

Création de fichiers de clés

Avant de pouvoir regrouper des clés dans un fichier de clés, vous devez d'abord créer un fichier de clés. Vous pouvez utiliser l'interface utilisateur ou l'API du service de gestion des clés pour créer un fichier de clés.

Vous pouvez créer jusqu'à cinq fichiers de clés dans une instance de service gratuitement, y compris les magasins de clés et les fichiers de clés EP11. Chaque magasin de clés supplémentaire ou fichier de clés EP11 est facturé avec une tarification échelonnée à partir de 225 $ US par mois.

Création de fichiers de clés à l'aide de l'interface utilisateur

Créez un fichier de clés à l'aide de l'interface utilisateur en procédant comme suit:

  1. Connectez-vous à l'interface utilisateur.

  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 Hyper Protect Crypto Services mise à disposition.

  4. Pour créer un nouveau fichier de clés, sélectionnez l'onglet Fichiers de clés KMS dans le menu latéral.

  5. Dans la table Jeux de clés du service de gestion des clés, cliquez sur Ajouter un jeu de clés.

    Vous pouvez créer jusqu'à cinq fichiers de clés dans une instance de service gratuitement, y compris les magasins de clés et les fichiers de clés EP11. Chaque magasin de clés supplémentaire ou fichier de clés EP11 est facturé avec une tarification échelonnée à partir de 225 $ US par mois.

  6. Entrez l'ID du fichier de clés et cliquez sur Ajouter un jeu de clés.

Création de fichiers de clés avec l'API

Pour créer un fichier de clés, vous devez effectuer un appel POST au noeud final suivant.

https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/key_rings
  1. Extrayez vos données d'authentification afin d'utiliser les clés dans le service.

  2. Créez un fichier de clés en exécutant la commande curl suivante.

    $ curl -X POST \
        "https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/key_rings/<key_ring_id>" \
        -H "authorization: Bearer <IAM_token>" \
        -H "bluemix-instance: <instance_ID>" \
        -H "correlation-id: <correlation_ID>"
    

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

    Tableau 1. Décrit les variables requises pour créer un fichier de clés avec l'API du service de gestion des clés
    Variables Description
    region Obligatoire. Abréviation de la région, telle que us-south, qui représente la zone géographique dans laquelle réside votre instance Hyper Protect Crypto Services. Pour plus d'informations, voir Nœuds finaux de service régional.
    port Obligatoire. Numéro de port du noeud final d'API.
    key_ring_id Obligatoire. Identificateur unique du fichier de clés que vous souhaitez créer.
    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, voir Extraction d'un jeton d'accès.
    instance_ID Obligatoire. Identificateur unique affecté à votre instance de service Hyper Protect Crypto Services. Pour plus d'informations, voir Extraction d'un ID d'instance.
    correlation_ID Identificateur unique qui est utilisé pour suivre et corréler des transactions.

    Une requête POST api/v2/key_rings réussie renvoie une réponse HTTP 201 Created, qui indique que le fichier de clés a été créé et qu'il est désormais disponible pour contenir les clés standard et racine.

Transfert d'une clé vers un autre fichier de clés

A mesure que les exigences changent et que les nouveaux membres de l'équipe sont intégrés à une organisation, vous pouvez créer de nouveaux fichiers de clés pour refléter ces changements organisationnels. Après avoir créé les fichiers de clés, il peut s'avérer nécessaire de déplacer une clé d'un fichier de clés existant vers un nouveau fichier de clés dont les droits IAM sont différents. Par exemple, vous pouvez monter à bord d'une équipe qui aura besoin d'un accès spécifique à une clé appartenant à un fichier de clés personnalisé, non par défaut. Vous pouvez créer un fichier de clés dédié à l'équipe d'intégration. Etant donné que les clés ne peuvent être associées qu'à un seul fichier de clés à la fois, vous devez déplacer la clé vers le nouveau fichier de clés.

Après avoir transféré une clé à un jeu de clés différent, il peut prendre jusqu'à dix minutes pour que la modification prenne effet.

Transfert d'une clé vers un autre fichier de clés à l'aide de l'interface utilisateur

Vous pouvez transférer une clé vers un autre fichier de clés à l'aide de l'interface utilisateur en procédant comme suit:

  1. Connectez-vous à l'interface utilisateur.
  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 Hyper Protect Crypto Services mise à disposition.
  4. Sélectionnez l'onglet Touches KMS dans le menu latéral pour ouvrir la table Clés.
  5. Recherchez la clé que vous souhaitez transférer dans la liste et cliquez sur l'icône Actions Icône Actions pour ouvrir la liste des options.
  6. Cliquez sur Modification du fichier de clés.
  7. Sélectionnez l'ID de fichier de clés sur lequel vous voulez déplacer la clé, puis cliquez sur Modification du fichier de clés.

Transfert d'une clé vers un autre fichier de clés à l'aide de l'API

Transférez une clé vers un autre fichier de clés en effectuant un appel PATCH au nœud final suivant.

https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>
  1. Extrayez vos données d'authentification afin d'utiliser les clés dans le service.

    Pour mettre à jour le fichier de clés d'une clé, vous devez disposer au moins d'un accès au service Gestionnaire sur la clé et sur le fichier de clés cible. Pour savoir comment les rôles IAM sont mappés aux actions du service Hyper Protect Crypto Services, consultez la rubrique Rôles d'accès au service.

  2. Mettez à jour le fichier de clés d'une clé en exécutant la commande curl suivante.

    $ curl -X PATCH \
      "https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>" \
      -H 'accept: application/vnd.ibm.kms.key+json' \
      -H 'authorization: Bearer <IAM_token>' \
      -H 'bluemix-instance: <instance_ID>' \
      -H 'content-type: application/vnd.ibm.kms.key+json' \
      -H "x-kms-key-ring: <original_key_ring_ID>" \
      -H "correlation-id: <correlation_ID>" \
      -d '{
        "keyRingID": "<new_key_ring_ID>"
      }'
    

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

    Tableau 2. Décrit les variables requises pour mettre à jour le fichier de clés d'une clé avec l'API du service de gestion des clés
    Variables Description
    region Obligatoire. Abréviation de la région, telle que us-south, qui représente la zone géographique dans laquelle réside votre instance Hyper Protect Crypto Services. Pour plus d'informations, voir Nœuds finaux de service régional.
    port Obligatoire. Numéro de port du noeud final d'API.
    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, voir Extraction d'un jeton d'accès.
    instance_ID Obligatoire. Identificateur unique affecté à votre instance de service Hyper Protect Crypto Services. Pour plus d'informations, voir Extraction d'un ID d'instance.
    original_key_ring_ID Facultatif. Identificateur unique du fichier de clés auquel appartient la clé. S'il n'est pas spécifié, Hyper Protect Crypto Services recherche la clé dans chaque fichier de clés associé à l'instance spécifiée. Par conséquent, il est conseillé de spécifier l'ID du fichier de clés pour une demande plus optimisée.

    Remarque: si vous créez une clé sans en-tête x-kms-key-ring, le fichier de clés de la clé est: default.

    correlation_ID Identificateur unique qui est utilisé pour suivre et corréler des transactions.
    new_key_ring_ID Obligatoire. Identificateur unique du fichier de clés cible sur lequel vous souhaitez déplacer la clé.

    Une demande PATCH api/v2/keys/key_ID réussie renvoie les métadonnées de la clé, y compris l'ID du fichier de clés auquel la clé appartient maintenant.

    {
     "metadata": {
         "collectionType": "application/vnd.ibm.kms.key+json",
         "collectionTotal": 1
     },
     "resources": [
         {
             "type": "application/vnd.ibm.kms.key+json",
             "id": "02fd6835-6001-4482-a892-13bd2085f75d",
             "name": "test-root-key",
             "aliases": [
                 "alias-1",
                 "alias-2"
               ],
             "description": "A test root key",
             "state": 1,
             "extractable": false,
             "keyRingID": "new-key-ring",
             "crn": "crn:v1:bluemix:public:hs-crypto:us-south:a/f047b55a3362ac06afad8a3f2f5586ea:12e8c9c2-a162-472d-b7d6-8b9a86b815a6:key:02fd6835-6001-4482-a892-13bd2085f75d",
             "imported": false,
             "creationDate": "2020-03-12T03:37:32Z",
             "createdBy": "...",
             "algorithmType": "AES",
             "algorithmMetadata": {
                 "bitLength": "256",
                 "mode": "CBC_PAD"
             },
             "algorithmBitSize": 256,
             "algorithmMode": "CBC_PAD",
             "lastUpdateDate": "2020-03-12T03:37:32Z",
             "keyVersion": {
                 "id": "2291e4ae-a14c-4af9-88f0-27c0cb2739e2",
                 "creationDate": "2020-03-12T03:37:32Z"
             },
             "dualAuthDelete": {
                 "enabled": false
             },
             "deleted": false
         }
     ]
    }
    

Attribution de l'accès à un fichier de clés

Vous pouvez accorder l'accès à un fichier de clés dans une instance Hyper Protect Crypto Services à l'aide de l'interface utilisateur, de l'API IAMou de l'interface de ligne de commande.

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 Hyper Protect Crypto Services.

Pour affecter l'accès à un fichier de clés à l'aide de l'interface utilisateur, procédez comme suit:

  1. Dans la barre de menus, cliquez sur Gérer > Accès (IAM), et sélectionnez Utilisateurs pour parcourir les utilisateurs existants dans votre compte.
  2. Sélectionnez l'utilisateur auquel vous souhaitez affecter l'accès dans la table, puis cliquez sur l'icône Actions Icône Actionspour ouvrir une liste d'options pour cet utilisateur.
  3. Dans le menu des options, cliquez sur Affecter un accès.
  4. Cliquez sur Politique d'accès.
  5. Sous Service, sélectionnez Hyper Protect Crypto Services et cliquez sur Suivant.
  6. Sous Ressources, sélectionnez Ressources spécifiques.
  7. Sélectionnez le type d'attribut ID d'instance de service et entrez l'ID de l'instance où réside le fichier de clés.
  8. Cliquez sur Ajouter une condition, sélectionnez l'attribut ID de fichier de clés pour entrer l'ID associé au fichier de clés, puis cliquez sur Suivant.
  9. Sous Rôles et actions, choisissez une combinaison de rôles d'accès à la plateforme et au service pour affecter l'accès à l'utilisateur et cliquez sur Suivant.
  10. (Facultatif) Sous Conditions (facultatif), cliquez sur Vérifier pour vérifier la règle d'accès.
  11. Après confirmation, cliquez sur Ajouter > Affecter.

Vous devez affecter à l'utilisateur au moins l'accès Lecteur à l'instance entière afin qu'il répertorie, crée et supprime des fichiers de clés dans l'instance.

Affichage des fichiers de clés

Vous pouvez parcourir les fichiers de clés gérés dans votre instance mise à disposition de Hyper Protect Crypto Services à l'aide de l'interface utilisateur ou de l'indicateur clé de performance de gestion des clés.

Liste des fichiers de clés à l'aide de l'interface utilisateur

Pour parcourir les fichiers de clés à l'aide de l'interface utilisateur, procédez comme suit:

  1. Connectez-vous à l'interface utilisateur.
  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 Hyper Protect Crypto Services mise à disposition.
  4. Pour parcourir les fichiers de clé, sélectionnez l'onglet Fichiers de clés KMS dans le menu latéral.

Le tableau des fichiers de clés contient les informations suivantes :

Tableau 3. Décrit les colonnes de la table de fichiers de clés
Colonne Description
ID du fichier de clés Identificateur unique que vous indiquez lorsque vous créez le fichier de clés.
Dernière mise à jour Date et heure de la dernière mise à jour du fichier de clés. Cette zone est mise à jour lorsque le fichier de clés est créé ou modifié.
Créé Date et heure de création du fichier de clés.

Affichage des fichiers de clés avec l'API

Vous pouvez parcourir les fichiers de clés en effectuant un appel GET au noeud final suivant.

https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/key_rings
  1. Extrayez vos données d'authentification afin d'utiliser les clés dans le service.

  2. Affichez les caractéristiques générales de vos fichiers de clés en exécutant la commande curl suivante.

    $ curl -X GET \
        "https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/key_rings" \
        -H "accept: application/vnd.ibm.kms.key_ring+json" \
        -H "authorization: Bearer <IAM_token>" \
        -H "bluemix-instance: <instance_ID>" \
        -H "correlation-id: <correlation_ID>"
    

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

    Tableau 4. Décrit les variables requises pour afficher les fichiers de clés à l'aide de l'API du service de gestion des clés
    Variables Description
    region Obligatoire. Abréviation de la région, telle que us-south, qui représente la zone géographique dans laquelle réside votre instance Hyper Protect Crypto Services. Pour plus d'informations, voir Nœuds finaux de service régional.
    port Obligatoire. Numéro de port du noeud final d'API.
    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, voir Extraction d'un jeton d'accès.
    instance_ID Obligatoire. Identificateur unique affecté à votre instance Hyper Protect Crypto Services. Pour plus d'informations, voir Extraction d'un ID d'instance.
    correlation_ID Identificateur unique qui est utilisé pour suivre et corréler des transactions.

    Une demande GET api/v2/key_rings réussie renvoie une collection de fichiers de clés disponibles dans votre instance de service Hyper Protect Crypto Services.

    {
        "metadata": {
            "collectionType": "application/vnd.ibm.kms.key_ring+json",
            "collectionTotal": 2
        },
        "resources": [
            {
                "id": "default"
            },
            {
                "id": "Sample Key Ring 2",
                "creationDate": "2020-03-12T11:00:06Z",
                "createdBy": "..."
            }
        ]
    }
    

Suppression des fichiers de clés

Vous pouvez supprimer un fichier de clés à l'aide de l'interface utilisateur ou de l'API du service de gestion des clés.

Le fichier de clés default ne peut pas être supprimé. Vous ne pouvez pas non plus supprimer un fichier de clés s'il contient au moins une clé, quel que soit l'état de la clé (y compris les clés à l'état Détruit).

Suppression de fichiers de clés à l'aide de l'interface utilisateur

Pour supprimer un fichier de clés à l'aide de l'interface utilisateur, procédez comme suit:

  1. Connectez-vous à l'interface utilisateur.
  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 Hyper Protect Crypto Services mise à disposition.
  4. Sélectionnez l'onglet Fichiers de clés KMS dans le menu latéral pour parcourir les fichiers de clés.
  5. Recherchez le fichier de clés que vous souhaitez supprimer et cliquez sur l'icône Suppression Icône de suppression à la fin de la ligne.
  6. Confirmez la suppression et cliquez sur Supprimer le fichier de clés.

Suppression d'un fichier de clés avec l'API

Vous pouvez supprimer un fichier de clés en effectuant un appel DELETE au noeud final suivant.

https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/key_rings/<key_ring_id>
  1. Extrayez vos données d'authentification afin d'utiliser les clés dans le service.

  2. Extrayez l'ID du fichier de clés que vous souhaitez supprimer.

    Vous trouverez l'ID d'un fichier de clés dans votre instance Hyper Protect Crypto Services en extrayant une liste de vos fichiers de clés.

  3. Exécutez la commande curl suivante pour supprimer le fichier de clés.

    $ curl -X DELETE \
        "https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/key_rings/<key_ring_id>" \
        -H "authorization: Bearer <IAM_token>" \
        -H "bluemix-instance: <instance_ID>" \
        -H "prefer: <return_preference>"
    

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

    Tableau 5. Décrit les variables requises pour supprimer des clés à l'aide de l'API de service de gestion des clés
    Variables Description
    region Obligatoire. Abréviation de la région, telle que us-south, qui représente la zone géographique dans laquelle réside votre instance Hyper Protect Crypto Services. Pour plus d'informations, voir Nœuds finaux de service régional.
    port Obligatoire. Numéro de port du noeud final d'API.
    key_ring_id Obligatoire. Identificateur unique du fichier de clés que vous souhaitez supprimer.
    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, voir Extraction d'un jeton d'accès.
    instance_ID Obligatoire. Identificateur unique affecté à votre instance de service Hyper Protect Crypto Services. Pour plus d'informations, voir Extraction d'un ID d'instance.

    Une demande réussie renvoie une réponse HTTP 204 No Content, ce qui indique que le fichier de clés a été supprimé.