Création de clés - AWS Key Management Service

Création de clés

Vous pouvez créer une AWS KMS keys dans la AWS Management Console ou en utilisant l'opération CreateKey ou un modèle AWS CloudFormation. Au cours de ce processus, vous choisissez le type de clé KMS, de région (région unique ou multiple), ainsi que l'origine des éléments de clé (par défaut, AWS KMS crée les éléments de clé). Vous ne pouvez pas modifier ces propriétés après la création de la clé KMS. Vous définissez également la politique de clé pour la clé KMS, que vous pouvez modifier à tout moment.

Cette rubrique explique la création d'une clé KMS de base, une clé KMS de chiffrement symétrique pour une seule région avec des éléments de clé de AWS KMS. Vous pouvez utiliser cette clé KMS pour protéger vos ressources dans un Service AWS. Pour plus d'informations sur les clés KMS de chiffrement symétriques, veuillez consulter Spécification de clé SYMMETRIC_DEFAULT. Pour obtenir de l'aide sur la création d'autres types de clés, veuillez consulter Clés à usage spécial.

Si vous créez une clé KMS pour chiffrer les données que vous stockez ou gérez dans un service AWS, créez une clé KMS de chiffrement symétrique. Les services AWS qui sont intégrés à AWS KMS utilisent des clés KMS symétriques pour chiffrer vos données. Ces services ne prennent pas en charge le chiffrement avec des clés KMS asymétriques. Pour obtenir de l'aide sur le choix du type de clé KMS à créer, veuillez consulter Choix d'un type de clé KMS.

Note

Les clés KMS symétriques sont désormais appelées clés KMS de chiffrement symétrique. AWS KMS prend en charge deux types de clés KMS symétriques, les clés KMS de chiffrement symétriques (type par défaut) et les clés KMS HMAC, qui sont également des clés symétriques.

Lorsque vous créez une clé KMS dans la console AWS KMS, vous devez lui donner un alias (nom convivial). L'opération CreateKey ne crée pas d'alias pour la nouvelle clé KMS. Pour créer un alias pour une clé KMS nouvelle ou existante, utilisez l'opération CreateAlias. Pour de plus amples informations sur les alias dans AWS KMS, veuillez consulter Utilisation des alias.

Cette rubrique explique la création d'une clé KMS de chiffrement symétrique.

En savoir plus :

Autorisations de création de clés KMS

Pour créer une clé KMS dans la console ou à l'aide des API, vous devez disposer de l'autorisation suivante dans une politique IAM. Dans la mesure du possible, utilisez des clés de condition pour limiter les autorisations. Par exemple, vous pouvez utiliser la clé de condition kms:KeySpec dans une politique IAM pour permettre aux principaux de créer uniquement des clés de chiffrement symétriques.

Pour obtenir un exemple de politique IAM pour les entités qui créent des clés, veuillez consulter Autoriser un utilisateur à créer des clés KMS.

Note

Soyez prudent lorsque vous autorisez les principaux à gérer les balises et les alias. La modification d'une balise ou d'un alias permet d'accorder ou de refuser l'autorisation d'utiliser la clé gérée par le client. Pour plus de détails, veuillez consulter ABAC pour AWS KMS.

L'autorisation kms:PutKeyPolicy n'est pas requise pour créer la clé KMS. L'autorisation kms:CreateKey inclut l'autorisation de définir la politique de clé initiale. Toutefois, vous devez ajouter cette autorisation à la politique de clé lors de la création de la clé KMS pour vous assurer que vous pouvez contrôler l'accès à la clé KMS. L'alternative consiste à utiliser le paramètre BypassLockoutSafetyCheck, qui n'est pas recommandé.

Les clés KMS appartiennent au compte AWS dans lequel elles ont été créées. L'utilisateur IAM qui crée une clé KMS n'est pas considéré comme le propriétaire de la clé et il n'est pas automatiquement autorisé à utiliser ou à gérer la clé KMS qu'il a créée. Comme tout autre principal, le créateur de clé doit obtenir l'autorisation via une politique de clé, une politique IAM ou une autorisation. Toutefois, les principaux qui disposent de l'autorisation kms:CreateKey peuvent définir la politique de clé initiale et s'octroyer l'autorisation d'utiliser ou de gérer la clé.

