Bonnes pratiques de gestion clés pour AWS KMS - AWS Directives prescriptives

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Bonnes pratiques de gestion clés pour AWS KMS

Lorsque vous utilisez AWS Key Management Service (AWS KMS), vous devez prendre certaines décisions de conception fondamentales. Il s'agit notamment de savoir s'il faut utiliser un modèle centralisé ou décentralisé pour la gestion des clés et l'accès, le type de clés à utiliser et le type de magasin de clés à utiliser. Les sections suivantes vous aident à prendre des décisions adaptées à votre organisation et à vos cas d'utilisation. Cette section se termine par des considérations importantes relatives à la désactivation et à la suppression des clés KMS, y compris les mesures que vous devez prendre pour protéger vos données et vos clés.

Choisir un modèle centralisé ou décentralisé

AWS vous recommande d'utiliser plusieurs comptes Comptes AWS et de les gérer comme une seule organisation dans AWS Organizations. Il existe deux grandes approches de gestion AWS KMS keys dans les environnements multi-comptes.

La première approche est une approche décentralisée, dans laquelle vous créez des clés dans chaque compte qui utilise ces clés. Lorsque vous stockez les clés KMS dans les mêmes comptes que les ressources qu'elles protègent, il est plus facile de déléguer des autorisations aux administrateurs locaux qui comprennent les exigences d'accès relatives à leurs AWS principaux et à leurs clés. Vous pouvez autoriser l'utilisation des clés en utilisant simplement une politique clé, ou vous pouvez combiner une politique clé et des politiques basées sur l'identité dans AWS Identity and Access Management (IAM).

La deuxième approche est une approche centralisée, dans laquelle vous conservez les clés KMS dans une ou plusieurs clés désignées Comptes AWS. Vous autorisez les autres comptes à n'utiliser les clés que pour des opérations cryptographiques. Vous gérez les clés, leur cycle de vie et leurs autorisations à partir du compte centralisé. Vous autorisez d'autres Comptes AWS personnes à utiliser la clé, mais vous n'autorisez aucune autre autorisation. Les comptes externes ne peuvent rien gérer concernant le cycle de vie de la clé ou les autorisations d'accès. Ce modèle centralisé permet de minimiser le risque de suppression involontaire de clés ou d'augmentation de privilèges par des administrateurs ou des utilisateurs délégués.

L'option que vous choisissez dépend de plusieurs facteurs. Tenez compte des points suivants lorsque vous choisissez une approche :

  1. Disposez-vous d'un processus automatique ou manuel pour fournir l'accès aux clés et aux ressources ? Cela inclut des ressources telles que les pipelines de déploiement et les modèles d'infrastructure en tant que code (IaC). Ces outils peuvent vous aider à déployer et à gérer des ressources (telles que les clés KMS, les politiques clés, les rôles IAM et les politiques IAM) sur de nombreuses plateformes. Comptes AWS Si vous ne disposez pas de ces outils de déploiement, une approche centralisée de la gestion des clés peut être plus facile à gérer pour votre entreprise.

  2. Disposez-vous d'un contrôle administratif sur tous ceux Comptes AWS qui contiennent des ressources utilisant des clés KMS ? Si tel est le cas, un modèle centralisé peut simplifier la gestion et éliminer le besoin de passer Comptes AWS à la gestion des clés. Notez toutefois que les rôles IAM et les autorisations utilisateur pour utiliser les clés doivent toujours être gérés par compte.

  3. Devez-vous offrir l'accès à vos clés KMS à des clients ou à des partenaires qui disposent de leurs propres ressources Comptes AWS et de leurs propres ressources ? Pour ces clés, une approche centralisée peut réduire la charge administrative pesant sur vos clients et partenaires.

  4. Avez-vous des exigences d'autorisation pour accéder aux AWS ressources qui sont mieux résolues par une approche d'accès centralisé ou local ? Par exemple, si différentes applications ou unités commerciales sont chargées de gérer la sécurité de leurs propres données, il est préférable d'adopter une approche décentralisée de la gestion des clés.

  5. Dépassez-vous les quotas de ressources de service pour AWS KMS ? Comme ces quotas sont définis par Compte AWS, un modèle décentralisé répartit la charge entre les comptes, multipliant ainsi efficacement les quotas de service.

    Note

    Le modèle de gestion des clés n'est pas pertinent lorsque l'on considère les quotas de demande, car ces quotas sont appliqués au principal du compte qui fait une demande concernant la clé, et non au compte qui possède ou gère la clé.

En général, nous vous recommandons de commencer par une approche décentralisée, sauf si vous pouvez exprimer le besoin d'un modèle de clé KMS centralisé.

Choix des clés gérées par le client, des clés AWS gérées ou des clés AWS détenues

