Regroupement de clés à l'aide de fichiers de clés

Vous pouvez utiliser IBM® Key Protect for IBM Cloud® pour créer un groupe de clés pour un groupe cible d'utilisateurs nécessitant les mêmes droits d'accès IAM.

En tant qu'administrateur de compte, vous pouvez regrouper les clés dans votre instance de service Key Protect dans des groupes appelés des "fichiers de clés". Un fichier de clés est une collection de clés, dans votre instance de service, qui requièrent toutes 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. Si l'administrateur du compte souhaite déléguer la gestion d'un trousseau de clés spécifique à une autre personne, il peut attribuer à un utilisateur un rôle d'administrateur de plateforme au niveau de ce trousseau de clés. Le sous-administrateur aura alors la possibilité 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 instance Key Protect à l'aide de Console IBM Cloud, interface de programmation IAM ou interface de ligne de commande IAM.

Avant de créer un trousseau de clés pour votre instance d' Key Protect, veuillez prendre en compte les points suivants :

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

  • Les fichiers de clés peuvent contenir des clés standard et racine. Les fichiers de clés peuvent contenir à la fois des clés standard et des clés racine. Il n'y a pas de limite au nombre de clés pouvant exister dans un fichier de clés.

  • Une clé ne peut faire partie que d'un seul fichier de clés à la fois. Une clé ne peut faire partie que d'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 transmis lors de la création, la clé fera partie du fichier de clés default.

Le nombre maximal de fichiers de clés est de 50 par instance de service.

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

Vous devez avoir le rôle « Auteur » ou « Gestionnaire » pour créer un fichier de clés.

Pour créer un fichier de clés, procédez comme suit :

  1. Cliquez sur Fichiers de clés dans la zone de navigation de gauche.
  2. Dans le panneau Fichiers de clés, cliquez sur le bouton Créer.
  3. Dans l'onglet Create a key ring, donnez un nom à votre nouveau fichier de clés en suivant les instructions sur les caractères autorisés. Cliquez ensuite sur Créer.

Une fois créé, votre nouveau fichier de clés apparaît dans la liste des fichiers de clés et vous pourrez y transférer des clés ou en créer.

Si vous gérez des porte-clés de manière cohérente dans plusieurs environnements, vous pouvez automatiser la disposition des porte-clés et des clés à l'aide du logiciel Key Protect Module porte-clés ou du logiciel plus complet Key Protect Module tout compris. Voir À propos des modules Terraform IBM pour le contexte.

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://<region>.kms.cloud.ibm.com/api/v2/keys
  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://<region>.kms.cloud.ibm.com/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 :

Décrit les variables nécessaires à la création d'un trousseau de clés à l'aide de l'API « 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 ».
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, 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 ».
correlation_ID Facultatif. Identificateur unique utilisé pour suivre et corréler les transactions.

Une demande POST api/v2/key_rings réussie renvoie un HTTP 201 Created réponse indiquant que le trousseau de clés a été créé et qu’il est désormais prêt à accueillir des clés standard et des clés 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 intégrer une équipe qui aura besoin d'un accès spécifique à une clé qui fait partie d'un fichier de clés personnalisé, non par défaut précédemment effectué. Vous pouvez créer un nouveau fichier de clés dédié à l'équipe d'intégration et, puisque les clés ne peuvent être associées qu'à un seul fichier de clés à la fois, vous devrez déplacer la clé vers le nouveau fichier de clés.

Une fois que vous avez transféré une clé vers un autre trousseau, la modification peut prendre jusqu'à 10 minutes pour être prise en compte sur l'ensemble des systèmes.

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

Si vous ne voyez pas toutes les options que vous vous attendez à voir, c'est peut-être parce que vous ne disposez pas des droits pour exécuter une action particulière. Assurez-vous que vos rôles et vos droits sont suffisants pour exécuter l'action. Pour plus d'informations sur les rôles, voir Gestion de l'accès utilisateur.

Vous devez avoir le rôle de « Gestionnaire » de service à la fois pour la clé en cours de transfert et pour le fichier de clés cible dans lequel transférer une clé.

Dans le panneau Clés, procédez comme suit :

  1. Recherchez la clé que vous souhaitez transférer. Pour retrouver plus facilement la clé, utilisez l'une des méthodes suivantes :
    • Dans le panneau « Clés », sélectionnez le trousseau de clés à l'aide du filtre « ID du trousseau de clés ».
    • Cliquez sur « **Porte-clés ** » dans le menu de navigation de gauche, repérez le porte-clés souhaité, cliquez sur le menu d'actions (⋯), puis sélectionnez « Afficher les clés ».
  2. Cliquez sur le bouton ..., puis sélectionnez Edit key ring dans la liste déroulante.
  3. Dans la liste déroulante, sélectionnez le fichier de clés dans lequel vous souhaitez déplacer la clé. Cliquez ensuite sur Save.

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://<region>.kms.cloud.ibm.com/api/v2/keys/<keyID_or_alias>
  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 les actions de maintenance Key Protect, voir 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://<region>.kms.cloud.ibm.com/api/v2/keys/<keyID_or_alias> \
        -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 :

