Surveiller et corriger la suppression planifiée des clés AWS KMS - Recommandations AWS

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.

Surveiller et corriger la suppression planifiée des clés AWS KMS

Créée par Mikesh Khanal (AWS) et Ramya Pulipaka (AWS)

Environnement : Production

Technologies : sécurité, identité, conformité ; opérations

Services AWS : Amazon SNS ; AWS CloudTrail ; Amazon CloudWatch

Récapitulatif

Sur le cloud Amazon Web Services (AWS), la suppression d'une clé AWS Key Management Services (AWS KMS) peut entraîner une perte de données. La suppression entraîne la suppression du contenu clé et de toutes les métadonnées associées à la clé AWS KMS, et elle est irréversible. Une fois qu'une clé AWS KMS est supprimée, vous ne pouvez plus déchiffrer les données chiffrées sous cette clé AWS KMS, de sorte que les données ne peuvent pas être récupérées.

Ce modèle configure la surveillance, avec des notifications lorsqu'une application ou un utilisateur planifie la suppression d'une clé AWS KMS. Si vous recevez une notification, vous souhaiterez peut-être annuler la suppression de la clé AWS KMS et reconsidérer votre décision de la supprimer. Le modèle utilise le manuel AWSConfigRemediation d'automatisation d'AWS Systems Manager CancelKeyDeletion pour faciliter l'annulation de la suppression d'une clé AWS KMS.

Remarque : Le modèle du CloudFormation modèle doit être déployé dans toutes les régions AWS dans lesquelles vous souhaitez surveiller la suppression des clés AWS KMS.

Conditions préalables et limitations

Prérequis

  • Un compte AWS actif

  • Compréhension des services AWS suivants : 

    • Amazon EventBridge

    • AWS KMS

    • Amazon Simple Notification Service (Amazon SNS)

    • AWS Systems Manager

Limites

  • Toute personnalisation de la solution nécessite une connaissance des CloudFormation modèles AWS et des services AWS utilisés dans ce modèle.

  • Actuellement, cette solution utilise le bus d'événements par défaut, et elle peut être personnalisée en fonction des besoins. Pour plus d'informations sur le bus d'événements personnalisé, consultez la documentation AWS.

Architecture

Pile technologique cible

  • Amazon EventBridge

  • AWS KMS

  • Amazon SNS

  • AWS Systems Manager

  • Automatisation à l'aide des éléments suivants :

    • Interface de ligne de commande AWS (AWS CLI) ou SDK AWS

    • CloudFormation pile AWS

Architecture cible

Schéma des cinq étapes du processus de surveillance, d'alerte et de correction.
  1. La suppression d'une clé AWS KMS est planifiée.

  2. L'événement de suppression planifiée est évalué par une règle. EventBridge

  3. La EventBridge règle concerne la rubrique Amazon SNS.

  4. La EventBridge règle initie l'automatisation et les runbooks de Systems Manager.

  5. Les runbooks annulent la suppression.

Automatisation et mise à l'échelle

La CloudFormation pile déploie toutes les ressources et tous les services nécessaires au bon fonctionnement de cette solution. Le modèle peut être exécuté indépendamment dans un seul compte ou exécuté à l'aide d'AWS CloudFormation StackSets pour plusieurs comptes indépendants ou pour une organisation.

aws cloudformation create-stack --stack-name  <stack-name>\     --template-body file://<Full-Path-of-file> \     --parameters ParameterKey=,ParameterValue= \ --capabilities CAPABILITY_NAMED_IAM

Outils

