Création de clés KMS dans un magasin de clés personnalisé - AWS Key Management Service

Création de clés KMS dans un magasin de clés personnalisé

Une fois que vous avez créé un magasin de clés personnalisé, vous pouvez créer des AWS KMS keys dans votre magasin de clés. Il doit s'agir de clés KMS symétriques avec des éléments de clé générés par AWS KMS. Vous ne pouvez pas créer de clé KMS asymétrique ou de clé KMS avec des éléments de clé importés, et vous ne pouvez pas utiliser des CMK symétriques dans un magasin de clés personnalisé pour générer des paires de clés de données asymétriques.

Utilisez et gérez les clés KMS dans votre magasin de clés personnalisé de la même manière que vous utilisez et gérez n'importe quelle clé KMS dans AWS KMS. Par exemple, vous pouvez effectuer l'une des opérations suivantes :

  • Utilisez les clés KMS pour les opérations de chiffrement.

  • Définissez les stratégies IAM et de clés sur les clés KMS.

  • Les alias de création sont associés aux clés KMS.

  • Attachez des balises aux clés KMS.

  • Activez et désactivez les clés KMS.

  • Planifiez les suppressions des clés KMS.

Pour créer une clé KMS dans un magasin de clés personnalisé, ce dernier doit être connecté au cluster AWS CloudHSM associé et le cluster doit contenir au moins deux modules HSM actifs dans différentes zones de disponibilité. Pour obtenir l'état de connexion et le nombre de modules HSM, affichez la page des magasins de clés personnalisés dans AWS Management Console. Lorsque vous utilisez les opérations d'API, utilisez l'opération DescribeCustomKeyStores pour vérifier que le magasin de clés personnalisé est connecté. Utilisez l'opération AWS CloudHSM DescribeClusters pour obtenir le nombre de modules HSM actifs du cluster et des zones de disponibilité.

Lorsque vous créez une clé KMS dans votre magasin de clés personnalisé, AWS KMS crée la clé KMS dans AWS KMS. Toutefois, il crée les éléments de clé pour la clé KMS dans le cluster AWS CloudHSM associé. Plus précisément, AWS KMS se connecte au cluster comme le CU kmsuser que vous avez créé. Ensuite, il crée une clé symétrique AES 256 bits persistante, non extractible dans le cluster. AWS KMS définit la valeur de l'attribut de l'étiquette de clé, qui est visible uniquement dans le cluster, sur l'Amazon Resource Name (ARN) de la clé KMS.

Lorsque la commande réussit, l'état de la clé de la nouvelle clé KMS est Enabled et son origine est AWS_CLOUDHSM. Vous ne pouvez pas modifier l'origine d'une clé KMS après l'avoir créée. Lorsque vous affichez une clé KMS dans un magasin de clé personnalisé de la console ou à l'aide de l'opération DescribeKey, vous pouvez afficher les propriétés classiques, comme son ID de clé, son état de clé et sa date de création. Mais vous pouvez également voir l'ID du magasin de clés personnalisé et l'ID du cluster AWS CloudHSM (facultatif). Pour plus d'informations, consultez Affichage des clés KMS dans un magasin de clés personnalisé.

Si vous essayez de créer une clé KMS dans votre magasin de clés personnalisé, utilisez le message d'erreur pour vous aider à déterminer la cause. Il peut indiquer que le magasin de clés personnalisé n'est pas connecté (CustomKeyStoreInvalidStateException) ou le cluster AWS CloudHSM associé ne possède pas les deux modules HSM actifs qui sont requis pour cette opération (CloudHsmClusterInvalidConfigurationException). Pour obtenir de l'aide, consultez Dépannage d'un magasin de clés personnalisé.

Créer une clé KMS dans un magasin de clés personnalisé (console)