Les clés KMS que vous créez et gérez pour les utiliser dans vos propres applications cryptographiques sont appelées clés gérées par le client. Services AWS peut utiliser des clés gérées par le client pour chiffrer les données que le service stocke en votre nom. Les clés gérées par le client sont recommandées si vous souhaitez avoir un contrôle total sur le cycle de vie et l'utilisation de vos clés. L'ajout d'une clé gérée par le client à votre compte entraîne des frais mensuels. En outre, les demandes d'utilisation ou de gestion de la clé entraînent un coût d'utilisation. Pour en savoir plus, consultez Pricing AWS KMS (Tarification).

Si vous souhaitez chiffrer vos données sans avoir Service AWS à supporter les frais généraux ou les coûts liés à la gestion des clés, vous pouvez utiliser une cléAWS gérée. Ce type de clé existe dans votre compte, mais il ne peut être utilisé que dans certaines circonstances. Il ne peut être utilisé que dans le contexte de Service AWS celui dans lequel vous opérez, et il ne peut être utilisé que par les principaux utilisateurs du compte qui contient la clé. Vous ne pouvez rien gérer concernant le cycle de vie ou les autorisations de ces clés. Certains Services AWS utilisent des clés AWS gérées. Le format d'un alias de clé AWS gérée estaws/<service code>. Par exemple, une aws/ebs clé ne peut être utilisée que pour chiffrer les volumes Amazon Elastic Block Store (Amazon EBS) sur le même compte que la clé et ne peut être utilisée que par les responsables IAM de ce compte. Une clé AWS gérée ne peut être utilisée que par les utilisateurs de ce compte et pour les ressources de ce compte. Vous ne pouvez pas partager des ressources chiffrées sous une clé AWS gérée avec d'autres comptes. Si cela constitue une limite pour votre cas d'utilisation, nous vous recommandons d'utiliser plutôt une clé gérée par le client ; vous pouvez partager l'utilisation de cette clé avec n'importe quel autre compte. L'existence d'une clé AWS gérée sur votre compte ne vous est pas facturée, mais toute utilisation de ce type de clé par la personne assignée à la Service AWS clé vous est facturée.

Une clé AWS gérée est un ancien type de clé qui n'est plus créé pour une nouvelle clé à Services AWS partir de 2021. Au lieu de cela, les nouveaux (et Services AWS les anciens) AWS utilisent une clé propre pour chiffrer vos données par défaut. AWS les clés détenues sont un ensemble de clés KMS qu'un Service AWS utilisateur possède et gère pour une utilisation multiple Comptes AWS. Bien que ces clés ne se trouvent pas dans votre compte Compte AWS, un homme Service AWS peut en utiliser une pour protéger les ressources de votre compte.

Nous vous recommandons d'utiliser des clés gérées par le client lorsque le contrôle granulaire est le plus important et d'utiliser des clés AWS détenues lorsque la commodité est primordiale.

Le tableau suivant décrit les principales différences en matière de politique, de journalisation, de gestion et de tarification entre chaque type de clé. Pour plus d'informations sur les types de clés, consultez la section AWS KMS Concepts.

Considération Clés gérées par le client AWS clés gérées AWS clés possédées
Stratégie de clé Contrôlé exclusivement par le client Contrôlé par le service ; visible par le client Contrôlé exclusivement et uniquement visible par le système Service AWS qui crypte vos données
Journalisation AWS CloudTrail suivi des clients ou magasin de données sur les événements CloudTrail suivi des clients ou magasin de données sur les événements Non visible par le client
Gestion du cycle de vie Le client gère la rotation, la suppression et Région AWS Service AWS gère la rotation (annuelle), la suppression et la région Service AWS gère la rotation (annuelle), la suppression et la région
Tarification Tarif mensuel pour l'existence de la clé (calculé au prorata de l'heure) ; l'utilisation de l'API est facturée à l'appelant L'existence de la clé est gratuite ; l'utilisation de l'API est facturée à l'appelant Aucuns frais pour le client

Choisir un magasin AWS KMS de clés

Un magasin de clés est un emplacement sécurisé pour le stockage et l'utilisation de clés cryptographiques. La meilleure pratique du secteur pour les magasins de clés consiste à utiliser un dispositif connu sous le nom de module de sécurité matériel (HSM) qui a été validé dans le cadre du programme de validation des modules cryptographiques FIPS (Federal Information Processing Standards) 140 du NIST au niveau de sécurité 3. Il existe d'autres programmes destinés à soutenir les principaux magasins utilisés pour traiter les paiements. AWS Payment Cryptographyest un service que vous pouvez utiliser pour protéger les données relatives à vos charges de travail de paiement.

