Identifizieren und benachrichtigen Sie, wenn Amazon Data Firehose-Ressourcen nicht mit einem AWS-KMS-Schlüssel verschlüsselt sind - AWS Prescriptive Guidance

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Identifizieren und benachrichtigen Sie, wenn Amazon Data Firehose-Ressourcen nicht mit einem AWS-KMS-Schlüssel verschlüsselt sind

Erstellt von Ram Kandaswamy (AWS)

Umgebung: Produktion

Technologien: Management und Unternehmensführung; Analytik; Big Data CloudNative; Infrastruktur; Sicherheit, Identität, Compliance

AWS-Services: AWS CloudTrail; Amazon CloudWatch; AWS Identity and Access Management; Amazon Kinesis; AWS Lambda; Amazon SNS

Übersicht

Aus Compliance-Gründen müssen einige Organisationen die Verschlüsselung für Datenlieferressourcen wie Amazon Data Firehose aktiviert haben. Dieses Muster zeigt eine Möglichkeit, Ressourcen zu überwachen, zu erkennen und zu benachrichtigen, wenn Ressourcen nicht den Vorschriften entsprechen.

Um die Verschlüsselungsanforderungen aufrechtzuerhalten, kann dieses Muster auf Amazon Web Services (AWS) verwendet werden, um eine automatisierte Überwachung und Erkennung von Firehose-Lieferressourcen zu ermöglichen, die nicht mit dem AWS Key Management Service (AWS KMS) -Schlüssel verschlüsselt sind. Die Lösung sendet Warnmeldungen und kann erweitert werden, um automatische Problembehebungen durchzuführen. Diese Lösung kann auf ein einzelnes Konto oder eine Umgebung mit mehreren Konten angewendet werden, z. B. auf eine Umgebung, die AWS Landing Zone oder AWS Control Tower verwendet.

Voraussetzungen und Einschränkungen

Voraussetzungen

  • Firehose-Bereitstellungsdat

  • Ausreichende Berechtigungen und Vertrautheit mit AWS CloudFormation, das in dieser Infrastrukturautomatisierung verwendet wird

Einschränkungen

Die Lösung ist nicht in Echtzeit, da sie CloudTrail AWS-Ereignisse zur Erkennung verwendet und es eine Verzögerung zwischen der Erstellung einer unverschlüsselten Ressource und dem Senden der Benachrichtigung gibt.

Architektur

Zieltechnologie-Stack

Die Lösung verwendet serverlose Technologie und die folgenden Dienste:

  • AWS CloudTrail

  • Amazon CloudWatch

  • AWS-Befehlszeilenschnittstelle (AWS Command Line Interface, AWS CLI)

  • AWS Identity and Access Management (IAM)

  • Amazon Data Firehose

  • AWS Lambda

  • Amazon-Simple-Notification-Service (Amazon-SNS)

Zielarchitektur

Diagramm, das die fünf Schritte des Prozesses zeigt.
  1. Ein Benutzer erstellt oder ändert Firehose.

  2. Ein CloudTrail Ereignis wurde erkannt und abgeglichen.

  3. Lambda wird aufgerufen.

  4. Nicht konforme Ressourcen werden identifiziert.

  5. E-Mail-Benachrichtigung wird gesendet.

Automatisierung und Skalierung

Mit AWS CloudFormation StackSets können Sie diese Lösung mit einem einzigen Befehl auf mehrere AWS-Regionen oder Konten anwenden.