Création de clés KMS de chiffrement symétriques

Vous pouvez créer des clés KMS dans la AWS Management Console ou à l'aide de l'API AWS KMS.

Cette rubrique explique la création d'une clé KMS de base, une clé KMS de chiffrement symétrique pour une seule région avec des éléments de clé de AWS KMS. Vous pouvez utiliser cette clé KMS pour protéger vos ressources dans un Service AWS. Pour obtenir de l'aide sur la création d'autres types de clés, veuillez consulter Clés à usage spécial.

Création de clés KMS de chiffrement symétriques (console)

Vous pouvez utiliser la AWS Management Console pour créer des AWS KMS keys (clés KMS).

  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 sélecteur de région dans l'angle supérieur droit de la page.

  3. Dans le volet de navigation, choisissez Clés gérées par le client.

  4. Choisissez Create key.

  5. Pour créer une clé KMS de chiffrement symétrique, pour Key type (Type de clé), choisissez Symmetric (Symétrique).

    Pour de plus amples informations sur la création d'une clé KMS asymétrique dans la console AWS KMS, veuillez consulter Création de clés KMS asymétriques (console).

  6. Dans Key usage (Utilisation de la clé), l'option Encrypt and decrypt (Chiffrer et déchiffrer) est sélectionnée pour vous.

    Pour plus d'informations sur la création de clés KMS qui génèrent et vérifient des codes MAC, veuillez consulter Création de clés KMS HMAC.

  7. Choisissez Suivant.

    Pour de plus amples informations sur les options avancées, veuillez consulter Clés à usage spécial.

  8. Saisissez un alias pour la clé KMS. Le nom d'alias ne peut pas commencer par aws/. Le préfixe aws/ est réservé par Amazon Web Services pour représenter Clés gérées par AWS dans votre compte.

    Note

    L'ajout, la suppression ou la mise à jour d'un alias peut permettre d'accorder ou de refuser l'autorisation d'utiliser la clé KMS. Pour plus de détails, veuillez consulter ABAC pour AWS KMS et Utilisation d'alias pour contrôler l'accès aux clés KMS.

    Un alias est un nom d'affichage que vous pouvez utiliser pour identifier facilement la clé KMS. Nous vous conseillons de choisir un alias qui indique le type de données que vous envisagez de protéger ou l'application que vous pensez utiliser avec la clé KMS.

    Les alias sont requis lorsque vous créez une clé KMS dans la AWS Management Console. Ils sont facultatifs lorsque vous utilisez l'opération CreateKey.

  9. (Facultatif) Saisissez une description pour la clé KMS.

    Vous pouvez ajouter une description maintenant ou la mettre à jour à tout moment, sauf si l'état de la clé est Pending Deletion ou Pending Replica Deletion. Pour ajouter, modifier ou supprimer la description d'une clé gérée par un client existante, modifiez la description dans la AWS Management Console ou utilisez l'opération UpdateKeyDescription.

  10. (Facultatif) Saisissez une clé de balise et une valeur de balise facultative. Pour ajouter plus d'une balise à la clé KMS, sélectionnez Add tag (Ajouter une balise).

    Note

    L'étiquetage ou le désétiquetage d'une clé KMS permet d'accorder ou refuser l'autorisation d'utilisation de cette clé KMS. Pour plus de détails, veuillez consulter ABAC pour AWS KMS et Utilisation de balises pour contrôler l'accès aux clés 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 de plus amples informations sur l'étiquetage des clés KMS, veuillez consulter Clés de balisage et ABAC pour AWS KMS.

  11. Choisissez Suivant.

  12. Sélectionnez les utilisateurs et les rôles IAM qui peuvent administrer la clé KMS.

    Note

    Cette politique de clé donne au Compte AWS le contrôle total de cette clé KMS. Il permet aux administrateurs de compte d'utiliser des politiques IAM pour autoriser d'autres principals à gérer la clé KMS. Pour plus d'informations, consultez politique de clé par défaut.

  13. (Facultatif) Pour empêcher les utilisateurs et les rôles IAM sélectionnés de supprimer cette clé KMS, dans la section Key deletion (Suppression de la clé) en bas de la page, décochez la case Allow key administrators to delete this key (Autoriser les administrateurs de clé à supprimer cette clé).

  14. Choisissez Suivant.

  15. Sélectionnez les utilisateurs et les rôles IAM qui peuvent utiliser la clé dans les opérations de chiffrement.

    Note

    Cette politique de clé donne au Compte AWS le contrôle total de cette clé KMS. Il permet aux administrateurs de compte d'utiliser des politiques IAM pour autoriser d'autres principals à utiliser la clé KMS dans les opérations de chiffrement. Pour plus d'informations, consultez politique de clé par défaut.

  16. (Facultatif) Vous pouvez autoriser d'autres Comptes AWS à utiliser cette clé KMS pour les opérations cryptographiques. Pour cela, dans la section Autres Comptes AWS en bas de la page, sélectionnez Ajouter un autre Compte AWS et saisissez le numéro d'identification Compte AWS d'un compte externe. Pour ajouter plusieurs comptes externes, répétez cette étape.

    Note

    Pour autoriser les principaux des comptes externes à utiliser la clé KMS, les administrateurs du compte externe doivent créer des politiques IAM qui fournissent ces autorisations. Pour plus d'informations, consultez Autoriser des utilisateurs d'autres comptes à utiliser une clé KMS.

  17. Choisissez Suivant.

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

  19. Choisissez Finish (Terminer) pour créer la clé KMS.

