

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.

# Datenschutz bei Amazon EMR
Datenschutz

Das [Modell der AWS gemeinsamen Verantwortung](https://aws.amazon.com/compliance/shared-responsibility-model/) gilt für den Datenschutz in Amazon EMR. AWS Ist, wie in diesem Modell beschrieben, für den Schutz der globalen Infrastruktur verantwortlich, auf der die gesamte AWS Cloud läuft. Sie sind dafür verantwortlich, die Kontrolle über Ihre in dieser Infrastruktur gehosteten Inhalte zu behalten. Dieser Inhalt umfasst die Sicherheitskonfiguration und die Verwaltungsaufgaben für die AWS , die Sie verwenden. Weitere Informationen zum Datenschutz finden Sie unter [Häufig gestellte Fragen zum Datenschutz](https://aws.amazon.com/compliance/data-privacy-faq/). Informationen zum Datenschutz in Europa finden Sie im [Amazon Shared Responsibility-Modell und im DSGVO-Blogbeitrag](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr/) im AWS Security Blog.

Aus Datenschutzgründen empfehlen wir Ihnen, Ihre AWS Kontoanmeldeinformationen zu schützen und individuelle Konten bei einzurichten AWS Identity and Access Management. So erhält jeder Benutzer nur die Berechtigungen, die zum Durchführen seiner Aufgaben erforderlich sind. Außerdem sollten Sie die Daten mit folgenden Methoden schützen:
+ Verwenden Sie für jedes Konto die Multi-Faktor-Authentifizierung (MFA).
+ Verwenden Sie TLS, um mit AWS Ressourcen zu kommunizieren. Wir erfordern TLS 1.2.
+ Richten Sie die API und die Protokollierung von Benutzeraktivitäten mit ein AWS CloudTrail.
+ Verwenden Sie AWS Verschlüsselungslösungen zusammen mit allen Standardsicherheitskontrollen innerhalb der AWS Dienste.
+ Verwenden Sie erweiterte verwaltete Sicherheitsservices wie Amazon Macie, die dabei helfen, in Amazon S3 gespeicherte persönliche Daten zu erkennen und zu sichern.
+ Wenn Sie für den Zugriff auf AWS über eine Befehlszeilenschnittstelle oder über eine API FIPS 140-2-validierte kryptografische Module benötigen, verwenden Sie einen FIPS-Endpunkt. Weitere Informationen über verfügbare FIPS-Endpunkte finden Sie unter [Federal Information Processing Standard (FIPS) 140-2](https://aws.amazon.com/compliance/fips/).

Wir empfehlen dringend, in Freitextfeldern wie z. B. im Feld **Name** keine sensiblen, identifizierenden Informationen wie Kontonummern von Kunden einzugeben. Dies gilt auch, wenn Sie mit Amazon EMR oder anderen AWS Services über die Konsole AWS CLI, API oder AWS SDKs arbeiten. Alle Daten, die Sie in Amazon EMR oder andere Services eingeben, werden möglicherweise in Diagnoseprotokolle aufgenommen. Wenn Sie eine URL für einen externen Server bereitstellen, schließen Sie keine Anmeldeinformationen zur Validierung Ihrer Anforderung an den betreffenden Server in die URL ein.

# Verschlüsseln Sie Daten im Ruhezustand und bei der Übertragung mit Amazon EMR


Die Datenverschlüsselung verhindert, dass nicht autorisierte Benutzer Daten auf einem Cluster und in den dazugehörigen Datenspeichersystemen lesen können. Dies gilt für auf persistenten Medien gespeicherte Daten, auch als Daten *im Ruhezustand* bezeichnet, und für Daten, die während der Übertragung im Netzwerk möglicherweise abgefangen werden, auch als Daten *während der Übertragung* bezeichnet.

Ab Amazon-EMR-Version 4.8.0 können Sie mit Amazon-EMR-Sicherheitskonfigurationen Datenverschlüsselungseinstellungen für Cluster einfacher konfigurieren. Sicherheitskonfigurationen stellen Einstellungen bereit, um die Sicherheit von Daten während der Übertragung und im Ruhezustand in Amazon Elastic Block Store (Amazon EBS)-Volumen und EMRFS in Amazon S3 zu unterstützen. 

Optional können Sie ab Amazon EMR Version 4.1.0 und höher eine transparente Verschlüsselung in HDFS konfigurieren, die nicht unter Verwendung von Sicherheitskonfigurationen konfiguriert ist. Weitere Informationen finden Sie unter [Transparente Verschlüsselung in HDFS in Amazon EMR](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-encryption-tdehdfs.html) in *Amazon-EMR-Versionenhinweise*.

**Topics**
+ [

# Verschlüsselungsoptionen für Amazon EMR
](emr-data-encryption-options.md)
+ [

# Verschlüsselung im Ruhezustand mithilfe eines Kunden-KMS-Schlüssels für den EMR WAL-Service
](encryption-at-rest-kms.md)
+ [

# Schlüssel und Zertifikate für die Datenverschlüsselung mit Amazon EMR erstellen
](emr-encryption-enable.md)
+ [

# Grundlegendes zur Verschlüsselung bei der Übertragung
](emr-encryption-support-matrix.md)

# Verschlüsselungsoptionen für Amazon EMR


Mit Amazon EMR-Versionen 4.8.0 und höher können Sie eine Sicherheitskonfiguration verwenden, um Einstellungen für die Verschlüsselung von Daten im Ruhezustand, Daten während der Übertragung oder beidem festzulegen. Wenn Sie die Datenverschlüsselung im Ruhezustand aktivieren, können Sie wählen, ob Sie EMRFS-Daten in Amazon S3, Daten auf lokalen Festplatten oder beide verschlüsseln möchten. Jede von Ihnen erstellte Sicherheitskonfiguration wird in Amazon EMR und nicht in der Cluster-Konfiguration gespeichert. Daher können Sie die Konfiguration bei jeder Cluster-Erstellung problemlos wiederverwenden, um die Datenverschlüsselung zu konfigurieren. Weitere Informationen finden Sie unter [Erstellen Sie eine Sicherheitskonfiguration mit der Amazon EMR-Konsole oder mit AWS CLI](emr-create-security-configuration.md).

Das folgende Diagramm zeigt die verschiedenen Datenverschlüsselungsoptionen, die für die Sicherheitskonfigurationen zur Verfügung stehen. 

![\[Amazon EMR bietet mehrere Verschlüsselungsoptionen während der Übertragung und im Ruhezustand.\]](http://docs.aws.amazon.com/de_de/emr/latest/ManagementGuide/images/emr-encryption-options.png)


Die folgenden Verschlüsselungsoptionen stehen ebenfalls zur Verfügung und werden nicht mit einer Sicherheitskonfiguration konfiguriert:
+ Optional können Sie mit Amazon-EMR-Versionen 4.1.0 und höher eine transparente Verschlüsselung in HDFS konfigurieren. Weitere Informationen finden Sie unter [Transparente Verschlüsselung in HDFS in Amazon EMR](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-encryption-tdehdfs.html) in *Amazon-EMR-Versionenhinweise*.
+ Wenn Sie eine Version von Amazon EMR verwenden, die Sicherheitskonfigurationen nicht unterstützt, können Sie die Verschlüsselung für EMRFS-Daten in Amazon S3 manuell konfigurieren. Weitere Informationen finden Sie unter [Amazon-S3-Verschlüsselung mithilfe von EMRFS-Eigenschaften angeben](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-emrfs-encryption.html).
+  Wenn Sie eine Amazon-EMR-Version vor 5.24.0 verwenden, wird ein verschlüsseltes EBS-Root-Volume nur unterstützt, wenn Sie ein benutzerdefiniertes AMI verwenden. Weitere Informationen finden Sie unter [Erstellen eines benutzerdefinierten AMI mit einem verschlüsselten Amazon EBS-Root-Volume](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-custom-ami.html#emr-custom-ami-encrypted) im *Verwaltungshandbuch für Amazon EMR*.

**Anmerkung**  
Ab Amazon EMR Version 5.24.0 können Sie eine Sicherheitskonfigurationsoption verwenden, um EBS-Root-Geräte und Speichervolumes zu verschlüsseln, wenn Sie dies als Ihren Schlüsselanbieter angeben AWS KMS . Weitere Informationen finden Sie unter [Verschlüsselung lokaler Datenträger](#emr-encryption-localdisk).

Die Datenverschlüsselung erfordert Aktivierungsschlüssel und Zertifikate. Eine Sicherheitskonfiguration bietet Ihnen die Flexibilität, aus mehreren Optionen zu wählen, darunter Schlüssel AWS Key Management Service, die von Amazon S3 verwaltet werden, sowie Schlüssel und Zertifikate von benutzerdefinierten Anbietern, die Sie bereitstellen. Bei der Nutzung AWS KMS als Schlüsselanbieter fallen Gebühren für die Speicherung und Verwendung von Verschlüsselungsschlüsseln an. Weitere Informationen finden Sie unter [AWS KMS Preise](https://aws.amazon.com/kms/pricing/).

Bevor Sie die Verschlüsselungsoptionen angeben, legen Sie fest, welche Verwaltungssysteme Sie für die Schlüssel und Zertifikate verwenden möchten. Auf diese Weise können Sie zunächst die Schlüssel und Zertifikate bzw. die von Ihnen bestimmten Anbieter erstellen, die Sie als Teil der Verschlüsselungseinstellungen verwenden möchten.

## Verschlüsselung im Ruhezustand von EMRFS-Daten in Amazon S3
Verschlüsselung im Ruhezustand für EMRFS in S3

Die Amazon S3-Verschlüsselung funktioniert mit Objekten des Amazon EMR File System (EMRFS), die aus Amazon S3 gelesen und in Amazon S3 geschrieben wurden. Sie geben serverseitige Verschlüsselung (SSE) von Amazon S3 oder clientseitige Verschlüsselung (CSE) als **Standardverschlüsselungsmodus** an, wenn Sie die Verschlüsselung im Ruhezustand aktivieren. Optional können Sie verschiedene Verschlüsselungsmethoden für einzelne Buckets mithilfe von **Per bucket encryption overrides (Bucket-weises Überschreiben der Verschlüsselung)** angeben. Unabhängig davon, ob Amazon-S3-Verschlüsselung aktiviert ist, verschlüsselt Transport Layer Security (TLS) EMRFS-Objekte bei der Übertragung zwischen EMR-Cluster-Knoten und Amazon S3. Weitere Informationen zur Amazon S3 S3-Verschlüsselung finden Sie unter [Schützen von Daten durch Verschlüsselung](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingEncryption.html) im *Amazon Simple Storage Service-Benutzerhandbuch*.

**Anmerkung**  
Bei der Nutzung AWS KMS fallen Gebühren für die Speicherung und Verwendung von Verschlüsselungsschlüsseln an. Weitere Informationen finden Sie unter [AWS KMS  – Preise](https://aws.amazon.com/kms/pricing/).

### Serverseitige Verschlüsselung im Amazon S3


Für alle Amazon S3-Buckets ist die Verschlüsselung standardmäßig konfiguriert, und alle neuen Objekte, die in einen S3-Bucket hochgeladen werden, werden im Ruhezustand automatisch verschlüsselt. Amazon S3 verschlüsselt Daten auf Objektebene, wenn die Daten auf die Festplatte geschrieben werden, und entschlüsselt die Daten, wenn darauf zugegriffen wird. Weitere Informationen über SSE finden Sie unter [Schutz von Daten durch serverseitige Verschlüsselung](https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html) im *Amazon Simple Storage Service User Guide*.

Wenn Sie SSE in Amazon EMR einrichten, haben Sie die Wahl zwischen zwei verschiedenen Systemen für die Schlüsselverwaltung: 
+ **SSE-S3** – Hierbei verwaltet Amazon S3 die Aktivierungsschlüssel für Sie.
+ **SSE-KMS** — Sie verwenden eine AWS KMS key , um Richtlinien einzurichten, die für Amazon EMR geeignet sind. Weitere Informationen zu den wichtigsten Anforderungen für Amazon EMR finden Sie unter [AWS KMS keys Zur Verschlüsselung verwenden](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-encryption-enable.html#emr-awskms-keys).

SSE mit vom Kunden bereitgestellten Schlüsseln (SSE-C) ist für Amazon EMR nicht verfügbar.

### Clientseitige Verschlüsselung für Amazon S3


Mit Amazon S3 bei der clientseitigen Verschlüsselung erfolgt der Amazon-S3-Ver- und Entschlüsselungsvorgang im EMRFS-Client auf Ihrem EMR-Cluster. Objekte werden vor dem Hochladen nach Amazon S3 verschlüsselt und nach dem Herunterladen entschlüsselt. Der von Ihnen festgelegte Anbieter stellt den vom Client verwendeten Verschlüsselungsschlüssel bereit. Der Client kann vom AWS KMS bereitgestellte Schlüssel (CSE-KMS) oder eine benutzerdefinierte Java-Klasse verwenden, die den clientseitigen Root-Schlüssel (CSE-C) bereitstellt. Die Verschlüsselungseigenschaften unterscheiden sich geringfügig zwischen CSE-KMS und CSE-C, abhängig vom festgelegten Anbieter und von den Metadaten des Objekts, das entschlüsselt oder verschlüsselt werden soll. Weitere Informationen zu diesen Unterschieden finden Sie unter [Schützen von Daten durch clientseitige Verschlüsselung](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingClientSideEncryption.html) im *Entwicklerhandbuch von Amazon Simple Storage Service*.

**Anmerkung**  
Amazon S3 CSE stellt nur sicher, dass EMRFS-Daten, die mit Amazon S3 ausgetauscht werden, verschlüsselt sind. Nicht alle Daten auf den Cluster-Instance-Volumes werden verschlüsselt. Da Hue EMRFS nicht verwendet, werden darüber hinaus Objekte, die vom Hue-S3-Dateibrowser in Amazon S3 geschrieben werden, nicht verschlüsselt.

## Verschlüsselung im Ruhezustand für Daten in Amazon EMR WAL
Verschlüsselung im Ruhezustand für WAL

Wenn Sie serverseitige Verschlüsselung (SSE) für Write-Ahead-Logging (WAL) einrichten, verschlüsselt Amazon EMR Daten im Ruhezustand. Sie können aus zwei verschiedenen Schlüsselverwaltungssystemen wählen, wenn Sie SSE in Amazon EMR angeben:

**SSE-EMR-WAL**  
Amazon EMR verwaltet Schlüssel für Sie. Standardmäßig verschlüsselt Amazon EMR die Daten, die Sie in Amazon EMR WAL gespeichert haben, mit. SSE-EMR-WAL

**SSE-KMS-WAL**  
Sie verwenden einen AWS KMS Schlüssel, um Richtlinien einzurichten, die für Amazon EMR WAL gelten. Weitere Informationen zur Konfiguration der Verschlüsselung im Ruhezustand für EMR WAL mithilfe eines Kunden-KMS-Schlüssels finden Sie [unter Verschlüsselung im Ruhezustand mithilfe eines Kunden-KMS-Schlüssels für den EMR WAL-Dienst](https://docs.aws.amazon.com/emr/latest/ManagementGuide/encryption-at-rest-kms.html).

**Anmerkung**  
Sie können Ihren eigenen Schlüssel nicht mit SSE verwenden, wenn Sie WAL mit Amazon EMR aktivieren. Weitere Informationen finden Sie unter [Write-Ahead-Logs (WAL) für Amazon EMR](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-hbase-wal.html).

## Verschlüsselung lokaler Datenträger


Die folgenden Mechanismen arbeiten zusammen, um lokale Datenträger zu verschlüsseln, wenn Sie die lokale Laufwerksverschlüsselung mithilfe einer Amazon-EMR-Sicherheitskonfiguration aktivieren.

### Open-Source-HDFS-Verschlüsselung


HDFS tauscht im Rahmen der verteilten Verarbeitung Daten zwischen Cluster-Instances aus. Außerdem werden Daten aus Instance-Speicher-Volumes und die an Instances angehängten EBS-Volumes gelesen und in sie geschrieben. Wenn Sie die lokale Laufwerksverschlüsselung aktivieren, werden die folgenden Open-Source-Hadoop-Verschlüsselungsoptionen aktiviert:
+ [Secure Hadoop RPC](https://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-common/SecureMode.html#Data_Encryption_on_RPC) ist auf die Option `Privacy` festgelegt, die Simple Authentication Security Layer (SASL) verwendet. 
+ [Datenverschlüsselung für HDFS-Block-Datenübertragungen](https://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-common/SecureMode.html#Data_Encryption_on_Block_data_transfer.) ist auf `true` festgelegt und für die Verwendung der AES 256-Verschlüsselung konfiguriert.

**Anmerkung**  
Sie können zusätzlich die Apache Hadoop-Verschlüsselung verwenden, indem Sie die Verschlüsselung während der Übertragung aktivieren. Weitere Informationen finden Sie unter [Verschlüsselung während der Übertragung](#emr-encryption-intransit). Diese Verschlüsselungseinstellungen aktivieren die transparente HDFS-Verschlüsselung nicht, Sie können sie jedoch manuell konfigurieren. Weitere Informationen finden Sie unter [Transparente Verschlüsselung in HDFS in Amazon EMR](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-encryption-tdehdfs.html) in *Amazon-EMR-Versionenhinweise*.

### Instance-Speicher-Verschlüsselung


Für EC2-Instance-Typen, die NVMe based SSDs als Instance-Speicher-Volume verwenden, wird die NVMe Verschlüsselung unabhängig von den Amazon EMR-Verschlüsselungseinstellungen verwendet. Weitere Informationen finden Sie unter [NVMe SSD-Volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ssd-instance-store.html#nvme-ssd-volumes) im *Amazon EC2 EC2-Benutzerhandbuch*. Für andere Instance-Speicher-Volumes verwendet Amazon EMR unabhängig davon, ob EBS-Volumes mit der EBS-Verschlüsselung oder LUKS verschlüsselt werden, LUKS zum Verschlüsseln des Instance-Speicher-Volumes, wenn die lokale Laufwerksverschlüsselung aktiviert ist.

### EBS-Volume-Verschlüsselung


Wenn Sie einen Cluster in einer Region erstellen, in der die Amazon EC2-Verschlüsselung von EBS-Volumes standardmäßig für Ihr Konto aktiviert ist, werden EBS-Volumes auch dann verschlüsselt, wenn die lokale Laufwerksverschlüsselung nicht aktiviert ist. Weitere Informationen finden Sie unter [Standardmäßige Verschlüsselung](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default) im *Amazon-EC2-Benutzerhandbuch*. Wenn die lokale Festplattenverschlüsselung in einer Sicherheitskonfiguration aktiviert ist, haben die Amazon EMR-Einstellungen Vorrang vor den Amazon EC2 encryption-by-default EC2-Einstellungen für Cluster-EC2-Instances.

Die folgenden Optionen stehen zum Verschlüsseln von EBS-Volumes mithilfe einer Sicherheitskonfiguration zur Verfügung:
+ **EBS-Verschlüsselung** – Ab Amazon EMR Version 5.24.0 können Sie wählen, ob Sie die EBS-Verschlüsselung aktivieren möchten. Die EBS-Verschlüsselungsoption verschlüsselt das EBS-Root-Volume und die angefügten Speicher-Volumes. Die EBS-Verschlüsselungsoption ist nur verfügbar, wenn Sie dies als Ihren Schlüsselanbieter angeben AWS Key Management Service . Wir empfehlen die Verwendung der EBS-Verschlüsselung. 
+ **LUKS-Verschlüsselung** – Wenn Sie die LUKS-Verschlüsselung für Amazon EBS-Volumes verwenden, gilt die LUKS-Verschlüsselung nur für angeschlossene Speichervolumes, nicht für das Root-Geräte-Volume. Weitere Informationen zur LUKS-Verschlüsselung finden Sie unter [LUKS-Datenträger-Spezifikation](https://gitlab.com/cryptsetup/cryptsetup/wikis/Specification).

  Für Ihren Schlüsselanbieter können Sie eine AWS KMS key mit Richtlinien einrichten, die für Amazon EMR geeignet sind, oder eine benutzerdefinierte Java-Klasse, die die Verschlüsselungsartefakte bereitstellt. Bei der Nutzung AWS KMS fallen Gebühren für die Speicherung und Verwendung von Verschlüsselungsschlüsseln an. Weitere Informationen finden Sie unter [AWS KMS Preise](https://aws.amazon.com/kms/pricing/).

**Anmerkung**  
Um zu überprüfen, ob die EBS-Verschlüsselung auf Ihrem Cluster aktiviert ist, wird empfohlen, den `DescribeVolumes` API-Aufruf zu verwenden. Weitere Informationen finden Sie unter [DescribeVolumes](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeVolumes.html). Bei Ausführung von `lsblk` auf dem Cluster wird nur der Status der LUKS-Verschlüsselung anstelle der EBS-Verschlüsselung überprüft.

## Verschlüsselung während der Übertragung


Bei der Verschlüsselung während der Übertragung sind mehrere Verschlüsselungsmechanismen aktiviert. Dies sind Open-Source-Funktionen, die anwendungsspezifisch sind und je nach Amazon EMR-Version variieren können. Verwenden Sie in Amazon EMR, um die Verschlüsselung während [Erstellen Sie eine Sicherheitskonfiguration mit der Amazon EMR-Konsole oder mit AWS CLI](emr-create-security-configuration.md) der Übertragung zu aktivieren. Für EMR-Cluster mit aktivierter Verschlüsselung bei der Übertragung konfiguriert Amazon EMR automatisch die Open-Source-Anwendungskonfigurationen, um die Verschlüsselung bei der Übertragung zu aktivieren. Für fortgeschrittene Anwendungsfälle können Sie Open-Source-Anwendungskonfigurationen direkt konfigurieren, um das Standardverhalten in Amazon EMR zu überschreiben. [Weitere Informationen finden Sie unter [Unterstützungsmatrix für Verschlüsselung bei der Übertragung](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-encryption-support-matrix.html) und unter Anwendungen konfigurieren.](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-configure-apps.html)

Im Folgenden finden Sie genauere Informationen zu Open-Source-Anwendungen, die für die Verschlüsselung bei der Übertragung relevant sind:
+ Wenn Sie die Verschlüsselung während der Übertragung mit einer Sicherheitskonfiguration aktivieren, aktiviert Amazon EMR die Verschlüsselung während der Übertragung für alle Open-Source-Anwendungsendpunkte, die Verschlüsselung bei der Übertragung unterstützen. Die Support der Verschlüsselung während der Übertragung für verschiedene Anwendungsendpunkte variiert je nach Amazon EMR-Release-Version. Weitere Informationen finden Sie in der Unterstützungsmatrix für Verschlüsselung bei [der Übertragung](https://docs.aws.amazon.com/).
+ Sie können Open-Source-Konfigurationen überschreiben, sodass Sie Folgendes tun können:
  + Deaktivieren Sie die Überprüfung des TLS-Hostnamens, wenn Ihre vom Benutzer bereitgestellten TLS-Zertifikate die Anforderungen nicht erfüllen
  + Deaktivieren Sie die Verschlüsselung während der Übertragung für bestimmte Endgeräte je nach Ihren Leistungs- und Kompatibilitätsanforderungen
  + Steuern Sie, welche TLS-Versionen und Cipher Suites verwendet werden sollen.

  [Weitere Informationen zu den anwendungsspezifischen Konfigurationen finden Sie in der Unterstützungsmatrix für Verschlüsselung bei der Übertragung](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-encryption-support-matrix.html)
+ Neben der Aktivierung der Verschlüsselung bei der Übertragung mit einer Sicherheitskonfiguration erfordern einige Kommunikationskanäle auch zusätzliche Sicherheitskonfigurationen, damit Sie die Verschlüsselung bei der Übertragung aktivieren können. Beispielsweise verwenden einige Open-Source-Anwendungsendpunkte Simple Authentication and Security Layer (SASL) für die Verschlüsselung während der Übertragung, was voraussetzt, dass die Kerberos-Authentifizierung in der Sicherheitskonfiguration des EMR-Clusters aktiviert ist. [Weitere Informationen zu diesen Endpunkten finden Sie in der Unterstützungsmatrix für Verschlüsselung bei der Übertragung.](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-encryption-support-matrix.html) 
+ Wir empfehlen die Verwendung von Software, die TLS v1.2 oder höher unterstützt. Amazon EMR on EC2 liefert die Standard-Corretto JDK-Distribution, die festlegt, welche TLS-Versionen, Cipher Suites und Schlüsselgrößen von den Open-Source-Netzwerken, die auf Java laufen, zugelassen werden. Derzeit erzwingen die meisten Open-Source-Frameworks TLS v1.2 oder höher für Amazon EMR 7.0.0 und höhere Versionen. Das liegt daran, dass die meisten Open-Source-Frameworks auf Java 17 für Amazon EMR 7.0.0 und höher laufen. Ältere Amazon EMR-Release-Versionen unterstützen möglicherweise TLS v1.0 und v1.1, da sie ältere Java-Versionen verwenden. Corretto JDK kann jedoch ändern, welche TLS-Versionen von Java unterstützt werden, was sich auf bestehende Amazon EMR-Versionen auswirken kann.

Für die Verwendung der Verschlüsselungsartefakte bei der Verschlüsselung von Daten während der Übertragung stehen Ihnen zwei Optionen zur Verfügung: die Bereitstellung einer ZIP-Datei mit den Zertifikaten, die Sie auf Amazon S3 hochladen, oder der Verweis auf eine benutzerdefinierte Java-Klasse, die Verschlüsselungsartefakte bereitstellt. Weitere Informationen finden Sie unter [Bereitstellen von Zertifikaten für die Verschlüsselung von Daten während der Übertragung mit der Amazon-EMR-Verschlüsselung](emr-encryption-enable.md#emr-encryption-certificates).

# Verschlüsselung im Ruhezustand mithilfe eines Kunden-KMS-Schlüssels für den EMR WAL-Service


EMR Write-Ahead Logs (WAL) bieten Kunden Unterstützung für KMS-Schlüssel. encryption-at-rest Im Folgenden wird detailliert beschrieben, wie Amazon EMR WAL integriert AWS KMS ist:

Die EMR-Write-Ahead-Logs (WAL) interagieren AWS bei den folgenden Vorgängen mit:`CreateWAL`,`AppendEdit`,`ArchiveWALCheckPoint`,,`CompleteWALFlush`, `DeleteWAL` `GetCurrentWALTime``ReplayEdits`, `EMR_EC2_DefaultRole` standardmäßig `TrimWAL` über das. Wenn eine der zuvor aufgelisteten Operationen aufgerufen wird, führt die EMR-WAL `Decrypt` und `GenerateDataKey` gegen den KMS-Schlüssel aus.

## Überlegungen


Beachten Sie Folgendes, wenn Sie die AWS KMS basierte Verschlüsselung für EMR WAL verwenden:
+ Die Verschlüsselungskonfiguration kann nicht geändert werden, nachdem eine EMR-WAL erstellt wurde.
+ Wenn Sie die KMS-Verschlüsselung mit Ihrem eigenen KMS-Schlüssel verwenden, muss der Schlüssel in derselben Region wie Ihr Amazon EMR-Cluster existieren.
+ Sie sind dafür verantwortlich, alle erforderlichen IAM-Berechtigungen aufrechtzuerhalten, und es wird empfohlen, die erforderlichen Berechtigungen während der Laufzeit der WAL nicht zu widerrufen. Andernfalls kann es zu unerwarteten Fehlerszenarien kommen, z. B. wenn EMR WAL nicht gelöscht werden kann, da der zugehörige Verschlüsselungsschlüssel nicht existiert.
+ Die Verwendung von AWS KMS Schlüsseln ist mit Kosten verbunden. Weitere Informationen finden Sie unter [AWS Key Management Service Preise](https://aws.amazon.com/kms/pricing/).

## Erforderliche IAM-Berechtigungen


Um Ihren Kunden-KMS-Schlüssel zum Verschlüsseln von EMR WAL im Ruhezustand zu verwenden, müssen Sie sicherstellen, dass Sie die richtigen Berechtigungen für die EMR WAL-Clientrolle und den EMR WAL-Dienstprinzipal festlegen. `emrwal.amazonaws.com`

### Berechtigungen für die EMR WAL-Clientrolle


Im Folgenden finden Sie die IAM-Richtlinie, die für die EMR-WAL-Clientrolle erforderlich ist:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "kms:Decrypt",
        "kms:GenerateDataKey*"
      ],
      "Resource": [
        "*"
      ],
      "Sid": "AllowKMSDecrypt"
    }
  ]
}
```

------

Der EMR-WAL-Client auf dem EMR-Cluster wird `EMR_EC2_DefaultRole` standardmäßig verwendet. Wenn Sie eine andere Rolle für das Instanzprofil im EMR-Cluster verwenden, stellen Sie sicher, dass jede Rolle über die entsprechenden Berechtigungen verfügt.

Weitere Informationen zur Verwaltung der Rollenrichtlinie finden Sie unter [Hinzufügen und Entfernen von IAM-Identitätsberechtigungen](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html).

### Berechtigungen für die KMS-Schlüsselrichtlinie


In Ihrer KMS-Richtlinie müssen Sie der EMR-WAL-Clientrolle und dem EMR-WAL-Dienst `Decrypt` und die entsprechenden `GenerateDataKey*` Berechtigungen zuweisen. Weitere Informationen zur Verwaltung von Schlüsselrichtlinien finden Sie unter [KMS-Schlüsselrichtlinie](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html).

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "kms:Decrypt",
        "kms:GenerateDataKey*"
      ],
      "Resource": [
        "arn:aws:kms:*:123456789012:key/*"
      ],
      "Sid": "AllowKMSDecrypt"
    }
  ]
}
```

------

Die im Snippet angegebene Rolle kann sich ändern, wenn Sie die Standardrolle ändern.

## Überwachung der Amazon EMR WAL-Interaktion mit AWS KMS


### Amazon EMR WAL-Verschlüsselungskontext


Ein Verschlüsselungskontext ist ein Satz von Schlüssel-Wert-Paaren, der beliebige, nicht geheime Daten enthält. Wenn Sie einen Verschlüsselungskontext in eine Anforderung zur Verschlüsselung von Daten einbeziehen, wird der Verschlüsselungskontext AWS KMS kryptografisch an die verschlüsselten Daten gebunden. Zur Entschlüsselung der Daten müssen Sie denselben Verschlüsselungskontext übergeben.

In seinen [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)und [Decrypt-Anfragen](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) an AWS KMS verwendet Amazon EMR WAL einen Verschlüsselungskontext mit einem Name-Wert-Paar, das den EMR-WAL-Namen identifiziert.

```
"encryptionContext": {
    "aws:emrwal:walname": "111222333444555-testworkspace-emrwalclustertest-emrwaltestwalname"
}
```

Sie können den Verschlüsselungskontext verwenden, um diese kryptografischen Vorgänge in Prüfaufzeichnungen und Protokollen wie [Amazon CloudWatch Logs](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) zu identifizieren AWS CloudTrail und als Voraussetzung für die Autorisierung in Richtlinien und Zuschüssen zu verwenden.

# Schlüssel und Zertifikate für die Datenverschlüsselung mit Amazon EMR erstellen


Bevor Sie Verschlüsselungsoptionen unter Verwendung einer Sicherheitskonfiguration angeben, legen Sie zunächst den Anbieter der Schlüssel und Verschlüsselungsartefakte fest. Sie können beispielsweise einen benutzerdefinierten Anbieter verwenden AWS KMS , den Sie erstellen. Erstellen Sie als Nächstes die erforderlichen Schlüssel oder den Schlüsselanbieter, wie in diesem Abschnitt beschrieben.

## Bereitstellung von Schlüsseln für die Verschlüsselung von Daten im Ruhezustand


Sie können AWS Key Management Service (AWS KMS) oder einen benutzerdefinierten Schlüsselanbieter für die Verschlüsselung von Daten im Ruhezustand in Amazon EMR verwenden. Bei der Nutzung AWS KMS fallen Gebühren für die Speicherung und Verwendung von Verschlüsselungsschlüsseln an. Weitere Informationen finden Sie unter [AWS KMS Preise](https://aws.amazon.com/kms/pricing/). 

In diesem Thema finden Sie Schlüsselrichtliniendetails für KMS Schlüssel zur Verwendung mit Amazon EMR sowie Anleitungen und Codebeispiele für das Schreiben einer benutzerdefinierten Schlüsselanbieterklasse für die Amazon S3-Verschlüsselung. Weitere Informationen zum Erstellen von -Schlüsseln finden Sie unter [Erstellen von Schlüsseln](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html) im *AWS Key Management Service -Entwicklerhandbuch*.

### AWS KMS keys Für die Verschlüsselung verwenden


Der AWS KMS Verschlüsselungsschlüssel muss in derselben Region wie Ihre Amazon EMR-Cluster-Instance und die mit EMRFS verwendeten Amazon S3 S3-Buckets erstellt werden. Wenn sich der von Ihnen angegebene Schlüssel in einem anderen Konto befindet als dem, das Sie zur Konfiguration eines Clusters verwenden, müssen Sie den Schlüssel mit seinem ARN angeben.

Die Rolle für das Amazon-EC2-Instance-Profil muss über die Berechtigung zur Nutzung des von Ihnen angegebenen KMS-Schlüssels verfügen. Die Standardrolle für das Instance-Profil in Amazon EMR ist`EMR_EC2_DefaultRole`. Wenn Sie eine andere Rolle für das Instance-Profil oder IAM-Rollen für EMRFS-Anfragen an Amazon S3 verwenden, stellen Sie sicher, dass jede Rolle je nach Bedarf als Schlüsselbenutzer hinzugefügt wird. So erhält die Rolle die Berechtigung, den KMS-Schlüssel zu verwenden. Weitere Informationen finden Sie unter [Nutzung von Schlüsselrichtlinien](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-users) im *AWS Key Management Service -Entwicklerhandbuch* und [Konfigurieren von IAM-Rollen für EMRFS-Anfragen an Amazon S3](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-emrfs-iam-roles.html).

Sie können das verwenden AWS-Managementkonsole , um Ihr Instance-Profil oder EC2-Instance-Profil zur Liste der Schlüsselbenutzer für den angegebenen KMS-Schlüssel hinzuzufügen, oder Sie können das oder ein AWS SDK verwenden, um eine AWS CLI entsprechende Schlüsselrichtlinie anzuhängen.

Hinweis: Amazon EMR unterstützt nur [symmetrische KMS-Schlüssel](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#symmetric-cmks). Sie können keinen [asymmetrischen KMS-Schlüssel](https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html#asymmetric-cmks) verwenden, um Data-at-Rest in einem Amazon-EMR-Cluster zu verschlüsseln. Wie Sie feststellen, ob ein KMS-Schlüssel symmetrisch oder asymmetrisch ist, erfahren Sie unter [Erkennen symmetrischer und asymmetrischer KMS-Schlüssel](https://docs.aws.amazon.com/kms/latest/developerguide/find-symm-asymm.html).

Im folgenden Verfahren wird beschrieben, wie Sie das Amazon-EMR-Instance-Profil mithilfe der `EMR_EC2_DefaultRole` als *Schlüsselbenutzer* mit AWS-Managementkonsole hinzufügen. Dabei wird davon ausgegangen, dass Sie bereits einen KMS-Schlüssel erstellt haben. Weitere Informationen über die Erstellung eines neuen KMS-Schlüsseln finden Sie unter [Erstellen von Schlüsseln](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html) im *AWS Key Management Service -Entwicklerhandbuch*.

**So fügen Sie das EC2-Instance-Profil für Amazon EMR zur Liste der Verschlüsselungsschlüssel-Benutzer hinzu**

1. Melden Sie sich bei der AWS Key Management Service (AWS KMS) -Konsole an AWS-Managementkonsole und öffnen Sie sie unter [https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms).

1. Um das zu ändern AWS-Region, verwenden Sie die Regionsauswahl in der oberen rechten Ecke der Seite.

1. Wählen Sie den Alias des zu ändernden KMS-Schlüssels aus.

1. Wählen Sie auf der Seite mit den Schlüsseldetails unter **Key Users (Schlüsselbenutzer(** die Option **Add (Hinzufügen)** aus.

1. Wählen Sie die entsprechende Rolle im Dialogfeld **Add key users (Schlüsselbenutzer hinzufügen)** aus. Der Name der Standardrolle lautet `EMR_EC2_DefaultRole`.

1. Wählen Sie **Hinzufügen** aus.

### Aktivieren der EBS-Verschlüsselung durch Bereitstellung zusätzlicher Berechtigungen für KMS-Schlüssel


Ab Amazon EMR Version 5.24.0 können Sie EBS-Root-Volumes und Speicher-Volumes mithilfe einer Sicherheitskonfigurationsoption verschlüsseln. Um diese Option zu aktivieren, müssen Sie AWS KMS als Ihren Schlüsselanbieter angeben. Darüber hinaus müssen Sie der Servicerolle die von `EMR_DefaultRole` Ihnen angegebenen Berechtigungen zur Verwendung der von AWS KMS key Ihnen angegebenen Rechte erteilen.

Sie können das verwenden AWS-Managementkonsole , um die Servicerolle zur Liste der Hauptbenutzer für den angegebenen KMS-Schlüssel hinzuzufügen, oder Sie können das AWS CLI oder ein AWS SDK verwenden, um eine entsprechende Schlüsselrichtlinie anzuhängen.

Das folgende Verfahren beschreibt, wie Sie die AWS-Managementkonsole standardmäßige Amazon EMR-Servicerolle `EMR_DefaultRole` als *Schlüsselbenutzer* hinzufügen können. Dabei wird davon ausgegangen, dass Sie bereits einen KMS-Schlüssel erstellt haben. Weitere Informationen über die Erstellung eines neuen KMS Schlüssels finden Sie unter [Erstellen von Schlüsseln](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html) im *AWS Key Management Service Entwicklerhandbuch*.

**Um die Amazon EMR-Servicerolle zur Liste der Benutzer von Verschlüsselungsschlüsseln hinzuzufügen**

1. Melden Sie sich bei der AWS Key Management Service (AWS KMS) -Konsole an AWS-Managementkonsole und öffnen Sie sie unter [https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms).

1. Um das zu ändern AWS-Region, verwenden Sie die Regionsauswahl in der oberen rechten Ecke der Seite.

1. Wählen Sie links **Vom Kunden verwaltete Schlüssel** aus.

1. Wählen Sie den Alias des zu ändernden KMS-Schlüssels aus.

1. Wählen Sie auf der Seite mit den Schlüsseldetails unter **Key Users (Schlüsselbenutzer(** die Option **Add (Hinzufügen)** aus.

1. Wählen **Sie im Abschnitt Hauptbenutzer hinzufügen** die entsprechende Rolle aus. Der Name der Standard-Servicerolle für Amazon EMR lautet`EMR_DefaultRole`.

1. Wählen Sie **Hinzufügen** aus.

### Erstellen eines benutzerdefinierten Schlüsselanbieters


Wenn Sie eine Sicherheitskonfiguration verwenden, müssen Sie einen anderen Anbieterklassennamen für die Verschlüsselung lokaler Datenträger und die Amazon-S3-Verschlüsselung angeben. Die Anforderungen für den benutzerdefinierten Schlüsselanbieter hängen davon ab, ob Sie die lokale Festplattenverschlüsselung und die Amazon S3 S3-Verschlüsselung sowie die Amazon EMR-Release-Version verwenden.

Abhängig von der Art der Verschlüsselung, die Sie bei der Erstellung eines benutzerdefinierten Schlüsselanbieters verwenden, muss die Anwendung auch unterschiedliche EncryptionMaterialsProvider Schnittstellen implementieren. Beide Schnittstellen sind im AWS SDK for Java Version 1.11.0 und höher verfügbar.
+ Um die Amazon S3 S3-Verschlüsselung zu implementieren, verwenden Sie das Modell [com.amazonaws.services.s3.model. EncryptionMaterialsProvider Schnittstelle.](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/s3/model/EncryptionMaterialsProvider.html)
+ Verwenden Sie die Datei [com.amazonaws.services.elasticmapreduce.spi.security, um die lokale Festplattenverschlüsselung zu implementieren. EncryptionMaterialsProvider Schnittstelle.](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/elasticmapreduce/spi/security/EncryptionMaterialsProvider.html)

Sie können jede Strategie verwenden, um Verschlüsselungsmaterial für die Implementierung bereitzustellen. Sie können sich beispielsweise dafür entscheiden, statisches Verschlüsselungsmaterial bereitzustellen oder es in ein komplexeres Schlüsselverwaltungssystem zu integrieren.

Wenn Sie die Amazon S3 S3-Verschlüsselung verwenden, müssen Sie die Verschlüsselungsalgorithmen **AES/GCM/NoPadding**für benutzerdefinierte Verschlüsselungsmaterialien verwenden.

Wenn Sie die lokale Festplattenverschlüsselung verwenden, variiert der Verschlüsselungsalgorithmus, der für benutzerdefinierte Verschlüsselungsmaterialien verwendet werden soll, je nach EMR-Version. Für Amazon EMR 7.0.0 und niedriger müssen Sie verwenden. **AES/GCM/NoPadding** **Für Amazon EMR 7.1.0 und höher müssen Sie AES verwenden.**

Die EncryptionMaterialsProvider Klasse ruft Verschlüsselungsmaterial nach Verschlüsselungskontext ab. Amazon EMR aktualisiert die Verschlüsselungskontextinformationen während der Laufzeit. So wird der Aufrufer bei der Entscheidung unterstützt, welche korrekten Verschlüsselungsmaterialien zurückzugeben sind.

**Example Beispiel: Verwenden eines benutzerdefinierten Schlüsselanbieters für die Amazon-S3-Verschlüsselung mit EMRFS**  
Wenn Amazon EMR die Verschlüsselungsmaterialien von der EncryptionMaterialsProvider Klasse abruft, um die Verschlüsselung durchzuführen, füllt EMRFS optional das Argument MaterialsDescription mit zwei Feldern auf: dem Amazon S3 S3-URI für das Objekt und dem des Clusters, die JobFlowId von der Klasse verwendet werden können, um Verschlüsselungsmaterialien selektiv zurückzugeben. EncryptionMaterialsProvider   
Beispielsweise kann der Anbieter unterschiedliche Schlüssel für unterschiedliche Amazon-S3-URI-Präfixe zurückgeben. Es ist die Beschreibung der zurückgegebenen Verschlüsselungsmaterialien, die schließlich mit dem Amazon-S3-Objekt gespeichert wird, und nicht der materialsDescription-Wert, der von EMRFS generiert und an den Anbieter weitergeleitet wird. Beim Entschlüsseln eines Amazon S3 S3-Objekts wird die Beschreibung des Verschlüsselungsmaterials an die EncryptionMaterialsProvider Klasse übergeben, sodass sie wiederum selektiv den passenden Schlüssel zur Entschlüsselung des Objekts zurückgeben kann.  
Eine EncryptionMaterialsProvider Referenzimplementierung finden Sie weiter unten. Ein weiterer benutzerdefinierter Anbieter [EMRFSRSAEncryptionMaterialsProvider](https://github.com/awslabs/emr-sample-apps/tree/master/emrfs-plugins/EMRFSRSAEncryptionMaterialsProvider),, ist erhältlich bei GitHub.   

```
import com.amazonaws.services.s3.model.EncryptionMaterials;
import com.amazonaws.services.s3.model.EncryptionMaterialsProvider;
import com.amazonaws.services.s3.model.KMSEncryptionMaterials;
import org.apache.hadoop.conf.Configurable;
import org.apache.hadoop.conf.Configuration;

import java.util.Map;

/**
 * Provides KMSEncryptionMaterials according to Configuration
 */
public class MyEncryptionMaterialsProviders implements EncryptionMaterialsProvider, Configurable{
  private Configuration conf;
  private String kmsKeyId;
  private EncryptionMaterials encryptionMaterials;

  private void init() {
    this.kmsKeyId = conf.get("my.kms.key.id");
    this.encryptionMaterials = new KMSEncryptionMaterials(kmsKeyId);
  }

  @Override
  public void setConf(Configuration conf) {
    this.conf = conf;
    init();
  }

  @Override
  public Configuration getConf() {
    return this.conf;
  }

  @Override
  public void refresh() {

  }

  @Override
  public EncryptionMaterials getEncryptionMaterials(Map<String, String> materialsDescription) {
    return this.encryptionMaterials;
  }

  @Override
  public EncryptionMaterials getEncryptionMaterials() {
    return this.encryptionMaterials;
  }
}
```

## Bereitstellen von Zertifikaten für die Verschlüsselung von Daten während der Übertragung mit der Amazon-EMR-Verschlüsselung


Mit Version Amazon EMR 4.8.0 oder höher haben Sie zwei Möglichkeiten für die Angabe von Artefakten für die Verschlüsselung von Daten während der Übertragung mithilfe einer Sicherheitskonfiguration: 
+ Sie können PEM-Zertifikate manuell erstellen, diese in einer ZIP-Datei einschließen und anschließend in Amazon S3 auf die ZIP-Datei verweisen.
+ Sie können einen benutzerdefinierten Zertifikatanbieter als Java-Klasse implementieren. Geben Sie dazu die JAR-Datei der Anwendung in Amazon S3 an und nennen Sie anschließend den vollständigen Klassennamen des Anbieters, wie in der Anwendung deklariert. Die Klasse muss die [TLSArtifactsProvider-Schnittstelle](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/elasticmapreduce/spi/security/TLSArtifactsProvider.html) implementieren, die ab AWS SDK für Java Version 1.11.0 verfügbar ist.

Amazon EMR lädt automatisch Artefakte auf jeden Knoten im Cluster herunter und verwendet sie später dazu, um die Open-Source-Features für die Verschlüsselung von Daten während der Übertragung zu implementieren. Weitere Informationen zu den verfügbaren Optionen finden Sie unter [Verschlüsselung während der Übertragung](emr-data-encryption-options.md#emr-encryption-intransit).

### Verwenden der PEM-Zertifikate


Wenn Sie eine ZIP-Datei für die Verschlüsselung von Daten während der Übertragung angeben, müssen die PEM-Dateien innerhalb der ZIP-Datei für die Sicherheitskonfiguration genau wie nachfolgend angegeben benannt sein:


**Zertifikate für Verschlüsselung von Daten während der Übertragung**  

| Dateiname | Erforderlich/optional | Details | 
| --- | --- | --- | 
| privateKey.pem | Erforderlich | Privater Schlüssel | 
| certificateChain.pem | Erforderlich | Zertifikatskette | 
| trustedCertificates.pem | Optional | Es wird empfohlen, ein Zertifikat bereitzustellen, das nicht von der standardmäßigen vertrauenswürdigen Stammzertifizierungsstelle (CA) von Java signiert ist, oder von einer Zwischenzertifizierungsstelle, die eine Verbindung zur standardmäßigen vertrauenswürdigen Stammzertifizierungsstelle von Java herstellen kann. Wir empfehlen nicht, public zu verwenden, wenn Sie Platzhalterzertifikate verwenden oder CAs wenn Sie die Hostnamenüberprüfung deaktivieren. | 

Möglicherweise sollten Sie die private Schlüssel-PEM-Datei als Platzhalterzertifikat konfigurieren, so gewähren Sie Zugriff auf die Amazon VPC-Domain, in der Ihre Cluster-Instances gespeichert sind. Wenn sich Ihr Cluster beispielsweise in der Region us-east-1 (N. Virginia) befindet, könnten Sie in der Zertifikatskonfiguration einen allgemeinen Namen angeben, der durch die Angabe von `CN=*.ec2.internal` in der Zertifikatsubjektdefinition Zugriff auf den Cluster gewährt. Wenn sich Ihr Cluster in der Region us-west-2 (Oregon) befindet, könnten Sie `CN=*.us-west-2.compute.internal` angeben.

Wenn die bereitgestellte PEM-Datei im Verschlüsselungsartefakt kein Platzhalterzeichen für die Domäne im allgemeinen Namen enthält, müssen Sie den Wert von to ändern. `hadoop.ssl.hostname.verifier` `ALLOW_ALL` Fügen Sie dazu in den Amazon EMR-Versionen 7.3.0 und höher die `core-site` Klassifizierung hinzu, wenn Sie Konfigurationen an einen Cluster senden. Fügen Sie in Versionen vor 7.3.0 die Konfiguration `"hadoop.ssl.hostname.verifier": "ALLOW_ALL"` direkt zur Datei hinzu. `core-site.xml` Diese Änderung ist erforderlich, da die standardmäßige Hostnamen-Verifizierung einen Hostnamen ohne Platzhalter erfordert, da ihn alle Hosts im Cluster verwenden. Weitere Informationen zur EMR-Clusterkonfiguration innerhalb einer Amazon VPC finden Sie unter .[Konfiguration von Netzwerken in einer VPC für Amazon EMR](emr-plan-vpc-subnet.md)

Das folgende Beispiel zeigt, wie [OpenSSL](https://www.openssl.org/) verwendet wird, um ein selbstsigniertes X.509-Zertifikat mit einem privaten 2048-Bit-RSA-Schlüssel zu generieren. Der Schlüssel ermöglicht den Zugriff auf die Amazon-EMR-Cluster-Instances des Ausstellers in der Region `us-west-2` (Oregon), wie durch den Domainnamen `*.us-west-2.compute.internal` als allgemeiner Name angegeben.

Es können weitere optionale Subjektelemente wie Land (Country, C), Status (Status, S), Gebietsschema (Locale, L) usw. angegeben werden. Da ein selbstsigniertes Zertifikat generiert wird, kopiert der zweite Befehl im Beispiel die Datei `certificateChain.pem` zur Datei `trustedCertificates.pem`. Der dritte Befehl verwendet `zip` zum Erstellen der Datei `my-certs.zip`, die die Zertifikate enthält.



**Wichtig**  
Dieses Beispiel dient nur zur Veranschaulichung. proof-of-concept Die Verwendung von selbstsignierten Zertifikaten wird nicht empfohlen und stellt ein potenzielles Sicherheitsrisiko dar. Verwenden Sie eine vertrauenswürdige Zertifizierungsstelle (CA), um die Zertifikate für Produktionssysteme auszustellen.

```
$ openssl req -x509 -newkey rsa:2048 -keyout privateKey.pem -out certificateChain.pem -days 365 -nodes -subj '/C=US/ST=Washington/L=Seattle/O=MyOrg/OU=MyDept/CN=*.us-west-2.compute.internal'
$ cp certificateChain.pem trustedCertificates.pem
$ zip -r -X my-certs.zip certificateChain.pem privateKey.pem trustedCertificates.pem
```

# Grundlegendes zur Verschlüsselung bei der Übertragung
Unterstützung für Verschlüsselung bei der Übertragung

Sie können einen EMR-Cluster für die Ausführung von Open-Source-Frameworks wie [Apache Spark](https://aws.amazon.com/emr/features/spark/), [Apache Hive](https://aws.amazon.com/emr/features/hive/) und [Presto](https://aws.amazon.com/emr/features/presto/) konfigurieren. Jedes dieser Open-Source-Frameworks hat eine Reihe von Prozessen, die auf den EC2-Instances eines Clusters ausgeführt werden. Jeder dieser Prozesse kann Netzwerkendpunkte für die Netzwerkkommunikation hosten.

Wenn die Verschlüsselung während der Übertragung auf einem EMR-Cluster aktiviert ist, verwenden verschiedene Netzwerkendpunkte unterschiedliche Verschlüsselungsmechanismen. In den folgenden Abschnitten erfahren Sie mehr über die spezifischen Open-Source-Framework-Netzwerkendpunkte, die mit der Verschlüsselung während der Übertragung unterstützt werden, die zugehörigen Verschlüsselungsmechanismen und welche Amazon EMR-Version diese Unterstützung hinzugefügt hat. Jede Open-Source-Anwendung verfügt möglicherweise auch über unterschiedliche Best Practices und Open-Source-Framework-Konfigurationen, die Sie ändern können. 

 Um die Verschlüsselung während der Übertragung bestmöglich abzudecken, empfehlen wir, sowohl die Verschlüsselung während der Übertragung als auch Kerberos zu aktivieren. Wenn Sie nur die Verschlüsselung bei der Übertragung aktivieren, ist die Verschlüsselung bei der Übertragung nur für die Netzwerkendpunkte verfügbar, die TLS unterstützen. Kerberos ist erforderlich, da einige Open-Source-Framework-Netzwerkendpunkte Simple Authentication and Security Layer (SASL) für die Verschlüsselung während der Übertragung verwenden.

Beachten Sie, dass Open-Source-Frameworks, die in Amazon EMR 7.x.x-Versionen nicht unterstützt werden, nicht enthalten sind.

## Spark


Wenn Sie die Verschlüsselung während der Übertragung in Sicherheitskonfigurationen aktivieren, `spark.authenticate` wird automatisch die AES-basierte Verschlüsselung für `true` RPC-Verbindungen ausgewählt und verwendet.

Ab Amazon EMR 7.3.0 können Sie Spark-Anwendungen, die vom Hive-Metastore abhängen, nicht mehr verwenden, wenn Sie Verschlüsselung bei der Übertragung und Kerberos-Authentifizierung verwenden. [Hive 3 behebt dieses Problem in HIVE-16340.](https://issues.apache.org/jira/browse/HIVE-16340) [HIVE-44114](https://issues.apache.org/jira/browse/SPARK-44114) behebt dieses Problem vollständig, wenn Open-Source-Spark auf Hive 3 aktualisiert werden kann. In der Zwischenzeit können Sie sich daran machen, dieses Problem `hive.metastore.use.SSL` zu `false` umgehen. Weitere Informationen finden Sie unter [Konfigurieren von Anwendungen](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-configure-apps.html).

Weitere Informationen finden Sie unter [Spark-Sicherheit](https://spark.apache.org/docs/latest/security) in der Apache Spark-Dokumentation.


| Komponente | Endpoint | Port | Verschlüsselungsmechanismus bei der Übertragung | Ab Version unterstützt | 
| --- | --- | --- | --- | --- | 
|  Spark History Server  |  spark.ssl.history.port  |  18480  |  TLS  |  emr-5.3.0\$1, emr-6.0.0\$1, emr-7.0.0\$1  | 
|  Spark-Benutzeroberfläche  |  spark.ui.port  |  4440  |  TLS  |  emr-5.3.0\$1, emr-6.0.0\$1, emr-7.0.0\$1  | 
|  Spark-Treiber  |  spark.driver.port  |  Dynamisch  |  AES-basierte Verschlüsselung auf Spark-Basis  |  emr-4.8.0\$1, emr-5.0.0\$1, emr-6.0.0\$1, emr-7.0.0\$1  | 
|  Spark Executor  |  Executor-Port (keine benannte Konfiguration)  |  Dynamisch  |  AES-Basierte Verschlüsselung auf Spark-Basis  |  emr-4.8.0\$1, emr-5.0.0\$1, emr-6.0.0\$1, emr-7.0.0\$1  | 
|  GARN NodeManager  |  spark.shuffle.service.port 1  |  7337  |  AES-basierte Verschlüsselung auf Spark-Basis  |  emr-4.8.0\$1, emr-5.0.0\$1, emr-6.0.0\$1, emr-7.0.0\$1  | 

1 wird auf YARN `spark.shuffle.service.port` gehostet, aber nur von Apache NodeManager Spark verwendet.

**Bekanntes Problem**

Bei Clustern mit aktiviertem Intransit verwendet die `spark.yarn.historyServer.address` Konfiguration derzeit den Port`18080`, wodurch der Zugriff auf die Benutzeroberfläche der Spark-Anwendung mithilfe der YAR-Tracking-URL verhindert wird. **Betrifft Version:** EMR - 7.3.0 bis EMR - 7.9.0.

Verwenden Sie die folgende Problemumgehung:

1. Ändern Sie die `spark.yarn.historyServer.address` Konfiguration so`/etc/spark/conf/spark-defaults.conf`, dass die `HTTPS` Portnummer `18480` auf einem laufenden Cluster verwendet wird.

1. Dies kann auch in Form von Konfigurationsüberschreibungen beim Starten des Clusters bereitgestellt werden.

Beispielkonfiguration:

```
[
                               {
                                 "Classification": "spark-defaults",
                                 "Properties": {
                                     "spark.yarn.historyServer.address": "${hadoopconf-yarn.resourcemanager.hostname}:18480"
                                 }
                               }
  
                               ]
```

## Hadoop-GARN


[Secure Hadoop RPC ist auf](https://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-common/SecureMode.html#Data_Encryption_on_RPC) SASL-basierte Verschlüsselung bei der Übertragung eingestellt `privacy` und verwendet diese. Dies setzt voraus, dass die Kerberos-Authentifizierung in der Sicherheitskonfiguration aktiviert ist. Wenn Sie keine Verschlüsselung während der Übertragung für Hadoop RPC wünschen, konfigurieren Sie. `hadoop.rpc.protection = authentication` Wir empfehlen, die Standardkonfiguration für maximale Sicherheit zu verwenden.

Wenn Ihre TLS-Zertifikate die Anforderungen zur Überprüfung des TLS-Hostnamens nicht erfüllen, können Sie sie konfigurieren`hadoop.ssl.hostname.verifier = ALLOW_ALL`. Wir empfehlen Ihnen, die Standardkonfiguration von zu verwenden`hadoop.ssl.hostname.verifier = DEFAULT`, die die Überprüfung des TLS-Hostnamens erzwingt. 

Um HTTPS für die Endpunkte der YARN-Webanwendung zu deaktivieren, konfigurieren Sie. `yarn.http.policy = HTTP_ONLY` Dadurch bleibt der Datenverkehr zu diesen Endpunkten unverschlüsselt. Wir empfehlen, die Standardkonfiguration für maximale Sicherheit zu verwenden.

Weitere Informationen finden Sie unter [Hadoop in Secure Mode](https://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-common/SecureMode.html) in der Apache-Hadoop-Dokumentation.


| Komponente | Endpoint | Port | Verschlüsselungsmechanismus bei der Übertragung | Ab Version unterstützt | 
| --- | --- | --- | --- | --- | 
| ResourceManager |  yarn.resourcemanager.webapp.address  |  8088  |  TLS  |  emr-7.3.0\$1  | 
| ResourceManager |  yarn.resourcemanager.resource-tracker.address  |  8025  |  SASL \$1 Kerberos  |  emr-4.8.0\$1, emr-5.0.0\$1, emr-6.0.0\$1, emr-7.0.0\$1  | 
| ResourceManager |  yarn.resourcemanager.scheduler.address  |  8030  |  SASL \$1 Kerberos  |  emr-4.8.0\$1, emr-5.0.0\$1, emr-6.0.0\$1, emr-7.0.0\$1  | 
| ResourceManager |  yarn.resourcemanager.address  |  8032  |  SASL \$1 Kerberos  |  emr-4.8.0\$1, emr-5.0.0\$1, emr-6.0.0\$1, emr-7.0.0\$1  | 
| ResourceManager |  yarn.resourcemanager.admin.address  |  8033  |  SASL \$1 Kerberos  |  emr-4.8.0\$1, emr-5.0.0\$1, emr-6.0.0\$1, emr-7.0.0\$1  | 
| TimelineServer |  garn.timeline-service.adresse  |  10200  |  SASL \$1 Kerberos  |  emr-4.8.0\$1, emr-5.0.0\$1, emr-6.0.0\$1, emr-7.0.0\$1  | 
| TimelineServer |  garn.timeline-service.webapp.adresse  |  8188  |  TLS  |  emr-7.3.0\$1  | 
|  WebApplicationProxy  |  yarn.web-proxy.address  |  20888  |  SASL \$1 Kerberos  |  emr-4.8.0\$1, emr-5.0.0\$1, emr-6.0.0\$1, emr-7.0.0\$1  | 
|  NodeManager  |  yarn.nodemanager.address  |  8041  |  SASL \$1 Kerberos  |  emr-4.8.0\$1, emr-5.0.0\$1, emr-6.0.0\$1, emr-7.0.0\$1  | 
|  NodeManager  |  yarn.nodemanager.localizer.address  |  8040  |  SASL \$1 Kerberos  |  emr-4.8.0\$1, emr-5.0.0\$1, emr-6.0.0\$1, emr-7.0.0\$1  | 
|  NodeManager  |  yarn.nodemanager.webapp.address  |  8044  |  TLS  |  emr-7.3.0\$1  | 
|  NodeManager  |  mapreduce.shuffle.Anschluss 1  |  13562  |  TLS  |  emr-4.8.0\$1, emr-5.0.0\$1, emr-6.0.0\$1, emr-7.0.0\$1  | 
|  NodeManager  |  spark.shuffle.service.port 2  |  7337  |  AES-basierte Verschlüsselung auf Spark-Basis  |  emr-4.8.0\$1, emr-5.0.0\$1, emr-6.0.0\$1, emr-7.0.0\$1  | 

1 wird auf `mapreduce.shuffle.port` YARN gehostet, aber nur von Hadoop NodeManager verwendet. MapReduce

2 `spark.shuffle.service.port` wird auf YARN gehostet NodeManager , aber nur von Apache Spark verwendet.

**Bekanntes Problem**

Die `yarn.log.server.url` Konfiguration in verwendet derzeit HTTP mit Port 19888, wodurch der Zugriff auf Anwendungsprotokolle über die Resource Manager-Benutzeroberfläche verhindert wird. **Betrifft Version:** EMR - 7.3.0 bis EMR - 7.8.0.

Verwenden Sie die folgende Problemumgehung:

1. Ändern Sie die `yarn.log.server.url` Konfiguration so`yarn-site.xml`, dass das `HTTPS` Protokoll und die Portnummer `19890` verwendet werden.

1. Starten Sie YARN Resource Manager neu:`sudo systemctl restart hadoop-yarn-resourcemanager.service`.

## Hadoop HDFS


Der Hadoop-Name-Node, der Datenknoten und der Journal-Node unterstützen standardmäßig TLS, wenn die Verschlüsselung während der Übertragung in EMR-Clustern aktiviert ist.

[Secure Hadoop RPC ist auf](https://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-common/SecureMode.html#Data_Encryption_on_RPC) „auf“ eingestellt `privacy` und verwendet eine SASL-basierte Verschlüsselung bei der Übertragung. Dies setzt voraus, dass die Kerberos-Authentifizierung in der Sicherheitskonfiguration aktiviert ist.

Wir empfehlen, die für HTTPS-Endpunkte verwendeten Standardports nicht zu ändern.

[Die Datenverschlüsselung bei der HDFS-Blockübertragung verwendet](https://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-common/SecureMode.html#Data_Encryption_on_Block_data_transfer.) AES 256 und erfordert, dass die Verschlüsselung im Ruhezustand in der Sicherheitskonfiguration aktiviert ist.

Weitere Informationen finden Sie unter [Hadoop in Secure Mode](https://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-common/SecureMode.html) in der Apache-Hadoop-Dokumentation.


| Komponente | Endpoint | Port | Verschlüsselungsmechanismus bei der Übertragung | Ab Version unterstützt | 
| --- | --- | --- | --- | --- | 
|  Namenode  |  dfs.namenode.https-Adresse  |  9871  |  TLS  |  emr-4.8.0\$1, emr-5.0.0\$1, emr-6.0.0\$1, emr-7.0.0\$1  | 
|  Benennen Sie den Knoten  |  dfs.namenode.rpc-address  |  8020  |  SASL \$1 Kerberos  |  emr-4.8.0\$1, emr-5.0.0\$1, emr-6.0.0\$1, emr-7.0.0\$1  | 
|  Datenknoten  |  dfs.datanode.https.address  |  9865  |  TLS  |  emr-4.8.0\$1, emr-5.0.0\$1, emr-6.0.0\$1, emr-7.0.0\$1  | 
|  Datenknoten  |  dfs.datanode.address  |  9866  |  SASL \$1 Kerberos  |  emr-4.8.0\$1, emr-5.0.0\$1, emr-6.0.0\$1, emr-7.0.0\$1  | 
|  Journalknoten  |  dfs.journalnode.https-Adresse  |  8481  |  TLS  |  emr-4.8.0\$1, emr-5.0.0\$1, emr-6.0.0\$1, emr-7.0.0\$1  | 
|  Journalknoten  |  dfs.journalnode.rpc-Adresse  |  8485  |  SASL \$1 Kerberos  |  emr-4.8.0\$1, emr-5.0.0\$1, emr-6.0.0\$1, emr-7.0.0\$1  | 
|  DFSZKFailoverSteuerung  |  dfs.ha.zkfc.port  |  8019  |  Keine  |  TLS für ZKFC wird nur in Hadoop 3.4.0 unterstützt. Weitere Informationen finden Sie unter [HADOOP-18919](https://issues.apache.org/jira/browse/HADOOP-18919). Amazon EMR Version 7.1.0 befindet sich derzeit auf Hadoop 3.3.6. Höhere Amazon EMR-Versionen sind in future auf Hadoop 3.4.0 verfügbar  | 

## Hadoop MapReduce


Hadoop MapReduce, Job History Server und MapReduce Shuffle unterstützen standardmäßig TLS, wenn die Verschlüsselung während der Übertragung in EMR-Clustern aktiviert ist.

[Hadoop-verschlüsselter Shuffle verwendet MapReduce ](https://hadoop.apache.org/docs/r2.7.1/hadoop-mapreduce-client/hadoop-mapreduce-client-core/EncryptedShuffle.html) TLS.

Wir empfehlen, die Standardports für HTTPS-Endpunkte nicht zu ändern.

Weitere Informationen finden Sie unter [Hadoop in Secure Mode](https://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-common/SecureMode.html) in der Apache-Hadoop-Dokumentation.


| Komponente | Endpoint | Port | Verschlüsselungsmechanismus bei der Übertragung | Ab Version unterstützt | 
| --- | --- | --- | --- | --- | 
|  JobHistoryServer  |  mapreduce.jobhistory.webapp.https.address  |  19890  |  TLS  |  emr-7.3.0\$1  | 
|  GARN NodeManager  |  mapreduce.shuffle.port 1  |  13562  |  TLS  |  emr-4.8.0\$1, emr-5.0.0\$1, emr-6.0.0\$1, emr-7.0.0\$1  | 

1 wird auf `mapreduce.shuffle.port` YARN gehostet, aber nur von Hadoop NodeManager verwendet. MapReduce

## Presto


In Amazon EMR-Versionen 5.6.0 und höher verwendet die interne Kommunikation zwischen dem Presto-Koordinator und den Mitarbeitern TLS. Amazon EMR richtet alle erforderlichen Konfigurationen ein, um eine [sichere interne](https://prestodb.io/docs/current/security/internal-communication.html) Kommunikation in Presto zu ermöglichen. 

Wenn der Connector den Hive-Metastore als Metadatenspeicher verwendet, wird die Kommunikation zwischen dem Communicator und dem Hive-Metastore ebenfalls mit TLS verschlüsselt.


| Komponente | Endpoint | Port | Verschlüsselungsmechanismus bei der Übertragung | Ab Version unterstützt | 
| --- | --- | --- | --- | --- | 
|  Presto-Koordinator  |  http-server.https.port  |  8446  |  TLS  |  emr-5.6.0\$1, emr-6.0.0\$1, emr-7.0.0\$1  | 
|  Presto, Arbeiter  |  http-server.https.port  |  8446  |  TLS  |  emr-5.6.0\$1, emr-6.0.0\$1, emr-7.0.0\$1  | 

## Trino


In Amazon EMR-Versionen 6.1.0 und höher verwendet die interne Kommunikation zwischen dem Presto-Koordinator und den Mitarbeitern TLS. Amazon EMR richtet alle erforderlichen Konfigurationen ein, um eine [sichere interne](https://trino.io/docs/current/security/internal-communication.html) Kommunikation in Trino zu ermöglichen. 

Wenn der Connector den Hive-Metastore als Metadatenspeicher verwendet, wird die Kommunikation zwischen dem Communicator und dem Hive-Metastore ebenfalls mit TLS verschlüsselt.


| Komponente | Endpoint | Port | Verschlüsselungsmechanismus bei der Übertragung | Ab Version unterstützt | 
| --- | --- | --- | --- | --- | 
|  Trino-Koordinator  |  http-server.https.port  |  8446  |  TLS  |  emr-6.1.0\$1, emr-7.0.0\$1  | 
|  Trino, Arbeiter  |  http-server.https.port  |  8446  |  TLS  |  emr-6.1.0\$1, emr-7.0.0\$1  | 

## Hive und Tez


Standardmäßig unterstützen Hive Server 2, Hive Metastore Server, Hive LLAP Daemon Web UI und Hive LLAP shuffle alle TLS, wenn die Verschlüsselung während der Übertragung in den EMR-Clustern aktiviert ist. [Weitere Informationen zu den Hive-Konfigurationen finden Sie unter Konfigurationseigenschaften.](https://cwiki.apache.org/confluence/display/Hive/Configuration+Properties)

Die Tez-Benutzeroberfläche, die auf dem Tomcat-Server gehostet wird, ist ebenfalls HTTPS-fähig, wenn die Verschlüsselung während der Übertragung im EMR-Cluster aktiviert ist. HTTPS ist jedoch für den Tez AM-Web-UI-Dienst deaktiviert, sodass AM-Benutzer keinen Zugriff auf die Keystore-Datei für den öffnenden SSL-Listener haben. Sie können dieses Verhalten auch mit den booleschen Konfigurationen und aktivieren. `tez.am.tez-ui.webservice.enable.ssl` `tez.am.tez-ui.webservice.enable.client.auth`


| Komponente | Endpoint | Port | Verschlüsselungsmechanismus bei der Übertragung | Ab Version unterstützt | 
| --- | --- | --- | --- | --- | 
|  HiveServer2  |  hive.server2.thrift.port  |  10000  |  TLS  |  emr-6.9.0\$1, emr-7.0.0\$1  | 
|  HiveServer2  |  hive.server2.thrift.http.port  |  10001  |  TLS  |  emr-6.9.0\$1, emr-7.0.0\$1  | 
|  HiveServer2  |  hive.server2.webui.port  |  10002  |  TLS  |  emr-7.3.0\$1  | 
|  HiveMetastoreServer  |  hive.metastore.port  |  9083  |  TLS  |  emr-7.3.0\$1  | 
|  LLAP-Daemon  |  hive.llap.daemon.yarn.shuffle.port  |  1551  |  TLS  |  emr-7.3.0\$1  | 
|  LLAP-Daemon  |  hive.llap.daemon.web.port  |  15002  |  TLS  |  emr-7.3.0\$1  | 
|  LLAP-Daemon  |  hive.llap.daemon.output.service.port  |  15003  |  Keine  |  Hive unterstützt für diesen Endpunkt keine Verschlüsselung bei der Übertragung  | 
|  LLAP-Daemon  |  hive.llap.management.rpc.port  |  15004  |  Keine  |  Hive unterstützt für diesen Endpunkt keine Verschlüsselung bei der Übertragung  | 
|  LLAP-Daemon  |  hive.llap.plugin.rpc.port  |  Dynamisch  |  Keine  |  Hive unterstützt für diesen Endpunkt keine Verschlüsselung bei der Übertragung  | 
|  LLAP-Daemon  |  hive.llap.daemon.rpc.port  |  Dynamisch  |  Keine  |  Hive unterstützt für diesen Endpunkt keine Verschlüsselung bei der Übertragung  | 
|  Internet HCat  |  templeton.port  |  50111  |  TLS  |  emr-7.3.0\$1  | 
|  Tez-Anwendungsmaster  |  tez.am.client.am.port-Bereich tez.am.task.am.port-Bereich  |  Dynamisch  |  Keine  |  Tez unterstützt für diesen Endpunkt keine Verschlüsselung bei der Übertragung  | 
|  Tez Application Master  |  tez.am.tez-ui.webservice.portrange  |  Dynamisch  |  Keine  |  Standardmäßig deaktiviert. Kann mithilfe von Tez-Konfigurationen in emr-7.3.0\$1 aktiviert werden  | 
|  Tez-Aufgabe  |  N/A - nicht konfigurierbar  |  Dynamisch  |  Keine  |  Tez unterstützt für diesen Endpunkt keine Verschlüsselung bei der Übertragung  | 
|  Tez UI  |  Konfigurierbar über den Tomcat-Server, auf dem die Tez-Benutzeroberfläche gehostet wird  |  8080  |  TLS  |  emr-7.3.0\$1  | 

## Flink


 Apache Flink REST-Endpunkte und die interne Kommunikation zwischen Flink-Prozessen unterstützen TLS standardmäßig, wenn Sie die Verschlüsselung während der Übertragung in EMR-Clustern aktivieren. 

 [https://nightlies.apache.org/flink/flink-docs-release-1.18/docs/deployment/config/#security-ssl-internal-enabled](https://nightlies.apache.org/flink/flink-docs-release-1.18/docs/deployment/config/#security-ssl-internal-enabled)ist auf In-Transit-Verschlüsselung eingestellt `true` und verwendet diese für die interne Kommunikation zwischen den Flink-Prozessen. Wenn Sie keine Verschlüsselung während der Übertragung für die interne Kommunikation wünschen, deaktivieren Sie diese Konfiguration. Wir empfehlen Ihnen, die Standardkonfiguration für maximale Sicherheit zu verwenden. 

 Amazon EMR stellt [https://nightlies.apache.org/flink/flink-docs-release-1.18/docs/deployment/config/#security-ssl-rest-enabled](https://nightlies.apache.org/flink/flink-docs-release-1.18/docs/deployment/config/#security-ssl-rest-enabled)die Verschlüsselung während der Übertragung für die REST-Endpunkte ein `true` und verwendet diese. Darüber hinaus setzt Amazon EMR auch [https://nightlies.apache.org/flink/flink-docs-release-1.18/docs/deployment/config/#historyserver-web-ssl-enabled](https://nightlies.apache.org/flink/flink-docs-release-1.18/docs/deployment/config/#historyserver-web-ssl-enabled)auf true, um die TLS-Kommunikation mit dem Flink-Verlaufsserver zu verwenden. Wenn Sie keine Verschlüsselung während der Übertragung für die REST-Punkte wünschen, deaktivieren Sie diese Konfigurationen. Wir empfehlen Ihnen, die Standardkonfiguration für maximale Sicherheit zu verwenden. 

Amazon EMR verwendet [https://nightlies.apache.org/flink/flink-docs-release-1.18/docs/deployment/config/#security-ssl-algorithms](https://nightlies.apache.org/flink/flink-docs-release-1.18/docs/deployment/config/#security-ssl-algorithms)., um die Liste der Chiffren anzugeben, die AES-basierte Verschlüsselung verwenden. Überschreiben Sie diese Konfiguration, um die gewünschten Chiffren zu verwenden.

Weitere Informationen finden Sie unter [SSL-Setup](https://nightlies.apache.org/flink/flink-docs-release-1.18/docs/deployment/security/security-ssl/) in der Flink-Dokumentation.


| Komponente | Endpoint | Port | Verschlüsselungsmechanismus bei der Übertragung | Ab Version unterstützt | 
| --- | --- | --- | --- | --- | 
|  Flink History Server  |  historyserver.web.port  |  8082  |  TLS  |  emr-7.3.0\$1  | 
|  Job Manager Restserver  |  rest.bind-port rest.port  |  Dynamisch  |  TLS  |  emr-7.3.0\$1  | 

## HBase


 Amazon EMR setzt [Secure Hadoop RPC auf](https://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-common/SecureMode.html#Data_Encryption_on_RPC). `privacy` HMaster und RegionServer verwenden Sie eine SASL-basierte Verschlüsselung bei der Übertragung. Dies setzt voraus, dass die Kerberos-Authentifizierung in der Sicherheitskonfiguration aktiviert ist. 

Amazon EMR ist `hbase.ssl.enabled` auf true gesetzt und verwendet TLS für UI-Endpunkte. Wenn Sie TLS nicht für UI-Endpunkte verwenden möchten, deaktivieren Sie diese Konfiguration. Wir empfehlen, die Standardkonfiguration für maximale Sicherheit zu verwenden.

Amazon EMR setzt `hbase.rest.ssl.enabled` `hbase.thrift.ssl.enabled` und verwendet TLS für die REST- bzw. Thirft-Serverendpunkte. Wenn Sie TLS für diese Endpunkte nicht verwenden möchten, deaktivieren Sie diese Konfiguration. Wir empfehlen, die Standardkonfiguration für maximale Sicherheit zu verwenden.

Ab EMR 7.6.0 wird TLS auf HMaster und RegionServer Endpunkten unterstützt. Amazon EMR legt auch `hbase.server.netty.tls.enabled` und `hbase.client.netty.tls.enabled` fest. Wenn Sie TLS für diese Endpunkte nicht verwenden möchten, deaktivieren Sie diese Konfiguration. Wir empfehlen, die Standardkonfiguration zu verwenden, die Verschlüsselung und damit höhere Sicherheit bietet. Weitere Informationen finden Sie unter [Transport Level Security (TLS) bei der HBase RPC-Kommunikation](https://hbase.apache.org/book.html#_transport_level_security_tls_in_hbase_rpc_communication) im *Apache HBase Reference Guide.* 


| Komponente | Endpoint | Port | Verschlüsselungsmechanismus bei der Übertragung | Ab Version unterstützt | 
| --- | --- | --- | --- | --- | 
|  HMaster  |  HMaster  |  16000  |  SASL \$1 Kerberos TLS  |  SASL \$1 Kerberos in emr-4.8.0\$1, emr-5.0.0\$1, emr-6.0.0\$1 und emr-7.0.0\$1 TLS unter emr-7.6.0\$1  | 
|  HMaster  |  HMaster UI  |  16010  |  TLS  |  emr-7.3.0\$1  | 
|  RegionServer  |  RegionServer  |  16020  |  SASL \$1 Kerberos TLS  |  SASL \$1 Kerberos in emr-4.8.0\$1, emr-5.0.0\$1, emr-6.0.0\$1 und emr-7.0.0\$1 TLS unter emr-7.6.0\$1  | 
|  RegionServer  |  RegionServer Informationen  |  16030  |  TLS  |  emr-7.3.0\$1  | 
|  HBase Server ausruhen  |  Rest-Server  |  8070  |  TLS  |  emr-7.3.0\$1  | 
|  HBase Server ausruhen  |  Rest-Benutzeroberfläche  |  8085  |  TLS  |  emr-7.3.0\$1  | 
|  Hbase Thrift Server  |  Sparsamer Server  |  9090  |  TLS  |  emr-7.3.0\$1  | 
|  Hbase Thrift Server  |  Thrift Server-Benutzeroberfläche  |  9095  |  TLS  |  emr-7.3.0\$1  | 

## Phoenix


 Wenn Sie die Verschlüsselung während der Übertragung in Ihrem EMR-Cluster aktiviert haben, unterstützt Phoenix Query Server die TLS-Eigenschaft`phoenix.queryserver.tls.enabled`, die standardmäßig auf `true` gesetzt ist. 

Weitere Informationen finden Sie unter [Konfigurationen in Bezug auf HTTPS](https://phoenix.apache.org/server.html#Configuration) in der Phoenix Query Server-Dokumentation.


| Komponente | Endpoint | Port | Verschlüsselungsmechanismus bei der Übertragung | Ab Version unterstützt | 
| --- | --- | --- | --- | --- | 
|  Server abfragen  |  phoenix.queryserver.http.port  |  8765  |  TLS  |  emr-7.3.0\$1  | 

## Oozie


[OOZIE-3673](https://issues.apache.org/jira/browse/OOZIE-3673) ist auf Amazon EMR verfügbar, wenn Sie Oozie auf Amazon EMR 7.3.0 und höher ausführen. Wenn Sie beim Ausführen einer E-Mail-Aktion benutzerdefinierte SSL- oder TLS-Protokolle konfigurieren müssen, können Sie die Eigenschaft in der Datei festlegen. `oozie.email.smtp.ssl.protocols` `oozie-site.xml` Wenn Sie die Verschlüsselung bei der Übertragung aktiviert haben, verwendet Amazon EMR standardmäßig das Protokoll TLS v1.3.

[OOZIE-3677](https://issues.apache.org/jira/browse/OOZIE-3677) und [OOZIE-3674](https://issues.apache.org/jira/browse/OOZIE-3674) sind auch auf Amazon EMR verfügbar, wenn Sie Oozie auf Amazon EMR 7.3.0 und höher ausführen. `keyStoreType`Auf diese Weise können Sie `trustStoreType` die `oozie-site.xml` Eigenschaften und in angeben. OOZIE-3674 fügt den Parameter dem Oozie-Client hinzu`--insecure`, sodass dieser Zertifikatsfehler ignorieren kann.

Oozie erzwingt die Überprüfung des TLS-Hostnamens, was bedeutet, dass jedes Zertifikat, das Sie für die Verschlüsselung während der Übertragung verwenden, die Anforderungen an die Überprüfung des Hostnamens erfüllen muss. Wenn das Zertifikat die Kriterien nicht erfüllt, kann es sein, dass der Cluster in der `oozie share lib update` Phase, in der Amazon EMR den Cluster bereitstellt, hängen bleibt. Wir empfehlen Ihnen, Ihre Zertifikate zu aktualisieren, um sicherzustellen, dass sie der Hostnamenverifizierung entsprechen. Wenn Sie die Zertifikate jedoch nicht aktualisieren können, können Sie SSL für Oozie deaktivieren, indem Sie die `oozie.https.enabled` Eigenschaft `false` in der Clusterkonfiguration auf setzen. 


| Komponente | Endpoint | Port | Verschlüsselungsmechanismus bei der Übertragung | Ab Version unterstützt | 
| --- | --- | --- | --- | --- | 
|  EmbeddedOozieServer  |  oozie.https.port  |  11443  |  TLS  |  emr-7.3.0\$1  | 
|  EmbeddedOozieServer  |  oozie.email.smtp.port  |  25  |  TLS  |  emr-7.3.0\$1  | 

## Hue


Standardmäßig unterstützt Hue TLS, wenn die Verschlüsselung während der Übertragung in Amazon EMR-Clustern aktiviert ist. Weitere Informationen zu Hue-Konfigurationen finden [Sie unter Hue mit HTTPS/SSL konfigurieren](https://gethue.com/configure-hue-with-https-ssl/). 


| Komponente | Endpoint | Port | Verschlüsselungsmechanismus bei der Übertragung | Ab Version unterstützt | 
| --- | --- | --- | --- | --- | 
|  Hue  |  http\$1port  |  8888  |  TLS  |  emr-7.4.0\$1  | 

## Livy


Standardmäßig unterstützt Livy TLS, wenn die Verschlüsselung während der Übertragung in Amazon EMR-Clustern aktiviert ist. Weitere Informationen zu Livy-Konfigurationen finden Sie unter [HTTPS mit Apache Livy aktivieren](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/enabling-https.html).

Ab Amazon EMR 7.3.0 können Sie, wenn Sie Verschlüsselung bei der Übertragung und Kerberos-Authentifizierung verwenden, den Livy-Server nicht für Spark-Anwendungen verwenden, die vom Hive-Metastore abhängen. Dieses Problem wurde in [HIVE-16340](https://issues.apache.org/jira/browse/HIVE-16340) behoben und in SPARK-44114 vollständig behoben, wenn die [Open-Source-Spark-Anwendung](https://issues.apache.org/jira/browse/SPARK-44114) auf Hive 3 aktualisiert werden kann. In der Zwischenzeit können Sie dieses Problem umgehen, wenn Sie dies einrichten. `hive.metastore.use.SSL` `false` Weitere Informationen finden Sie unter [Konfigurieren von Anwendungen](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-configure-apps.html).

Weitere Informationen finden Sie unter [HTTPS mit Apache Livy aktivieren](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/enabling-https.html).


| Komponente | Endpoint | Port | Verschlüsselungsmechanismus bei der Übertragung | Ab Version unterstützt | 
| --- | --- | --- | --- | --- | 
|  Livy-Server  |  livy.server.port  |  8998  |  TLS  |  emr-7.4.0\$1  | 

## JupyterEnterpriseGateway


Standardmäßig unterstützt Jupyter Enterprise Gateway TLS, wenn die Verschlüsselung während der Übertragung in Amazon EMR-Clustern aktiviert ist. [Weitere Informationen zu den Jupyter Enterprise Gateway-Konfigurationen finden Sie unter Securing Enterprise Gateway Server.](https://jupyter-enterprise-gateway.readthedocs.io/en/v1.2.0/getting-started-security.html#securing-enterprise-gateway-server)


| Komponente | Endpoint | Port | Verschlüsselungsmechanismus bei der Übertragung | Ab Version unterstützt | 
| --- | --- | --- | --- | --- | 
|  jupyter\$1enterprise\$1gateway  |  c.-Anschluss EnterpriseGatewayApp  |  9547  |  TLS  |  emr-7.4.0\$1  | 

## JupyterHub


 JupyterHub Unterstützt standardmäßig TLS, wenn die Verschlüsselung während der Übertragung in Amazon EMR-Clustern aktiviert ist. Weitere Informationen finden Sie in der Dokumentation unter [Aktivieren der JupyterHub SSL-Verschlüsselung](https://jupyterhub.readthedocs.io/en/latest/tutorial/getting-started/security-basics.html#enabling-ssl-encryption). Es wird nicht empfohlen, die Verschlüsselung zu deaktivieren. 


| Komponente | Endpoint | Port | Verschlüsselungsmechanismus bei der Übertragung | Ab Version unterstützt | 
| --- | --- | --- | --- | --- | 
|  jupyter\$1hub  |  c.-Anschluss JupyterHub  |  9443  |  TLS  |  emr-5.14.0\$1, emr-6.0.0\$1, emr-7.0.0\$1  | 

## Zeppelin


 Standardmäßig unterstützt Zeppelin TLS, wenn Sie die Verschlüsselung während der Übertragung in Ihrem EMR-Cluster aktivieren. Weitere Informationen zu den Zeppelin-Konfigurationen finden Sie unter [SSL-Konfiguration](https://zeppelin.apache.org/docs/0.11.1/setup/operation/configuration.html#ssl-configuration) in der Zeppelin-Dokumentation. 


| Komponente | Endpoint | Port | Verschlüsselungsmechanismus bei der Übertragung | Ab Version unterstützt | 
| --- | --- | --- | --- | --- | 
|  Zeppelin  |  zeppelin.server.ssl.port  |  8890  |  TLS  |  7.3.0\$1  | 

## Zookeeper


Amazon EMR legt fest`serverCnxnFactory`, dass `org.apache.zookeeper.server.NettyServerCnxnFactory` TLS für das Zookeeper-Quorum und die Client-Kommunikation aktiviert wird.

`secureClientPort`gibt den Port an, der TLS-Verbindungen abhört. Wenn der Client keine TLS-Verbindungen zu Zookeeper unterstützt, können sich Clients mit dem unsicheren Port 2181 verbinden, der unter angegeben ist. `clientPort` Sie können diese beiden Ports überschreiben oder deaktivieren.

Amazon EMR legt `sslQuorum` sowohl als auch fest`admin.forceHttps`, `true` um die TLS-Kommunikation für das Quorum und den Admin-Server zu aktivieren. Wenn Sie keine Verschlüsselung während der Übertragung für das Quorum und den Admin-Server wünschen, können Sie diese Konfigurationen deaktivieren. Wir empfehlen, die Standardkonfigurationen für maximale Sicherheit zu verwenden.

Weitere Informationen finden Sie unter [Verschlüsselung, Authentifizierung und Autorisierungsoptionen](https://zookeeper.apache.org/doc/r3.9.2/zookeeperAdmin.html#sc_authOptions) in der Zookeeper-Dokumentation.


| Komponente | Endpoint | Port | Verschlüsselungsmechanismus bei der Übertragung | Ab Version unterstützt | 
| --- | --- | --- | --- | --- | 
|  Zookeeper-Server  |  secureClientPort  |  2281  |  TLS  |  emr-7.4.0\$1  | 
|  Zookeeper-Server  |  Quorum-Ports  |  Es gibt 2: Follower verwenden 2888, um sich mit dem Anführer zu verbinden. Bei der Wahl des Führers werden 3888 verwendet  |  TLS  |  emr-7.4.0\$1  | 
|  Zookeeper-Server  |  Admin.Server-Port  |  8341  |  TLS  |  emr-7.4.0\$1  | 