Utilisez la procédure suivante pour créer une AWS KMS key dans un magasin de clés personnalisé.

  1. Connectez-vous à la AWS Management Console et ouvrez la console AWS Key Management Service (AWS KMS) à l'adresse https://console.aws.amazon.com/kms.

  2. Pour changer de région AWS, utilisez le Region selector (Sélecteur de région) dans l’angle supérieur droit de la page.

  3. Dans le volet de navigation, sélectionnez Customer managed keys (Clés gérées par le client).

  4. Choisissez Create key.

  5. Choisissez Symmetric (Symétrique).

    Vous ne pouvez pas créer de clé KMS asymétrique dans un magasin de clés personnalisé.

  6. Choisissez Options avancées.

  7. Pour Origine de la clé, choisissez Magasin de clés personnalisé (CloudHSM).

  8. Choisissez Suivant.

  9. Sélectionnez un magasin de clés personnalisé pour votre nouvelle clé KMS. Pour créer un magasin de clés personnalisé, choisissez Créer un magasin de clés personnalisé.

    Le magasin de clés personnalisé que vous sélectionnez doit avoir l'état CONNECTÉ. Son cluster AWS CloudHSM associé doit être actif et contenir au moins deux modules HSM dans différentes zones de disponibilité.

    Pour obtenir de l'aide concernant la connexion d'un magasin de clés personnalisé, consultez Connexion et déconnexion d'un magasin de clés personnalisé. Pour obtenir de l'aide concernant l'ajout de modules HSM, veuillez consulter Ajout d'un module HSM dans le Guide de l'utilisateur AWS CloudHSM.

  10. Choisissez Suivant.

  11. Saisissez un alias et éventuellement une description pour la clé KMS.

  12. (Facultatif). Sur la page Ajouter des balises, ajoutez des balises qui identifient ou catégorisent votre clé KMS.

    Lorsque vous ajoutez des balises à vos ressources AWS, AWS génère un rapport de répartition des coûts faisant apparaître la consommation et les coûts regroupés par balises. Les balises peuvent également être utilisées pour contrôler l'accès à une clé KMS. Pour plus d'informations sur le balisage des clés KMS, veuillez consulter Clés de balisage et Utilisation de l'ABAC pour AWS KMS.

  13. Choisissez Suivant.

  14. Dans la section Administrateurs de clé, sélectionnez les utilisateurs et les rôles IAM qui peuvent gérer la clé KMS. Pour plus d'informations, veuillez consulter Autorise les administrateurs de clé à administrer la clé KMS.

    Note

    Les stratégies IAM peuvent accorder à d'autres utilisateurs et rôles IAM l'autorisation d'utiliser la clé KMS.

  15. (Facultatif) Pour empêcher les administrateurs de clé de supprimer cette clé KMS, décochez la case en bas de la page pour Autoriser les administrateurs de clé à supprimer cette clé.

  16. Choisissez Suivant.

  17. Dans la section Ce compte, sélectionnez les utilisateurs et rôles IAM de ce Compte AWS qui peuvent utiliser la clé KMS dans les opérations de chiffrement. Pour plus d'informations, veuillez consulter Autorise les administrateurs de clé à utiliser la clé KMS.

    Note

    Les stratégies IAM peuvent accorder à d'autres utilisateurs et rôles IAM l'autorisation d'utiliser la clé KMS.

  18. (Facultatif) Vous pouvez autoriser d'autres Comptes AWS à utiliser cette clé KMS pour les opérations de chiffrement. Pour cela, la section Autres Comptes AWS en bas de la page, choisissez Add another Compte AWS (Ajouter un autre compte AWS) et saisissez l'ID de Compte AWS d'un compte externe. Pour ajouter plusieurs comptes externes, répétez cette étape.

    Note

    Les administrateurs des autres Comptes AWS doivent également autoriser l'accès à la clé KMS en créant les stratégies IAM pour leurs utilisateurs. Pour de plus amples informations, veuillez consulter Autoriser des utilisateurs d'autres comptes à utiliser une clé KMS.

  19. Choisissez Suivant.

  20. Passez en revue les paramètres de clé que vous choisissez. Vous pouvez toujours revenir en arrière et modifier tous les paramètres.

  21. Lorsque vous avez terminé, choisissez Finish (Terminer) pour créer la clé.

Lorsque la procédure réussit, l'affichage montre la nouvelle clé KMS dans le magasin de clés personnalisé que vous avez choisi. Lorsque vous choisissez le nom ou l'alias de la nouvelle clé KMS, sa page de détails affiche l'origine de la clé KMS (CloudHSM), le nom et l'ID du magasin de clés personnalisé, et l'ID du cluster AWS CloudHSM. Si la procédure échoue, un message d'erreur s'affiche qui décrit l'échec.

Astuce

Pour faciliter l'identification des clés KMS dans un magasin de clés personnalisé, sur la page Clés gérées par le client, ajoutez la colonne Custom key store ID (ID du magasin de clés personnalisé) à l'affichage. Cliquez sur l'icône des paramètres en haut à droite et sélectionnez D du magasin de clés personnalisé.

Créer une clé KMS dans un magasin de clés personnalisé (API)

