Création d'un magasin de clés personnalisé - AWS Key Management Service

Création d'un magasin de clés personnalisé

Vous pouvez créer un ou plusieurs magasins de clés personnalisés dans votre compte. Chaque magasin de clés personnalisé est associé à un cluster AWS CloudHSM dans la même Région AWS. Avant de créer votre magasin de clés personnalisé, vous devez rassembler les conditions requises. Ensuite, avant de pouvoir utiliser votre magasins de clés personnalisé, vous devez le connecter à son cluster AWS CloudHSM.

Astuce

Vous n'avez pas besoin de connecter votre magasins de clés personnalisé 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 statut de connexion, puis le déconnecter.

Rassembler les conditions requises

Chaque magasin de clés personnalisé AWS KMS est soutenu par un cluster AWS CloudHSM. Pour créer un magasin de clés personnalisé, 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 personnalisé, procédez comme suit :

Sélectionner un cluster AWS CloudHSM

Chaque magasin de clés personnalisé est associé à exactement un cluster AWS CloudHSM. Lorsque vous créez une AWS KMS keys dans votre magasin de clés personnalisé, AWS KMS crée les métadonnées de clé KMS, telles qu'un ID et l'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 personnalisé. Une fois que vous avez créé le magasin de clés personnalisé, vous pouvez modifier l'ID de cluster du cluster associé, mais le cluster que vous spécifiez doit partager un historique des sauvegardes avec le cluster d'origine. Pour utiliser un cluster non associé, vous devez créer un nouveau magasin de clés personnalisé.

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 obtenir des instructions détaillées, veuillez consulter la section Mise en route du Guide de l'utilisateur AWS CloudHSM.

  • Le cluster doit se trouver dans le même compte et la même région que le magasin de clés personnalisé AWS KMS. Vous ne pouvez pas associer un magasin de clés personnalisés dans une région avec un cluster d'une région différente. Pour créer une infrastructure à clés dans plusieurs régions, vous devez créez des magasins de clés et des clusters dans chaque région.

  • Le cluster ne peut pas être associé à un autre magasin de clés personnalisé du compte. Chaque magasin de clés personnalisé doit être associée à un autre cluster AWS CloudHSM. 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.

  • 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 personnalisé, 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 :<cluster>-sg) 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.

  • 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 « trust anchor » du cluster AWS CloudHSM sur AWS KMS. AWS KMS a besoin de ce certificat pour connecter le magasin de clés personnalisé au cluster.

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 personnalisé, AWS KMS se connecte à l'kmsuser utilisateur de chiffrement (CU) du cluster sélectionné. Avant de créer votre magasin de clés personnalisé, vous devez créer l'kmsuserutilisateur de chiffrement. Ensuite, lorsque vous créez votre magasin de clés personnalisé, vous indiquez le mot de passe pour kmsuser à AWS KMS. AWS KMS effectue une rotation du mot de passe de kmsuser chaque fois que vous connectez le magasin de clés personnalisé à son cluster AWS CloudHSM associé.

Important

Ne spécifiez pas l'option 2FA lorsque vous créez l'kmsuserutilisateur de chiffrement. Si vous le faites, AWS KMS ne peut pas se connecter et votre magasin de clés personnalisé ne peut pas être connecté à son 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'kmsuserutilisateur de chiffrement, utilisez la procédure suivante.

  1. Démarrez cloudhsm_mgmt_util en suivant la procédure décrite dans la section Préparation pour exécuter la commande cloudhsm_mgmt_util du Guide de l'utilisateur AWS CloudHSM.

  2. 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 passe kmsPswd.

    aws-cloudhsm> createUser CU kmsuser kmsPswd

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

Lorsque vous créez un magasin de clés personnalisé 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.

  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 panneau de navigation, sélectionnez Custom key stores (Magasins de clés personnalisés.

  4. Choisissez Créer un magasin de clés.

  5. Entrez un nom convivial pour le magasin de clés personnalisé. Ce nom doit être unique au sein du compte.

  6. Sélectionnez un cluster AWS CloudHSM pour le magasin de clés personnalisé. Sinon, pour créer un nouveau cluster AWS CloudHSM, choisissez le lien Create an AWS CloudHSM cluster (Créer un cluster HSM).

    Le cluster doit respecter les exigences d'association à un magasin de clés personnalisé. Le menu affiche les magasins de clés personnalisés de votre compte et de votre région qui ne sont pas déjà associés à un magasin de clés personnalisé.

  7. Choisissez Charger le fichier, puis chargez le certificat approuvé (« trust anchor ») du cluster AWS CloudHSM que vous avez choisi. Il s'agit du fichier customerCA.crt que vous avez créé lorsque vous avez initialisé le cluster.

  8. Entrez le mot de passe de l'utilisateur de chiffrement kmsuser (CU) que vous avez créé dans le cluster sélectionné.

  9. Choisissez Créer.

Lorsque la procédure est réussie, le nouveau magasin de clés personnalisé s'affiche dans la liste des magasins de clés personnalisés 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é.

Suivant : les nouveaux magasins de clés personnalisés ne sont pas automatiquement connectés. Avant de pouvoir créer les AWS KMS keys dans le magasin de clés personnalisé, vous devez connecter le magasin de clés personnalisé à son cluster AWS CloudHSM associé.

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

L'opération CreateCustomKeyStore crée un magasin de clés personnalisé associé à un cluster AWS CloudHSM du compte et de 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 qui répond aux exigences en vue d'une association à un magasin de clés personnalisé.

  • 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 ExampleKeyStore \ --cloud-hsm-cluster-id cluster-1a23b4cdefg \ --key-store-password kmsPswd \ --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 ExampleKeyStore \ --cloud-hsm-cluster-id cluster-1a23b4cdefg \ --key-store-password kmsPswd \ --trust-anchor-certificate file://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é.

Ensuite, pour utiliser le magasin de clés personnalisé, connectez-le au cluster AWS CloudHSM.