Erzwingen Sie das Tagging von EMR Amazon-Clustern beim Start - 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.

Erzwingen Sie das Tagging von EMR Amazon-Clustern beim Start

Erstellt von Priyanka Chaudhary () AWS

Umwelt: Produktion

Technologien: Analytik; Sicherheit, Identität, Compliance

AWSDienstleistungen: AmazonEMR; AWS Lambda; Amazon Events CloudWatch

Übersicht

Dieses Muster bietet eine Sicherheitskontrolle, die sicherstellt, dass EMR Amazon-Cluster bei ihrer Erstellung markiert werden. 

Amazon EMR ist ein Service von Amazon Web Services (AWS) zur Verarbeitung und Analyse riesiger Datenmengen. Amazon EMR bietet einen erweiterbaren Service mit geringer Konfiguration als einfachere Alternative zum Betrieb interner Cluster-Datenverarbeitung. Mithilfe von Tagging können Sie AWS Ressourcen auf unterschiedliche Weise kategorisieren, z. B. nach Zweck, Eigentümer oder Umgebung. Sie können beispielsweise Ihre EMR Amazon-Cluster taggen, indem Sie jedem Cluster benutzerdefinierte Metadaten zuweisen. Ein Tag besteht aus einem Schlüssel und einem Wert, die Sie definieren. Wir empfehlen Ihnen, einen konsistenten Satz von Stichwörtern zu erstellen, um die Anforderungen Ihrer Organisation zu erfüllen. Wenn Sie einem EMR Amazon-Cluster ein Tag hinzufügen, wird das Tag auch an jede aktive Amazon Elastic Compute Cloud (AmazonEC2) -Instance weitergegeben, die dem Cluster zugeordnet ist. Wenn Sie ein Tag aus einem EMR Amazon-Cluster entfernen, wird dieses Tag auch von jeder zugehörigen aktiven EC2 Instance entfernt.

Die Detective Control überwacht API Anrufe und initiiert ein Amazon CloudWatch Events-Ereignis für RunJobFlow, AddTagsRemoveTags, und CreateTagsAPIs. Das Ereignis ruft AWS Lambda auf, das ein Python-Skript ausführt. Die Python-Funktion ruft die EMR Amazon-Cluster-ID aus der JSON Eingabe des Ereignisses ab und führt die folgenden Prüfungen durch:

  • Prüfen Sie, ob der EMR Amazon-Cluster mit den von Ihnen angegebenen Tag-Namen konfiguriert ist.

  • Falls nicht, senden Sie dem Benutzer eine Amazon Simple Notification Service (AmazonSNS) -Benachrichtigung mit den entsprechenden Informationen: EMR Amazon-Clustername, Details zum Verstoß, AWS Region, AWS Konto und Amazon-Ressourcenname (ARN) für Lambda, von dem diese Benachrichtigung stammt.

Voraussetzungen und Einschränkungen

Voraussetzungen

  • Ein aktives Konto AWS

  • Ein Amazon Simple Storage Service (Amazon S3) -Bucket zum Hochladen des bereitgestellten Lambda-Codes. Oder Sie können zu diesem Zweck einen S3-Bucket erstellen, wie im Abschnitt Epics beschrieben.

  • Eine aktive E-Mail-Adresse, an die Sie Benachrichtigungen über Verstöße erhalten möchten.

  • Eine Liste der obligatorischen Stichwörter, nach denen Sie suchen möchten.

Einschränkungen

  • Diese Sicherheitskontrolle ist regional. Sie müssen es in jeder AWS Region einsetzen, die Sie überwachen möchten.

Produktversionen

  • EMRAmazon-Version 4.8.0 und höher.

Architektur

Workflow-Architektur

Clusterstart, Überwachung mithilfeAPIs, Ereignisgenerierung, Lambda-Funktionsaufruf, gesendete Benachrichtigung.

Automatisierung und Skalierung

  • Wenn Sie AWSOrganizations verwenden, können Sie AWSCloudformation verwenden, StackSets um diese Vorlage in mehreren Konten bereitzustellen, die Sie überwachen möchten.

Tools