Outils

  • AWS CloudFormation — AWS CloudFormation est un service qui vous aide à modéliser et à configurer vos ressources Amazon Web Services afin que vous puissiez passer moins de temps à gérer ces ressources et plus de temps à vous concentrer sur vos applications exécutées sur AWS. Vous pouvez utiliser un CloudFormation modèle pour créer des piles dans un compte AWS dans une région AWS. Le modèle décrit toutes les ressources AWS que vous souhaitez, et CloudFormation fournit et configure ces ressources pour vous.

  • AWS CLI — L'interface de ligne de commande AWS (AWS CLI) est un outil open source que vous pouvez utiliser pour interagir avec les services AWS à l'aide de commandes dans votre shell de ligne de commande.

  • Amazon EventBridge — Amazon EventBridge est un service de bus d'événements sans serveur qui connecte vos applications à des données provenant de diverses sources. EventBridge fournit un flux de données en temps réel à partir de vos propres applications et services AWS, et achemine ces données vers des cibles telles qu'AWS Lambda. EventBridge simplifie le processus de création d'architectures pilotées par les événements.

  • AWS KMS — AWS Key Management Service (AWS KMS) est un service géré permettant de créer et de contrôler les clés AWS KMS, les clés de chiffrement utilisées pour chiffrer vos données.

  • SDK AWS — Les outils AWS incluent des kits SDK qui vous permettent de développer et de gérer des applications sur AWS dans le langage de programmation de votre choix.

  • Amazon SNS — Amazon Simple Notification Service (Amazon SNS) est un service géré qui permet aux éditeurs de transmettre des messages aux abonnés (également appelés producteurs et consommateurs). Les éditeurs communiquent de façon asynchrone avec les abonnés en envoyant un message à une rubrique, qui est un point d'accès logique et un canal de communication. 

  • AWS Systems Manager — AWS Systems Manager est un service AWS que vous pouvez utiliser pour visualiser et contrôler votre infrastructure sur AWS. À l'aide de la console Systems Manager, vous pouvez automatiser les tâches opérationnelles sur l'ensemble de vos ressources AWS. Systems Manager vous aide à maintenir la sécurité et la conformité en analysant vos Instances gérées et en signalant toute infraction à la politique (ou en prenant des mesures correctives pour y remédier).  

Code

  • Le alerting_ct_logs.yaml CloudFormation modèle du projet est joint.

Épopées

TâcheDescriptionCompétences requises

Installez et configurez l'AWS CLI.

Installez la version 2 de l'interface de ligne de commande AWS. Configurez ensuite les paramètres des informations d'identification de sécurité pour une identité, le format de sortie par défaut et la région AWS par défaut que l'AWS CLI utilise pour interagir avec AWS.

L'identité doit disposer des autorisations requises pour effectuer les tâches.

Développeur, ingénieur en sécurité
TâcheDescriptionCompétences requises

Téléchargez le CloudFormation modèle.

Téléchargez la pièce jointe sur un chemin local sur votre ordinateur et extrayez le fichier alerting_ct_logs.yaml modèle.

Développeur, ingénieur en sécurité

Déployez le modèle.

Dans la fenêtre du terminal où le profil du compte AWS a été configuré, exécutez la commande suivante.

aws cloudformation create-stack --stack-name <stack_name> \ --capabilities <Value> \ --template-body file://<Full_Path> \ --parameters ParameterKey=DestinationEmailAddress,ParameterValue=<Value> \ ParameterKey=SNSTopicName,ParameterValue=<Value> \ ParameterKey=EnableRemediation ,ParameterValue=<Value> \ ParameterKey=AutomationAssumeRole,ParameterValue=<Value>

À l'étape suivante, entrez des valeurs pour les paramètres du modèle.

Développeur, ingénieur en sécurité

Complétez les paramètres du modèle.

Entrez les valeurs requises pour les paramètres.

Développeur, ingénieur en sécurité
TâcheDescriptionCompétences requises

Confirmez votre abonnement.

Vérifiez votre boîte e-mail et choisissez Confirmer l'abonnement dans le message électronique que vous recevez d'Amazon SNS. Une fenêtre de navigateur Web s'ouvre et affiche une confirmation d'abonnement ainsi que votre identifiant d'abonnement. 

Développeur, ingénieur en sécurité

Ressources connexes

Références

Tutoriels et vidéos

Atelier AWS

Informations supplémentaires

Le code suivant fournit des exemples d'extension de la solution afin de surveiller et de vous informer de toute modification apportée à un service AWS. Les exemples incluent des modèles prédéfinis et des modèles personnalisés. Pour plus d'informations, consultez la section Événements et modèles d'événements dans EventBridge.

EventPattern:         source:         - aws.kms         detail-type:         - AWS API Call via CloudTrail         detail:           eventSource:           - kms.amazonaws.com           eventName:           - ScheduleKeyDeletion

Pièces jointes

Pour accéder au contenu supplémentaire associé à ce document, décompressez le fichier suivant : attachment.zip