Créer un magasin de clés AWS CloudHSM
Vous pouvez créer un ou plusieurs magasins de clés AWS CloudHSM dans votre compte. Chaque magasin de clés AWS CloudHSM est associé à un cluster AWS CloudHSM dans les mêmes Compte AWS et région. Avant de créer votre magasin de clés AWS CloudHSM, vous devez réunir les conditions préalables. Ensuite, avant de pouvoir utiliser votre magasin de clés AWS CloudHSM, vous devez le connecter à son cluster AWS CloudHSM.
Si vous essayez de créer un magasin de clés AWS CloudHSM avec toutes les mêmes valeurs de propriétés qu'un magasin de clés AWS CloudHSM déconnecté existant, AWS KMS ne crée pas de magasin de clés AWS CloudHSM et ne lève pas d'exception ou d'erreur. Au lieu de cela, AWS KMS reconnaît que le doublon est la conséquence probable d'une nouvelle tentative et renvoie l'ID du magasin de clés AWS CloudHSM existant.
Vous n'avez pas besoin de connecter votre magasin de clés AWS CloudHSM immédiatement. Vous pouvez le conserver dans un état déconnecté jusqu'à ce que vous soyez prêt à l'utiliser. Cependant, afin de vérifier qu'il est correctement configuré, vous pouvez le connecter, afficher son état de connexion, puis le déconnecter.
Rubriques
Rassembler les conditions requises
Chaque magasin de clés AWS CloudHSM est soutenu par un cluster AWS CloudHSM. Pour créer un magasin de clés AWS CloudHSM, vous devez spécifier un cluster AWS CloudHSM actif qui n'est pas déjà associé à un autre magasin de clés. Vous devez également créer un utilisateur de chiffrement (CU) dédié dans les modules HSM du cluster que AWS KMS peut utiliser pour créer et gérer les clés en votre nom.
Avant de créer un magasin de clés AWS CloudHSM, procédez comme suit :
- Sélectionner un cluster AWS CloudHSM
-
Chaque magasin de clés AWS CloudHSM est associé à exactement un cluster AWS CloudHSM. Lorsque vous créez une AWS KMS keys dans votre magasin de clés AWS CloudHSM, AWS KMS crée les métadonnées de clé KMS, telles qu'un ID et un Amazon Resource Name (ARN) dans AWS KMS. Il crée ensuite les éléments de clé dans les modules HSM du cluster associé. Vous pouvez créer un nouveau AWS CloudHSM cluster ou en utiliser un existant. AWS KMS ne nécessite pas un accès exclusif au cluster.
Le cluster AWS CloudHSM que vous sélectionnez est définitivement associé au magasin de clés AWS CloudHSM. Une fois que vous avez créé le magasin de clés AWS CloudHSM, vous pouvez modifier l'ID de cluster associé, mais le cluster que vous spécifiez doit partager un historique de sauvegarde avec le cluster d'origine. Pour utiliser un cluster non associé, vous devez créer un nouveau magasin de clés AWS CloudHSM.
Le cluster AWS CloudHSM que vous sélectionnez doit avoir les caractéristiques suivantes :
-
Le cluster doit être actif.
Vous devez créer le cluster, l'initialiser, installer le logiciel client AWS CloudHSM pour votre plateforme, puis activer le cluster. Pour plus d'informations, veuillez consulter la rubrique Getting started with AWS CloudHSM (Démarrer avec AWS CloudHSM) dans le Guide de l'utilisateur AWS CloudHSM.
-
Le cluster doit se trouver dans les mêmes compte et région que le magasin de clés AWS CloudHSM. Vous ne pouvez pas associer un magasin de clés AWS CloudHSM dans une région à un cluster dans une autre région. Pour créer une infrastructure de clés dans plusieurs régions, vous devez créez des magasins de clés AWS CloudHSM et des clusters dans chaque région.
-
Le cluster ne peut pas être associé à un autre magasin de clés personnalisé à partir du même compte et de la même région. Chaque magasin de clés AWS CloudHSM dans le compte et la région doit être associé à un cluster AWS CloudHSM différent. Vous ne pouvez pas spécifier un cluster qui est déjà associé à un magasin de clés personnalisé ou un cluster qui partage un historique des sauvegardes avec un cluster associé. Les clusters qui partagent un historique des sauvegardes historique ont le même certificat de cluster. Pour afficher le certificat de cluster d'un cluster, utilisez la console AWS CloudHSM ou l'opération DescribeClusters.
Si vous sauvegardez un cluster AWS CloudHSM dans une autre région, il est considéré comme un cluster différent et vous pouvez associer la sauvegarde à un magasin de clés personnalisé dans sa région. Toutefois, les clés KMS des deux magasins de clés personnalisés ne sont pas interopérables, même si elles possèdent la même clé de sauvegarde. AWS KMS lie les métadonnées au texte chiffré afin qu'il ne puisse être déchiffré que par la clé KMS qui l'a chiffré.
-
Le cluster doit être configuré avec des sous-réseaux privés dans au moins deux zones de disponibilité de la région. Comme AWS CloudHSM n'est pas pris en charge dans toutes les zones de disponibilité, nous vous recommandons de créer des sous-réseaux privés dans toutes les zones de disponibilité de la région. Vous ne pouvez pas reconfigurer les sous-réseaux d'un cluster existant, mais vous pouvez créer un cluster à partir d'une sauvegarde avec différents sous-réseaux dans la configuration du cluster.
Important Après avoir créé votre magasin de clés AWS CloudHSM, ne supprimez aucun des sous-réseaux privés configurés pour son cluster AWS CloudHSM. Si AWS KMS ne trouve pas tous les sous-réseaux dans la configuration du cluster, les tentatives de connexion au magasin de clés personnalisé échouent avec un état d'erreur de connexion
SUBNET_NOT_FOUND
. Pour plus de détails, veuillez consulter Comment corriger un échec de connexion. -
Le groupe de sécurité du cluster (
cloudhsm-cluster-
) doit inclure des règles entrantes et sortantes qui autorisent le trafic TCP sur les ports 2223-2225. La source des règles entrantes et la destination des règles sortantes doit correspondre à l'ID du groupe de sécurité. Ces règles sont définies par défaut lorsque vous créez le cluster. Ne pas les supprimer ou les modifier.<cluster-id>
-sg -
Le cluster doit avoir au moins deux modules HSM actifs dans différentes zones de disponibilité. Pour vérifier le nombre de modules HSM, utilisez la console AWS CloudHSM ou l'opération DescribeClusters. Si nécessaire, vous pouvez ajouter un module HSM.
-
- Recherche le certificat approuvé (ou « trust anchor »)
-
Lorsque vous créez un magasin de clés personnalisé, vous devez charger le certificat de point de confiance pour le cluster AWS CloudHSM dans AWS KMS. AWS KMS a besoin du certificat de point de confiance pour connecter le magasin de clés AWS CloudHSM à son cluster AWS CloudHSM associé.
Chaque cluster AWS CloudHSM actif a un certificat approuvé (ou« trust anchor »). Lorsque vous initialisez le cluster, vous devez générer ce certificat, l'enregistrer dans le fichier
customerCA.crt
et le copier sur les hôtes qui se connectent au cluster. - Créez l'
kmsuser
Utilisateur de chiffrement pour AWS KMS -
Pour administrer votre magasin de clés AWS CloudHSM, AWS KMS se connecte au compte de l'utilisateur de chiffrement kmsuser (CU) du cluster sélectionné. Avant de créer votre magasin de clés AWS CloudHSM, vous devez créer le CU
kmsuser
. Ensuite, lorsque vous créez votre magasin de clés AWS CloudHSM, vous fournissez le mot de passe dukmsuser
à AWS KMS. Chaque fois que vous connectez le magasin de clés AWS CloudHSM à son cluster AWS CloudHSM associé, AWS KMS se connecte en tant quekmsuser
et effectue une rotation du mot de passekmsuser
.Important Ne spécifiez pas l'option
2FA
lorsque vous créez l'kmsuser
utilisateur de chiffrement. Si vous le faites, AWS KMS ne peut pas se connecter et votre magasin de clés AWS CloudHSM ne peut pas être connecté à ce cluster AWS CloudHSM. Une fois que vous spécifiez 2FA, vous ne pouvez pas l'annuler. Vous devez à la place supprimer l'utilisateur de chiffrement et le recréer.Pour créer l'
kmsuser
utilisateur de chiffrement, utilisez la procédure suivante.-
Démarrez cloudhsm_mgmt_util en suivant la procédure décrite dans la rubrique Getting started with CloudHSM Management Utility (CMU) [Démarrer avec CloudHSM Management Utility (CMU)] du Guide de l'utilisateur AWS CloudHSM.
-
Utilisez la commande createUser dans cloudhsm_mgmt_util pour créer un utilisateur de chiffrement nommé
kmsuser
. Le mot de passe doit contenir entre 7 et 32 caractères alphanumériques. Il est sensible à la casse et ne peut contenir aucun des caractères spéciaux.Par exemple, la commande suivante crée un CU
kmsuser
avec le mot de passekmsPswd
.aws-cloudhsm>
createUser CU kmsuser
kmsPswd
-
Créer un magasin de clés AWS CloudHSM (console)
Lorsque vous créez un magasin de clés AWS CloudHSM dans AWS Management Console, vous pouvez ajouter et créer les conditions requises comme partie intégrante de votre flux de travail. Toutefois, le processus est plus rapide que vous les avez assemblées au préalable.
-
Connectez-vous à la AWS Management Console et ouvrez la console AWS Key Management Service (AWS KMS) à l'adresse https://console.aws.amazon.com/kms
. -
Pour changer de Région AWS, utilisez le sélecteur de région dans l'angle supérieur droit de la page.
-
Dans le panneau de navigation, sélectionnez Custom key stores (Magasins de clés personnalisés), AWS CloudHSM key stores (Magasins de clés AWS CloudHSM).
-
Choisissez Créer un magasin de clés.
-
Entrez un nom convivial pour le magasin de clés personnalisé. Le nom doit être unique parmi tous les magasins de clés personnalisés de votre compte.
-
Sélectionnez un cluster AWS CloudHSM pour le magasin de clés AWS CloudHSM. Sinon, pour créer un nouveau cluster AWS CloudHSM, choisissez le lien Create an AWS CloudHSM cluster (Créer un cluster HSM).
Le menu affiche les clusters AWS CloudHSM de votre compte et de votre région qui ne sont pas déjà associés à un magasin de clés AWS CloudHSM. Le cluster doit respecter les exigences d'association à un magasin de clés personnalisé.
-
Choisissez Choose file (Choisir un fichier), puis chargez le certificat de point de confiance pour le cluster AWS CloudHSM que vous avez choisi. Il s'agit du fichier
customerCA.crt
que vous avez créé lorsque vous avez initialisé le cluster. -
Entrez le mot de passe de l'utilisateur de chiffrement kmsuser (CU) que vous avez créé dans le cluster sélectionné.
-
Sélectionnez Créer.
Lorsque la procédure est réussie, le nouveau magasin de clés AWS CloudHSM s'affiche dans la liste des magasins de clés AWS CloudHSM du compte et de la région. S'il ne réussit pas, un message d'erreur s'affiche qui décrit le problème et fournit une aide pour le résoudre. Si vous avez besoin d'aide supplémentaire, consultez Dépannage d'un magasin de clés personnalisé.
Si vous essayez de créer un magasin de clés AWS CloudHSM avec toutes les mêmes valeurs de propriétés qu'un magasin de clés AWS CloudHSM déconnecté existant, AWS KMS ne crée pas de magasin de clés AWS CloudHSM et ne lève pas d'exception ou d'erreur. Au lieu de cela, AWS KMS reconnaît que le doublon est la conséquence probable d'une nouvelle tentative et renvoie l'ID du magasin de clés AWS CloudHSM existant.
Suivant : les nouveaux magasins de clés AWS CloudHSM ne sont pas automatiquement connectés. Avant de pouvoir créer les AWS KMS keys dans le magasin de clés AWS CloudHSM, vous devez connecter le magasin de clés personnalisé à son cluster AWS CloudHSM associé.
Créer un magasin de clés AWS CloudHSM (API)
Vous pouvez utiliser l'opération CreateCustomKeyStore pour créer un nouveau magasin de clés AWS CloudHSM qui est associé à un cluster AWS CloudHSM dans le compte et la région. Ces exemples utilisent l'AWS Command Line Interface (AWS CLI), mais vous pouvez utiliser n'importe quel langage de programmation pris en charge.
L'opération CreateCustomKeyStore
nécessite les valeurs de paramètre suivantes.
-
CustomKeyStoreName : nom descriptif du magasin de clés personnalisé qui est unique dans le compte.
-
CloudHsmClusterId : ID de cluster d'un cluster AWS CloudHSM qui répond aux exigences pour un magasin de clés AWS CloudHSM.
-
KeyStorePassword : mot de passe du compte de l'utilisateur de chiffrement
kmsuser
du cluster spécifié. -
TrustAnchorCertificate : contenu du fichier
customerCA.crt
que vous avez créé lorsque vous avez initialisé le cluster.
L'exemple suivant utilise un ID de cluster fictif. Avant d'exécuter la commande, remplacez-le par un ID de cluster valide.
$
aws kms create-custom-key-store --custom-key-store-name
ExampleCloudHSMKeyStore
\ --cloud-hsm-cluster-idcluster-1a23b4cdefg
\ --key-store-passwordkmsPswd
\ --trust-anchor-certificate<certificate-goes-here>
Si vous utilisez l'AWS CLI, vous pouvez spécifier le fichier de certificat « trust anchor », au lieu de son contenu. Dans l'exemple suivant, le fichier customerCA.crt
se trouve dans le répertoire racine.
$
aws kms create-custom-key-store --custom-key-store-name
ExampleCloudHSMKeyStore
\ --cloud-hsm-cluster-idcluster-1a23b4cdefg
\ --key-store-passwordkmsPswd
\ --trust-anchor-certificatefile://customerCA.crt
Lorsque l'opération est réussie, CreateCustomKeyStore
renvoie l'ID du magasin de clés personnalisé, comme illustré dans l'exemple de réponse suivant.
{ "CustomKeyStoreId": cks-1234567890abcdef0 }
Si l'opération échoue, corrigez l'erreur indiquée par l'exception, puis réessayez. Pour obtenir de l'aide supplémentaire, consultez Dépannage d'un magasin de clés personnalisé.
Si vous essayez de créer un magasin de clés AWS CloudHSM avec toutes les mêmes valeurs de propriétés qu'un magasin de clés AWS CloudHSM déconnecté existant, AWS KMS ne crée pas de magasin de clés AWS CloudHSM et ne lève pas d'exception ou d'erreur. Au lieu de cela, AWS KMS reconnaît que le doublon est la conséquence probable d'une nouvelle tentative et renvoie l'ID du magasin de clés AWS CloudHSM existant.
Suivant : pour utiliser le magasin de clés AWS CloudHSM, connectez-le à son cluster AWS CloudHSM.