AWSDienste

  • AWS CloudFormation— AWS CloudFormation hilft Ihnen dabei, Ihre AWS Ressourcen zu modellieren und einzurichten, sie schnell und konsistent bereitzustellen und sie während ihres gesamten Lebenszyklus zu verwalten. Sie können eine Vorlage verwenden, um Ihre Ressourcen und ihre Abhängigkeiten zu beschreiben und sie zusammen als Stapel zu starten und zu konfigurieren, anstatt Ressourcen einzeln zu verwalten. Sie können Stacks für mehrere AWS Konten und AWS Regionen verwalten und bereitstellen.

  • Amazon CloudWatch Events — Amazon CloudWatch Events bietet einen Stream von Systemereignissen, die Änderungen an AWS Ressourcen beschreiben, nahezu in Echtzeit.

  • Amazon EMR — Amazon EMR ist ein Webservice, der den Betrieb von Big-Data-Frameworks und die effiziente Verarbeitung großer Datenmengen vereinfacht.

  • AWSLambda — AWS Lambda ist ein Rechendienst, 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. 

  • Amazon S3 — Amazon Simple Storage Service (Amazon S3) ist ein Objektspeicherservice. Mit Amazon S3 können Sie jederzeit beliebige Mengen von Daten von überall aus im Internet speichern und aufrufen.

  • Amazon SNS — Amazon Simple Notification Service (AmazonSNS) koordiniert und verwaltet die Zustellung oder den Versand von Nachrichten zwischen Herausgebern und Kunden, einschließlich Webservern und E-Mail-Adressen. Abonnenten erhalten die veröffentlichten Mitteilungen zu den Themen, die sie abonniert haben. Alle Abonnenten eines Themas erhalten dieselben Mitteilungen.

Code

Dieses Muster umfasst die folgenden Anlagen:

  • EMRTagValidation.zip— Der Lambda-Code für die Sicherheitskontrolle.

  • EMRTagValidation.yml— Die CloudFormation Vorlage, die das Ereignis und die Lambda-Funktion einrichtet.

Epen

AufgabeBeschreibungErforderliche Fähigkeiten

Definieren Sie den S3-Bucket.

Wählen oder erstellen Sie in der Amazon S3 S3-Konsole einen S3-Bucket, um die Lambda-Code-ZIP-Datei zu hosten. Dieser S3-Bucket muss sich in derselben AWS Region befinden wie der EMR Amazon-Cluster, den Sie überwachen möchten. Ein Amazon S3 S3-Bucket-Name ist weltweit eindeutig, und der Namespace wird von allen AWS Konten gemeinsam genutzt. Der S3-Bucket-Name darf keine führenden Schrägstriche enthalten.

Cloud-Architekt

Laden Sie den Lambda-Code hoch.

Laden Sie die Lambda-Code-ZIP-Datei, die im Abschnitt Anlagen bereitgestellt wird, in den S3-Bucket hoch.                                              

Cloud-Architekt
AufgabeBeschreibungErforderliche Fähigkeiten

Starten Sie die AWS CloudFormation Vorlage.

Öffnen Sie die AWS CloudFormation Konsole in derselben AWS Region wie Ihr S3-Bucket und stellen Sie die Vorlage bereit. Weitere Informationen zum Bereitstellen von AWS CloudFormation Vorlagen finden Sie in der CloudFormation Dokumentation unter Erstellen eines Stacks auf der AWS CloudFormation Konsole.

Cloud-Architekt

Vervollständigen Sie die Parameter in der Vorlage.

Wenn Sie die Vorlage starten, werden Sie zur Eingabe der folgenden Informationen aufgefordert:

  • S3-Bucket: Geben Sie den Bucket an, den Sie im ersten Epic erstellt oder ausgewählt haben. Hier haben Sie den angehängten Lambda-Code (.zip-Datei) hochgeladen.

  • S3-Schlüssel: Geben Sie den Speicherort der Lambda-ZIP-Datei in Ihrem S3-Bucket an (z. B. Dateiname .zip oder controls/ filename .zip). Fügen Sie keine führenden Schrägstriche ein.

  • Benachrichtigungs-E-Mail: Geben Sie eine aktive E-Mail-Adresse an, unter der Sie SNS Amazon-Benachrichtigungen erhalten möchten.  

  • Schlüsselnamen für Tagging: Geben Sie die Tags, nach denen Sie suchen möchten, in einer durch Kommas getrennten Liste an (z. B.,ApplicationID,Environment). Owner Das Ereignis CloudWatch Ereignisse überwacht den Cluster auf diese Tags und sendet eine Benachrichtigung, wenn sie nicht gefunden werden.

  • Lambda-Protokollierungsebene: Geben Sie die Protokollierungsebene und die Häufigkeit für die Lambda-Funktion an. Verwenden Sie Info, um detaillierte Informationsmeldungen über den Fortschritt, Fehler für Fehlerereignisse, die die Fortsetzung der Bereitstellung dennoch ermöglichen würden, und Warnmeldungen für potenziell schädliche Situationen zu protokollieren.                                        

Cloud-Architekt
AufgabeBeschreibungErforderliche Fähigkeiten

Bestätigen Sie das Abonnement.

Wenn die CloudFormation Vorlage erfolgreich bereitgestellt wurde, sendet sie eine Abonnement-E-Mail an die von Ihnen angegebene E-Mail-Adresse. Sie müssen dieses E-Mail-Abonnement bestätigen, um Benachrichtigungen über Verstöße zu erhalten.

Cloud-Architekt

Zugehörige Ressourcen

Anlagen

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