Création de clés KMS de chiffrement symétriques (API AWS KMS)

Vous pouvez utiliser l'opération CreateKey pour créer des AWS KMS keys de tous types. 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 suivante crée la clé KMS la plus couramment utilisée, une clé de chiffrement symétrique dans une seule région soutenue par les éléments de clé générés par AWS KMS. Cette opération n'a aucun paramètre obligatoire. Vous pouvez également souhaiter utiliser le paramètre Policy pour spécifier une politique de clé. Vous pouvez modifier la politique de clé (PutKeyPolicy) et ajouter des éléments facultatifs, comme une description et des balises, à tout moment. Vous pouvez également créer des clés asymétriques, des clés multi-régions, des clés avec des éléments de clé importés et des clés dans des magasins de clés personnalisés.

L'opération CreateKey ne vous permet pas de spécifier un alias, mais vous pouvez utiliser l'opération CreateAlias pour créer un alias pour votre nouvelle clé KMS.

Voici un exemple d'appel à l'opération CreateKey sans paramètre. Cette commande utilise toutes les valeurs par défaut. Elle crée une clé KMS de chiffrement symétrique avec les éléments de clé générés par AWS KMS.

$ aws kms create-key { "KeyMetadata": { "Origin": "AWS_KMS", "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "Description": "", "KeyManager": "CUSTOMER", "Enabled": true, "KeySpec": "SYMMETRIC_DEFAULT", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "KeyUsage": "ENCRYPT_DECRYPT", "KeyState": "Enabled", "CreationDate": 1502910355.475, "Arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "AWSAccountId": "111122223333", "MultiRegion": false "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ], } }

Si vous ne spécifiez pas de politique de clé pour votre nouvelle clé KMS, la politique de clé par défaut appliquée par CreateKey est différente de celle appliquée par la console lorsque vous utilisez cette dernière pour créer une nouvelle clé KMS.

Par exemple, cet appel à l'opération GetKeyPolicy renvoie la politique de clé appliquée par CreateKey. Il donne au Compte AWS l'accès à la clé KMS et lui permet de créer des politiques AWS Identity and Access Management (IAM) pour la clé KMS. Pour plus d'informations sur les politiques IAM et les politiques de clé pour les clés KMS, veuillez consulter Authentification et contrôle d'accès pour AWS KMS

$ aws kms get-key-policy --key-id 1234abcd-12ab-34cd-56ef-1234567890ab --policy-name default --output text { "Version" : "2012-10-17", "Id" : "key-default-1", "Statement" : [ { "Sid" : "Enable IAM policies", "Effect" : "Allow", "Principal" : { "AWS" : "arn:aws:iam::111122223333:root" }, "Action" : "kms:*", "Resource" : "*" } ] }