Décrit les variables nécessaires pour mettre à jour le trousseau d'une clé à l'aide de l'API « 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 ».
keyID_or_alias Obligatoire. Identificateur unique ou alias de la clé que vous souhaitez mettre à jour.
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 ».
original_key_ring_ID Facultatif. Identificateur unique du fichier de clés dont la clé fait actuellement partie. S'il n'est pas indiqué, Key Protect recherche la clé dans chaque fichier de clés associé à l'instance indiquée. Il est donc recommandé d'indiquer l'ID du fichier de clés pour une demande optimisée. Remarque : l'ID du fichier des clés créées sans en-tête x-kms-key-ring est : default.
correlation_ID Facultatif. Identificateur unique utilisé pour suivre et corréler les transactions.
new_key_ring_ID Obligatoire. Identificateur unique du fichier de clés cible dans lequel vous souhaitez déplacer la clé.

Une demande PATCH api/v2/keys/keyID_or_alias réussie renvoie les métadonnées de la clé, y compris l'ID du fichier de clés dont la clé fait partie.

{
    "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:kms: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": "Deprecated",
            "algorithmMetadata": {
                "bitLength": "256",
                "mode": "Deprecated"
            },
            "algorithmBitSize": 256,
            "algorithmMode": "Deprecated",
            "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 trousseau de clés au sein d'une instance d' Key Protect s à l'aide de la console IBM Cloud, de l'API IAM ou de l'interface CLI{ :external}.

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.

Pour accorder l'accès à un fichier de clés via la console, 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 une ligne de table, puis cliquez sur l'icône ⋯ pour ouvrir une liste des options de cet utilisateur.

  3. Dans le menu des options, cliquez sur Affecter un accès.

  4. Cliquez sur Affecter un accès supplémentaire aux utilisateurs.

  5. Cliquez sur le bouton Services IAM .

  6. Dans la liste des services, sélectionnez Key Protect.

  7. Sélectionnez Services basés sur des attributs.

  8. Sélectionnez l'attribut Instance ID et sélectionnez l'instance dans laquelle se trouve le fichier de clés.

  9. Sélectionnez l'attribut ID du fichier de clés et entrez l'ID associé au fichier de clés.

  10. Choisissez une combinaison de rôles d'accès de plateforme et de service pour affecter l'accès de l'utilisateur.

  11. Cliquez sur Ajouter.

  12. Continuez à ajouter des rôles d'accès à la plateforme et au service selon vos besoins et lorsque vous avez terminé, cliquez sur Affecter. Notez que l'utilisateur doit avoir au moins l'accès Lecteur pour l'instance entière pour pouvoir répertorier, créer et supprimer des fichiers de clés dans l'instance.

L'image illustre un exemple montrant comment accorder à un utilisateur l'accès à un trousseau de clés.
Montre comment accorder l'accès d'un utilisateur à une instance.

Affichage des fichiers de clés avec l'API

Pour une vue de haut niveau, vous pouvez parcourir les fichiers de clés gérés dans votre instance de Key Protect mise à disposition en effectuant un appel GET au nœud final suivant.

https://<region>.kms.cloud.ibm.com/api/v2/keys_rings
  1. Extrayez vos données d'authentification afin d'utiliser les clés dans le service.

  2. Pour consulter les caractéristiques générales de vos porte-clés, exécutez la commande suivante : commande curl.

    $ curl -X GET \ "https://<region>.kms.cloud.ibm.com/api/v2/key_rings?totalCount=<show_total>&offset=<offset_value>&limit=<offset_limit>" \
        -H "accept: application/vnd.ibm.kms.key_ring+json" \
        -H "authorization: Bearer <IAM_token>" \
        -H "bluemix-instance: <instance_ID>" \
        -H "correlation-id: <correlation_ID>"
    

    Les paramètres de requête qui suivent le point d'interrogation ? sont facultatifs, mais inclus ici pour documenter leur utilisation. ( : :note)

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

Décrit les variables nécessaires pour afficher les trousseaux de clés à l'aide de l'API « 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. L'identifiant unique attribué à votre instance d' Key Protect.

Pour plus d'informations, consultez la section « Récupération d'un identifiant d'instance ».
correlation_ID Facultatif. Identificateur unique qui est utilisé pour suivre et corréler des transactions.
offset_limit Facultatif. Par défaut, GET /key_rings renvoie une séquence de 51 fichiers de clés incluant le fichier de clés par défaut. Pour extraire un autre fichier de clés, utilisez limit avec offset pour paginer ressources disponibles. La valeur maximale de limit est '5000'.
offset_value Facultatif. En spécifiant offset, vous récupérez un sous-ensemble de fichiers de clés qui démarre à la valeur offset.
show_total Facultatif. Si elle est définie sur true, les métadonnées de réponse renvoient une valeur pour totalCount pour une utilisation avec la pagination.

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

{
    "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 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://<region>.kms.cloud.ibm.com/api/v2/key_rings/<key_ring_id>

Cette action n'aboutit pas si le fichier de clés contient au moins une clé dans un état autre que l'état Détruit . Si les seules clés du fichier de clés sont à l'état Détruit , le fichier de clés peut être supprimé si force=true est ajouté à la commande de suppression. Les clés dans cet état sont automatiquement transférées au fichier de clés default.

  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 pouvez trouver l'ID d'un fichier de clés dans votre instance Key Protect en extrayant une liste de vos fichiers de clés.

  3. Exécutez la commande curl suivante pour supprimer le fichier de clés. Notez la présence de force=true, qui force la suppression du fichier de clés s'il contient des clés à l'état Détruit .

    $ curl -X DELETE \
        "https://<region>.kms.cloud.ibm.com/api/v2/key_rings/<key_ring_id>?force=true" \
        -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 :

Décrit les variables nécessaires pour supprimer des clés à l'aide de l'API « 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 ».
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, 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 réussie renvoie une réponse HTTP 204 No Content, qui indique que le fichier de clés a été supprimé.