Tools

  • AWS CloudTrail — AWS CloudTrail ist ein AWS-Service, der Sie bei der Steuerung, der Einhaltung von Vorschriften sowie der Betriebs- und Risikoprüfung Ihres AWS-Kontos unterstützt. Aktionen, die von einem Benutzer, einer Rolle oder einem AWS-Service ausgeführt werden, werden als Ereignisse in aufgezeichnet CloudTrail. Zu den Ereignissen gehören Aktionen, die in der AWS-Managementkonsole, der AWS-Befehlszeilenschnittstelle sowie in den AWS-SDKs und API-Vorgängen durchgeführt wurden.

  • Amazon CloudWatch Events — Amazon CloudWatch Events liefert einen near-real-time Stream von Systemereignissen, die Änderungen an AWS-Ressourcen beschreiben.

  • AWS CLI — AWS Command Line Interface (AWS CLI) ist ein Open-Source-Tool, mit dem Sie mithilfe von Befehlen in Ihrer Befehlszeilen-Shell mit AWS-Services interagieren können. 

  • IAM — AWS Identity and Access Management (IAM) ist ein Webservice, mit dem Sie den Zugriff auf AWS-Ressourcen sicher kontrollieren können. Sie verwenden IAM, um zu steuern, wer authentifiziert (angemeldet) und autorisiert (Berechtigungen besitzt) ist, Ressourcen zu nutzen. 

  • Amazon Data Firehose — Amazon Data Firehose ist ein vollständig verwalteter Service für die Bereitstellung von Streaming-Daten in Echtzeit. Mit Firehose müssen Sie keine Anwendungen schreiben oder Ressourcen verwalten. Sie konfigurieren Ihre Datenproduzenten so, dass sie Daten an Firehose senden, und Firehose liefert die Daten automatisch an das von Ihnen angegebene Ziel.

  • AWS Lambda — AWS Lambda ist ein Rechenservice, der die Ausführung von Code unterstützt, ohne Server bereitzustellen oder zu verwalten. Lambda führt Ihren Code nur bei Bedarf aus und skaliert automatisch – von einigen Anforderungen pro Tag bis zu Tausenden pro Sekunde. Sie bezahlen nur für die Datenverarbeitungszeit, die Sie wirklich nutzen und es werden keine Gebühren in Rechnung gestellt, wenn Ihr Code nicht ausgeführt wird. 

  • Amazon SNS — Amazon Simple Notification Service (Amazon SNS) ist ein verwalteter Service, der die Nachrichtenzustellung von Verlagen an Abonnenten (auch bekannt als Produzenten und Verbraucher) ermöglicht.

Epen

AufgabeBeschreibungErforderliche Fähigkeiten

Stellen Sie AWS bereit CloudFormation StackSets.

Verwenden Sie in der AWS-CLI die firehose-encryption-checker.yaml Vorlage (angehängt), um das Stack-Set zu erstellen, indem Sie den folgenden Befehl ausführen.  Geben Sie ein gültiges Amazon SNS SNS-Thema Amazon Resource Name (ARN) für den Parameter ein. Die Bereitstellung sollte erfolgreich CloudWatch Event-Regeln, die Lambda-Funktion und eine IAM-Rolle mit den erforderlichen Berechtigungen, wie in der Vorlage beschrieben, erstellen.

aws cloudformation create-stack-set    --stack-set-name my-stack-set   --template-body file://firehose-encryption-checker.yaml 

Cloud-Architekt, Systemadministrator

Erstellen Sie Stack-Instanzen.

Stacks müssen in den AWS-Regionen Ihrer Wahl sowie in einem oder mehreren Konten erstellt werden.  Um Stack-Instances zu erstellen, führen Sie den folgenden Befehl aus und ersetzen Sie den Stack-Namen, die Kontonummern und die Regionen durch Ihre eigenen.

aws cloudformation create-stack-instances     --stack-set-name my-stack-set    --accounts 123456789012 223456789012   --regions us-east-1 us-east-2 us-west-1 us-west-2     --operation-preferences FailureToleranceCount=1 

Cloud-Architekt, Systemadministrator

Zugehörige Ressourcen

Zusätzliche Informationen

AWS Config unterstützt den Ressourcentyp Firehose Delivery Stream nicht, sodass eine AWS Config-Regel in der Lösung nicht verwendet werden kann.

Anlagen

Um auf zusätzliche Inhalte zuzugreifen, die mit diesem Dokument verknüpft sind, entpacken Sie die folgende Datei: attachment.zip