Pour créer une AWS KMS key (clé KMS) dans votre magasin de clés personnalisé, utilisez l'opération CreateKey. Utilisez le paramètre CustomKeyStoreId pour identifier votre magasin de clés personnalisé et spécifier une valeur Origin égale à AWS_CLOUDHSM.

Vous pouvez également souhaiter utiliser le paramètre Policy pour spécifier une stratégie de clé. Vous pouvez modifier la stratégie de clé (PutKeyPolicy) et ajouter des éléments facultatifs, comme une description et des balises, à tout moment.

Les exemples de cette section utilisent la AWS Command Line Interface (AWS CLI), mais vous pouvez utiliser n'importe quel langage de programmation pris en charge.

L'exemple suivant commence par un appel à l'opération DescribeCustomKeyStores pour vérifier que le magasin de clés personnalisé est connecté à son cluster AWS CloudHSM associé. Par défaut, cette opération renvoie tous les magasins de clés personnalisés de vos compte et région. Pour décrire uniquement un magasin de clés personnalisé, utilisez le paramètre CustomKeyStoreId ou CustomKeyStoreName (mais pas les deux).

Avant d'exécuter cette commande, remplacez l'exemple d'ID de magasin de clés personnalisé par un ID valide.

$ aws kms describe-custom-key-stores --custom-key-store-id cks-1234567890abcdef0 { "CustomKeyStores": [ "CustomKeyStoreId": "cks-1234567890abcdef0", "CustomKeyStoreName": "ExampleKeyStore", "CloudHsmClusterId": "cluster-1a23b4cdefg", "TrustAnchorCertificate": "<certificate string appears here>", "CreationDate": "1.499288695918E9", "ConnectionState": "CONNECTED" ], }

L'exemple de commande suivant utilise l'opération DescribeClusters pour vérifier que le cluster AWS CloudHSM associé à ExampleKeyStore (cluster-1a23b4cdefg) comporte au moins deux modules HSM actifs. Si le cluster a moins de deux HSM, l'opération CreateKey échoue.

$ aws cloudhsmv2 describe-clusters { "Clusters": [ { "SubnetMapping": { ... }, "CreateTimestamp": 1507133412.351, "ClusterId": "cluster-1a23b4cdefg", "SecurityGroup": "sg-865af2fb", "HsmType": "hsm1.medium", "VpcId": "vpc-1a2b3c4d", "BackupPolicy": "DEFAULT", "Certificates": { "ClusterCertificate": "-----BEGIN CERTIFICATE-----\...\n-----END CERTIFICATE-----\n" }, "Hsms": [ { "AvailabilityZone": "us-west-2a", "EniIp": "10.0.1.11", "ClusterId": "cluster-1a23b4cdefg", "EniId": "eni-ea8647e1", "StateMessage": "HSM created.", "SubnetId": "subnet-a6b10bd1", "HsmId": "hsm-abcdefghijk", "State": "ACTIVE" }, { "AvailabilityZone": "us-west-2b", "EniIp": "10.0.0.2", "ClusterId": "cluster-1a23b4cdefg", "EniId": "eni-ea8647e1", "StateMessage": "HSM created.", "SubnetId": "subnet-b6b10bd2", "HsmId": "hsm-zyxwvutsrqp", "State": "ACTIVE" }, ], "State": "ACTIVE" } ] }

Cet exemple de commande utilise l'opération https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html pour créer une clé KMS dans le magasin de clés personnalisé. Pour créer une clé KMS dans un magasin de clé personnalisé, vous devez fournir l'ID du magasin de clés personnalisé et spécifiez une valeur Origin pour AWS_CLOUDHSM.

La réponse inclut les ID du magasin de clés personnalisé et le cluster AWS CloudHSM.

Avant d'exécuter cette commande, remplacez l'exemple d'ID de magasin de clés personnalisé par un ID valide.

$ aws kms create-key --origin AWS_CLOUDHSM --custom-key-store-id cks-1234567890abcdef0 { "KeyMetadata": { "AWSAccountId": "111122223333", "Arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "CreationDate": 1.499288695918E9, "Description": "Example key", "Enabled": true, "MultiRegion": false, "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "KeyManager": "CUSTOMER", "KeyState": "Enabled", "KeyUsage": "ENCRYPT_DECRYPT", "Origin": "AWS_CLOUDHSM" "CloudHsmClusterId": "cluster-1a23b4cdefg", "CustomKeyStoreId": "cks-1234567890abcdef0" "KeySpec": "SYMMETRIC_DEFAULT", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ] } }