AWS KMS prend en charge plusieurs types de magasins de clés pour protéger vos informations clés lorsque vous AWS KMS les utilisez pour créer et gérer vos clés de chiffrement. Toutes les options de stockage de clés fournies par AWS KMS sont continuellement validées selon la norme FIPS 140 au niveau de sécurité 3. Ils sont conçus pour empêcher quiconque, y compris AWS les opérateurs, d'accéder à vos clés en texte brut ou de les utiliser sans votre autorisation. Pour plus d'informations sur les types de magasins de clés disponibles, consultez la section Magasins de clés de la AWS KMS documentation.

Le magasin de clés AWS KMS standard est le meilleur choix pour la majorité des charges de travail. Si vous devez choisir un autre type de magasin de clés, déterminez soigneusement si des exigences réglementaires ou autres (internes, par exemple) imposent ce choix, et évaluez soigneusement les coûts et les avantages.

Suppression et désactivation des clés KMS

La suppression d'une clé KMS peut avoir un impact significatif. Avant de supprimer une clé KMS que vous n'avez plus l'intention d'utiliser, déterminez s'il est approprié de définir l'état de la clé sur Désactivé. Lorsqu'une clé est désactivée, elle ne peut pas être utilisée pour des opérations cryptographiques. Il existe toujours dans AWS, et vous pourrez le réactiver à l'avenir si nécessaire. Les clés désactivées continuent d'entraîner des frais de stockage. Nous vous recommandons de désactiver les clés au lieu de les supprimer jusqu'à ce que vous soyez certain qu'elles ne protègent aucune donnée ou clé de données.

Important

La suppression d'une clé doit être soigneusement planifiée. Les données ne peuvent pas être déchiffrées si la clé correspondante a été supprimée. AWS n'a aucun moyen de récupérer une clé supprimée une fois qu'elle a été supprimée. Comme pour les autres opérations critiques AWS, vous devez appliquer une politique qui limite le nombre de personnes autorisées à planifier la suppression des clés et qui exige une authentification multifactorielle (MFA) pour la suppression des clés.

Pour éviter la suppression accidentelle de la clé, AWS KMS applique une période d'attente minimale par défaut de sept jours après l'exécution d'un DeleteKey appel avant de supprimer la clé. Vous pouvez fixer le délai d'attente à une valeur maximale de 30 jours. Pendant la période d'attente, la clé est toujours stockée AWS KMS dans un état en attente de suppression. Il ne peut pas être utilisé pour des opérations de chiffrement ou de déchiffrement. Toute tentative d'utilisation d'une clé dont l'état est en attente de suppression à des fins de chiffrement ou de déchiffrement est enregistrée. AWS CloudTrail Vous pouvez définir une CloudWatch alarme Amazon pour ces événements dans vos CloudTrail journaux. Si vous recevez des alertes concernant ces événements, vous pouvez choisir d'annuler le processus de suppression si nécessaire. Jusqu'à l'expiration du délai d'attente, vous pouvez récupérer la clé à partir de l'état En attente de suppression et la restaurer à l'état Désactivé ou Activé.

La suppression d'une clé multirégionale nécessite que vous supprimiez les répliques avant la copie d'origine. Pour plus d'informations, consultez la section Suppression de clés multirégionales.

Si vous utilisez une clé avec du matériel clé importé, vous pouvez supprimer le matériel clé importé immédiatement. Cela diffère de la suppression d'une clé KMS de plusieurs manières. Lorsque vous effectuez l'DeleteImportedKeyMaterialaction, le contenu clé AWS KMS est supprimé et l'état de la clé passe à En attente d'importation. Une fois que vous avez supprimé le contenu de la clé, celle-ci devient immédiatement inutilisable. Il n'y a pas de période d'attente. Pour réactiver l'utilisation de la clé, vous devez réimporter le même matériel clé. La période d'attente pour la suppression des clés KMS s'applique également aux clés KMS contenant du matériel clé importé.

Si les clés de données sont protégées par une clé KMS et sont activement utilisées par Services AWS, elles ne sont pas immédiatement affectées si la clé KMS associée est désactivée ou si le contenu clé importé est supprimé. Supposons, par exemple, qu'une clé contenant du matériel importé ait été utilisée pour chiffrer un objet avec SSE-KMS. Vous êtes en train de télécharger l'objet dans un compartiment Amazon Simple Storage Service (Amazon S3). Avant de télécharger l'objet dans le compartiment, vous devez importer le contenu dans votre clé. Une fois l'objet chargé, vous supprimez le contenu clé importé de cette clé. L'objet reste chiffré dans le compartiment, mais personne ne peut y accéder tant que le contenu clé supprimé n'est pas réimporté dans la clé. Bien que ce flux nécessite une automatisation précise pour importer et supprimer des éléments clés d'une clé, il peut fournir un niveau de contrôle supplémentaire au sein d'un environnement.

AWS propose des conseils prescriptifs pour vous aider à surveiller et à corriger (si nécessaire) la suppression planifiée des clés KMS. Pour plus d'informations, voir Surveiller et corriger la suppression planifiée des AWS KMS clés.