View a markdown version of this page

Erstellen Sie eine Sicherheitskonfiguration mit der Amazon EMR-Konsole oder mit AWS CLI - Amazon EMR

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.

Erstellen Sie eine Sicherheitskonfiguration mit der Amazon EMR-Konsole oder mit AWS CLI

Dieses Thema behandelt allgemeine Verfahren zum Erstellen einer Sicherheitskonfiguration mit der Amazon EMR-Konsole und der AWS CLI, gefolgt von einer Referenz zu den Parametern, die Verschlüsselung, Authentifizierung und IAM-Rollen für EMRFS umfassen. Weitere Informationen zu diesen Funktionen finden Sie in den folgenden Themen:

So erstellen Sie eine Sicherheitskonfiguration mithilfe der Konsole
  1. Öffnen Sie die Amazon-EMR-Konsole unter https://console.aws.amazon.com/emr.

  2. Wählen Sie im Navigationsbereich Security Configurations (Sicherheitskonfigurationen), Create security configuration (Sicherheitskonfiguration erstellen) aus.

  3. Geben Sie in Name (Name) einen Namen für die Sicherheitskonfiguration ein.

  4. Wählen Sie Optionen für Verschlüsselung, und Authentifizierung aus wie in den folgenden Abschnitten beschrieben. Wählen Sie anschließend Erstellen aus.

Um eine Sicherheitskonfiguration mit dem zu erstellen AWS CLI
  • Verwenden Sie den Befehl create-security-configuration wie im folgenden Beispiel gezeigt.

    • Geben Sie für SecConfigName den Namen der Sicherheitskonfiguration an. Dies ist der Name, den Sie angeben, wenn Sie einen Cluster erstellen, der diese Sicherheitskonfiguration verwendet.

    • Geben Sie in SecConfigDef eine Inline-JSON-Struktur oder den Pfad zu einer lokalen JSON-Datei an, z. B. file://MySecConfig.json. Die JSON-Parameter definieren Optionen für Verschlüsselung, IAM Rollen für EMRFS-Zugriff auf Amazon S3 und Authentifizierung, wie in den folgenden Abschnitten beschrieben.

    aws emr create-security-configuration --name "SecConfigName" --security-configuration SecConfigDef

Datenverschlüsselung konfigurieren

Bevor Sie die Verschlüsselung in einer Sicherheitskonfiguration konfigurieren, erstellen Sie die Schlüssel und Zertifikate, die für die Verschlüsselung verwendet werden. Weitere Informationen erhalten Sie unter Bereitstellung von Schlüsseln für die Verschlüsselung von Daten im Ruhezustand und Bereitstellen von Zertifikaten für die Verschlüsselung von Daten während der Übertragung mit der Amazon-EMR-Verschlüsselung.

Beim Erstellen einer Sicherheits-Konfiguration legen Sie zwei Verschlüsselungsoptionen fest: Verschlüsselung von Daten während der Übertragung und im Ruhezustand. Zu den Optionen für die Verschlüsselung ruhender Daten gehören sowohl Amazon S3 mit EMRFS als auch lokale Festplattenverschlüsselung. In-transitVerschlüsselungsoptionen aktivieren die Open-Source-Verschlüsselungsfunktionen für bestimmte Anwendungen, die Transport Layer Security (TLS) unterstützen. At-rest Optionen und Optionen für die Übertragung können zusammen oder getrennt aktiviert werden. Weitere Informationen finden Sie unter Verschlüsseln Sie Daten im Ruhezustand und bei der Übertragung mit Amazon EMR.

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.

Angeben von Verschlüsselungsoptionen mit der Konsole

Wählen Sie Optionen unter Encryption (Verschlüsselung) entsprechend den folgenden Anleitungen aus.

  • Wählen Sie Optionen unter At rest encryption (Verschlüsselung im Ruhezustand) aus, um innerhalb des Dateisystems gespeicherte Daten zu verschlüsseln.

    Sie können Daten in Amazon S3, auf lokalen Datenträgern oder in beiden Speichern verschlüsseln.

  • Unter S3-Datenverschlüsselung, für die Option Verschlüsselungsmodus wählen Sie einen Wert aus, der festlegt, wie Amazon EMR; die Amazon-S3-Daten mit EMRFS verschlüsselt.

    Der nächste Schritt hängt von dem von Ihnen gewählten Verschlüsselungsmodus ab:

  • Wählen Sie unter Local disk encryption (Lokale Laufwerksverschlüsselung) einen Wert für Key provider type (Schlüsselanbietertyp) aus.

    • AWS KMS key

      Wählen Sie diese Option, um eine AWS KMS key anzugeben. Wählen Sie für AWS KMS key einen Schlüssel aus. Der Schlüssel muss sich in derselben Region befinden wie Ihr EMR-Cluster. Weitere Informationen zu den Anforderungen für Schlüssel finden Sie unter AWS KMS keys Für die Verschlüsselung verwenden.

      EBS Encryption (EBS-Verschlüsselung)

      Wenn Sie dies AWS KMS als Ihren Schlüsselanbieter angeben, können Sie die EBS-Verschlüsselung aktivieren, um das EBS-Stammgerät und die Speichervolumes zu verschlüsseln. Um diese Option zu aktivieren, müssen Sie der Amazon-EMR-Servicerolle EMR_DefaultRole Berechtigungen zur Verwendung des von Ihnen angegebenen AWS KMS key erteilen. Weitere Informationen zu den Anforderungen für Schlüssel finden Sie unter Aktivieren der EBS-Verschlüsselung durch Bereitstellung zusätzlicher Berechtigungen für KMS-Schlüssel.

    • Custom (Benutzerdefiniert)

      Wählen Sie diese Option aus, um einen benutzerdefinierten Schlüsselanbieter festzulegen. Geben Sie für das S3-Objekt den Speicherort Ihrer benutzerdefinierten Schlüsselanbieter-JAR-Datei in Amazon S3 oder den Amazon-S3-ARN ein. Geben Sie für Key Provider Class den vollständigen Klassennamen einer Klasse ein, die in Ihrer Anwendung deklariert ist, die die Schnittstelle implementiert. EncryptionMaterialsProvider Der Klassenname, den Sie hier angeben, muss sich von dem angegebenen Klassennamen unterscheiden CSE-Custom.

  • Wählen Sie In-transit Verschlüsselung, um die Open-Source-TLS-Verschlüsselungsfunktionen für Daten bei der Übertragung zu aktivieren. Wählen Sie anhand der folgenden Anleitungen einen Certificate provider type (Zertifikatanbietertyp) aus:

    • EMR-managed

      Wählen Sie diese Option, damit Amazon EMR private Zertifikate für Sie erstellt und speichert. Wenn Sie diese Option auswählen, lädt Amazon EMR das PEM-encoded Zertifikat der erstellten Zertifizierungsstelle AWS Secrets Manager in Ihr Konto hoch, damit Sie es in Ihren Trust Stores verwenden können. Sie können optional den KMS-Schlüssel und die für dieses Geheimnis verwendeten Tags konfigurieren. Sie können optional auch eine benutzerdefinierte Gültigkeitsdauer für die erstellten Zertifikate und ein benutzerdefiniertes Platzhaltersuffix für das Zertifikat-SAN zusätzlich zum standardmäßigen privaten DNS-Platzhalter (*.ec2.internal in us-east-1 und *) angeben. region.compute.internal in allen anderen Regionen).

    • PEM (PEM)

      Wählen Sie diese Option zur Verwendung von PEM-Dateien aus, die Sie in einer ZIP-Datei bereitstellen. In der ZIP-Datei sind zwei Artefakte erforderlich: privat und Zertifikat. Key.pem Chain.pem Eine dritte Datei, vertrauenswürdigCertificates.pem, ist optional. Details dazu finden Sie unter Bereitstellen von Zertifikaten für die Verschlüsselung von Daten während der Übertragung mit der Amazon-EMR-Verschlüsselung. Geben Sie in S3-Objekt den Speicherort in Amazon S3 oder den Amazon-S3-ARN des ZIP-Datei-Felds an.

    • Custom (Benutzerdefiniert)

      Wählen Sie diese Option aus, um einen benutzerdefinierten Zertifikatanbieter anzugeben. Geben Sie anschließend in S3-Objekt den Speicherort in Amazon S3 oder den Amazon-S3-ARN der JAR-Datei Ihres benutzerdefinierten Zertifikatanbieters ein. Geben Sie für Key Provider Class den vollständigen Klassennamen einer Klasse ein, die in Ihrer Anwendung deklariert ist, die die TLSArtifactsProvider Schnittstelle implementiert.

Angeben von Verschlüsselungsoptionen mit dem AWS CLI

Die folgenden Abschnitte enthalten Beispielszenarien mit ordnungsgemäß formatiertem --security-configuration JSON für verschiedene Konfigurationen und Schlüsselanbieter, gefolgt von einer Referenz für JSON-Parameter und geeignete Werte.

Beispiel der Datenverschlüsselungsoptionen während der Übertragung

Das nachstehende Beispiel veranschaulicht das folgende Szenario:

  • In-transit Die Datenverschlüsselung ist aktiviert und die Verschlüsselung von Daten im Ruhezustand ist deaktiviert.

  • Amazon EMR erstellt und verwaltet private Zertifikate für Sie, wobei ein Platzhalter dem privaten EC2-DNS-Suffix für die Region vertraut. Der ARN des erstellten Geheimnisses wird dem CACertificateSecretARN Feld hinzugefügt, das in der API-Antwort describe-security-configuration sichtbar ist.

aws emr create-security-configuration --name "MySecConfig" --security-configuration '{ "EncryptionConfiguration": { "EnableInTransitEncryption": true, "EnableAtRestEncryption": false, "InTransitEncryptionConfiguration": { "TLSCertificateConfiguration": { "CertificateProviderType": "EMR" } } } }'

Das nachstehende Beispiel veranschaulicht das folgende Szenario:

  • In-transit Die Datenverschlüsselung wird mit EMR-managed Amazon-Zertifikaten aktiviert, wobei ein Kunden-KMS-Schlüssel und Tags für die geheime Erstellung angegeben und das öffentliche EC2-DNS-Suffix für die Region zur SAN-Liste der erstellten Zertifikate hinzugefügt wird. Das generierte CA-Zertifikat läuft in 30 Tagen ab. Zu diesem Zeitpunkt muss die Sicherheitskonfiguration gelöscht und neu erstellt werden, damit sie weiterhin verwendet werden kann.

aws emr create-security-configuration --name "MySecConfig" --security-configuration '{ "EncryptionConfiguration": { "EnableInTransitEncryption": true, "EnableAtRestEncryption": false, "InTransitEncryptionConfiguration": { "TLSCertificateConfiguration": { "CertificateProviderType": "EMR", "AwsKmsKey": "arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012", "SecretTags": [{"Key": "cluster-type", "Value": "test"}], "WildcardDnsSuffix": "us-east-2.compute.amazonaws.com", "ValidityInDays": 30 } } } }'

Das nachstehende Beispiel veranschaulicht das folgende Szenario:

aws emr create-security-configuration --name "MySecConfig" --security-configuration '{ "EncryptionConfiguration": { "EnableInTransitEncryption": true, "EnableAtRestEncryption": false, "InTransitEncryptionConfiguration": { "TLSCertificateConfiguration": { "CertificateProviderType": "PEM", "S3Object": "s3://MyConfigStore/artifacts/MyCerts.zip" } } } }'

Das nachstehende Beispiel veranschaulicht das folgende Szenario:

aws emr create-security-configuration --name "MySecConfig" --security-configuration '{ "EncryptionConfiguration": { "EnableInTransitEncryption": true, "EnableAtRestEncryption": false, "InTransitEncryptionConfiguration": { "TLSCertificateConfiguration": { "CertificateProviderType": "Custom", "S3Object": "s3://MyConfig/artifacts/MyCerts.jar", "CertificateProviderClass": "com.mycompany.MyCertProvider" } } } }'

Beispiel der Datenverschlüsselungsoptionen im Ruhezustand

Das nachstehende Beispiel veranschaulicht das folgende Szenario:

  • In-transit Die Datenverschlüsselung ist deaktiviert und die Verschlüsselung von Daten im Ruhezustand ist aktiviert.

  • SSE-S3 wird für die Amazon S3 S3-Verschlüsselung verwendet.

  • Die lokale Festplattenverschlüsselung wird AWS KMS als Schlüsselanbieter verwendet.

aws emr create-security-configuration --name "MySecConfig" --security-configuration '{ "EncryptionConfiguration": { "EnableInTransitEncryption": false, "EnableAtRestEncryption": true, "AtRestEncryptionConfiguration": { "S3EncryptionConfiguration": { "EncryptionMode": "SSE-S3" }, "LocalDiskEncryptionConfiguration": { "EncryptionKeyProviderType": "AwsKms", "AwsKmsKey": "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012" } } } }'

Das nachstehende Beispiel veranschaulicht das folgende Szenario:

  • In-transit Die Datenverschlüsselung ist aktiviert und verweist mithilfe des ARN auf eine ZIP-Datei mit PEM-Zertifikaten in Amazon S3.

  • SSE-KMS wird für die Amazon S3 S3-Verschlüsselung verwendet.

  • Die lokale Festplattenverschlüsselung wird AWS KMS als Schlüsselanbieter verwendet.

aws emr create-security-configuration --name "MySecConfig" --security-configuration '{ "EncryptionConfiguration": { "EnableInTransitEncryption": true, "EnableAtRestEncryption": true, "InTransitEncryptionConfiguration": { "TLSCertificateConfiguration": { "CertificateProviderType": "PEM", "S3Object": "arn:aws:s3:::MyConfigStore/artifacts/MyCerts.zip" } }, "AtRestEncryptionConfiguration": { "S3EncryptionConfiguration": { "EncryptionMode": "SSE-KMS", "AwsKmsKey": "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012" }, "LocalDiskEncryptionConfiguration": { "EncryptionKeyProviderType": "AwsKms", "AwsKmsKey": "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012" } } } }'

Das nachstehende Beispiel veranschaulicht das folgende Szenario:

  • In-transit Die Datenverschlüsselung wird mit EMR-managed Amazon-Zertifikaten aktiviert, wobei ein Kunden-KMS-Schlüssel und Tags für die geheime Erstellung angegeben und der SAN-Liste der erstellten Zertifikate hinzugefügt *.mydomain.com werden.

  • CSE-KMS wird für die Amazon S3 S3-Verschlüsselung verwendet.

  • Die lokale Laufwerksverschlüsselung verwendet einen benutzerdefinierten Schlüsselanbieter, auf den anhand des ARN verwiesen wird.

aws emr create-security-configuration --name "MySecConfig" --security-configuration '{ "EncryptionConfiguration": { "EnableInTransitEncryption": true, "EnableAtRestEncryption": true, "InTransitEncryptionConfiguration": { "TLSCertificateConfiguration": { "CertificateProviderType": "EMR", "AwsKmsKey": "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012", "SecretTags": [{"Key": "cluster-type", "Value": "test"}], "WildcardDnsSuffix": "mydomain.com" } }, "AtRestEncryptionConfiguration": { "S3EncryptionConfiguration": { "EncryptionMode": "CSE-KMS", "AwsKmsKey": "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012" }, "LocalDiskEncryptionConfiguration": { "EncryptionKeyProviderType": "Custom", "S3Object": "arn:aws:s3:::artifacts/MyKeyProvider.jar", "EncryptionKeyProviderClass": "com.mycompany.MyKeyProvider" } } } }'

Das nachstehende Beispiel veranschaulicht das folgende Szenario:

  • In-transit Die Datenverschlüsselung ist mit einem benutzerdefinierten Schlüsselanbieter aktiviert.

  • CSE-Custom wird für Amazon S3 S3-Daten verwendet.

  • Die lokale Laufwerksverschlüsselung verwendet einen benutzerdefinierten Schlüsselanbieter.

aws emr create-security-configuration --name "MySecConfig" --security-configuration '{ "EncryptionConfiguration": { "EnableInTransitEncryption": "true", "EnableAtRestEncryption": "true", "InTransitEncryptionConfiguration": { "TLSCertificateConfiguration": { "CertificateProviderType": "Custom", "S3Object": "s3://MyConfig/artifacts/MyCerts.jar", "CertificateProviderClass": "com.mycompany.MyCertProvider" } }, "AtRestEncryptionConfiguration": { "S3EncryptionConfiguration": { "EncryptionMode": "CSE-Custom", "S3Object": "s3://MyConfig/artifacts/MyCerts.jar", "EncryptionKeyProviderClass": "com.mycompany.MyKeyProvider" }, "LocalDiskEncryptionConfiguration": { "EncryptionKeyProviderType": "Custom", "S3Object": "s3://MyConfig/artifacts/MyCerts.jar", "EncryptionKeyProviderClass": "com.mycompany.MyKeyProvider" } } } }'

Das nachstehende Beispiel veranschaulicht das folgende Szenario:

  • In-transit Die Datenverschlüsselung ist deaktiviert und die Verschlüsselung von Daten im Ruhezustand ist aktiviert.

  • Die Amazon S3 S3-Verschlüsselung ist aktiviert mit SSE-KMS.

  • Es werden mehrere AWS KMS Schlüssel verwendet, einer pro S3-Bucket, und Verschlüsselungsausnahmen werden auf diese einzelnen S3-Buckets angewendet.

  • Die lokale Laufwerksverschlüsselung ist deaktiviert.

aws emr create-security-configuration --name "MySecConfig" --security-configuration '{ "EncryptionConfiguration": { "AtRestEncryptionConfiguration": { "S3EncryptionConfiguration": { "EncryptionMode": "SSE-KMS", "AwsKmsKey": "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012", "Overrides": [ { "BucketName": "amzn-s3-demo-bucket1", "EncryptionMode": "SSE-S3" }, { "BucketName": "amzn-s3-demo-bucket2", "EncryptionMode": "CSE-KMS", "AwsKmsKey": "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012" }, { "BucketName": "amzn-s3-demo-bucket3", "EncryptionMode": "SSE-KMS", "AwsKmsKey": "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012" } ] } }, "EnableInTransitEncryption": false, "EnableAtRestEncryption": true } }'

Das nachstehende Beispiel veranschaulicht das folgende Szenario:

  • In-transit Die Datenverschlüsselung ist deaktiviert und die Verschlüsselung von Daten im Ruhezustand ist aktiviert.

  • Die Amazon S3 S3-Verschlüsselung ist aktiviert SSE-S3 und die lokale Festplattenverschlüsselung ist deaktiviert.

aws emr create-security-configuration --name "MyS3EncryptionConfig" --security-configuration '{ "EncryptionConfiguration": { "EnableInTransitEncryption": false, "EnableAtRestEncryption": true, "AtRestEncryptionConfiguration": { "S3EncryptionConfiguration": { "EncryptionMode": "SSE-S3" } } } }'

Das nachstehende Beispiel veranschaulicht das folgende Szenario:

  • In-transit Die Datenverschlüsselung ist deaktiviert und die Verschlüsselung von Daten im Ruhezustand ist aktiviert.

  • Die lokale Festplattenverschlüsselung ist AWS KMS als Schlüsselanbieter aktiviert und die Amazon S3 S3-Verschlüsselung ist deaktiviert.

aws emr create-security-configuration --name "MyLocalDiskEncryptionConfig" --security-configuration '{ "EncryptionConfiguration": { "EnableInTransitEncryption": false, "EnableAtRestEncryption": true, "AtRestEncryptionConfiguration": { "LocalDiskEncryptionConfiguration": { "EncryptionKeyProviderType": "AwsKms", "AwsKmsKey": "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012" } } } }'

Das nachstehende Beispiel veranschaulicht das folgende Szenario:

  • In-transit Die Datenverschlüsselung ist deaktiviert und die Verschlüsselung von Daten im Ruhezustand ist aktiviert.

  • Die lokale Festplattenverschlüsselung ist AWS KMS als Schlüsselanbieter aktiviert und die Amazon S3 S3-Verschlüsselung ist deaktiviert.

  • Die EBS-Verschlüsselung ist aktiviert.

aws emr create-security-configuration --name "MyLocalDiskEncryptionConfig" --security-configuration '{ "EncryptionConfiguration": { "EnableInTransitEncryption": false, "EnableAtRestEncryption": true, "AtRestEncryptionConfiguration": { "LocalDiskEncryptionConfiguration": { "EnableEbsEncryption": true, "EncryptionKeyProviderType": "AwsKms", "AwsKmsKey": "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012" } } } }'

Das nachstehende Beispiel veranschaulicht das folgende Szenario:

SSE-EMR-WAL wird für die EMR-WAL-Verschlüsselung verwendet

aws emr create-security-configuration --name "MySecConfig" \ --security-configuration '{ "EncryptionConfiguration": { "EMRWALEncryptionConfiguration":{ }, "EnableInTransitEncryption":false, "EnableAtRestEncryption":false } }'

EnableInTransitEncryptionund könnte EnableAtRestEncryption immer noch wahr sein, wenn Sie die entsprechende Verschlüsselung aktivieren möchten.

Das nachstehende Beispiel veranschaulicht das folgende Szenario:

  • SSE-KMS-WAL wird für die EMR-WAL-Verschlüsselung verwendet

  • Serverseitige Verschlüsselung wird AWS Key Management Service als Schlüsselanbieter verwendet

aws emr create-security-configuration --name "MySecConfig" \ --security-configuration '{ "EncryptionConfiguration": { "EMRWALEncryptionConfiguration":{ "AwsKmsKey":"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012" }, "EnableInTransitEncryption":false, "EnableAtRestEncryption":false } }'

EnableInTransitEncryptionund könnte EnableAtRestEncryption immer noch wahr sein, wenn Sie die entsprechende Verschlüsselung aktivieren möchten.

JSON-Referenz für Verschlüsselungseinstellungen

In der folgenden Tabelle finden Sie die JSON-Parameter für die Verschlüsselungseinstellungen sowie eine Beschreibung der zulässigen Werte für die einzelnen Parameter.

Parameter Description
"EnableInTransitEncryption" : true | false Geben Sie true an, um die Verschlüsselung der Daten während der Übertragung zu aktivieren, und false, um sie zu deaktivieren. Wenn der Parameter nicht definiert wird, gilt false und die Verschlüsselung von Daten während der Übertragung ist deaktiviert.
"EnableAtRestEncryption": true | false Geben Sie true an, um die Verschlüsselung der Daten im Ruhezustand zu aktivieren, und false, um sie zu deaktivieren. Wenn der Parameter nicht definiert wird, gilt false und die Verschlüsselung von Daten im Ruhezustand ist deaktiviert.
In-transit Verschlüsselungsparameter
"InTransitEncryptionConfiguration" : Gibt eine Sammlung von Werten für die Verschlüsselung von Daten während der Übertragung an, wenn EnableInTransitEncryption true ist.
"CertificateProviderType": "EMR" | "PEM" | "Custom" Gibt an, ob EMR erstellte und verwaltete Zertifikate, PEM Zertifikate, auf die in einer komprimierten Datei verwiesen wird, oder ein Custom Zertifikatsanbieter verwendet werden sollen. Wenn angegeben, S3Object muss PEM es sich um einen Verweis auf den Speicherort einer ZIP-Datei mit den Zertifikaten in Amazon S3 handeln. Wenn angegeben, S3Object muss Custom es sich um einen Verweis auf den Speicherort einer JAR-Datei in Amazon S3 handeln, gefolgt von einem CertificateProviderClass Eintrag.
"S3Object" : "ZipLocation" | "JarLocation" Stellt den Speicherort in Amazon S3 für eine ZIP-Datei bereit, wenn PEM angegeben, oder für eine JAR-Datei, wenn Custom angegeben. Beim Format kann es sich um einen Pfad (beispielsweise s3://MyConfig/artifacts/CertFiles.zip) oder einen ARN (beispielsweise arn:aws:s3:::Code/MyCertProvider.jar) handeln. Wenn eine ZIP-Datei ausgewählt wurde, muss sie Dateien enthalten, deren Namen privateKey.pem und certificateChain.pem sind. Eine Datei mit dem Namen trustedCertificates.pem ist optional.
"CertificateProviderClass" : "MyClassID" Nur erforderlich, wenn für angegeben Custom istCertificateProviderType. MyClassIDgibt einen vollständigen Klassennamen an, der in der JAR-Datei deklariert ist, die die TLSArtifactsProvider Schnittstelle implementiert. Beispiel, com.mycompany.MyCertProvider.
"AwsKmsKey" : "MyKeyARN" Optional, nur wenn für angegeben EMR istCertificateProviderType. Ein vom Kunden verwalteter Schlüssel zum Hochladen des erstellten CA-Zertifikats. AWS Secrets ManagerMyKeyARNmuss ein vollständig spezifizierter ARN für einen Schlüssel sein (z. B.arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-456789012123).
"SecretTags" : [{"Key":"mykey","Value":"myvalue"}] Optional, nur wenn für angegeben EMR istCertificateProviderType. Tags, die dem erstellten CA-Zertifikat hinzugefügt werden sollen AWS Secrets Manager. Um dieses Feld einzuschließen, muss der Aufrufer über secretsmanager:TagResource Berechtigungen verfügen.
"ValidityInDays" : number Optional, nur wenn für CertificateProviderType angegeben EMR ist. Wie viele Tage die erstellten Zertifikate ab dem Datum der Erstellung der Sicherheitskonfiguration gültig sein werden. Wenn nicht angegeben, werden standardmäßig 20 Jahre verwendet.
"WildcardDnsSuffix" : "mydomain.com" Optional, nur wenn für CertificateProviderType angegeben EMR ist. Eine Domäne, die mit einem Platzhalterpräfix zur SAN-Liste der erstellten Zertifikate hinzugefügt werden soll. Unabhängig davon, ob dies angegeben ist oder nicht, wird das Zertifikat immer *.ec2.internal in us-east-1 und *.region.compute.internal in allen anderen Regionen enthalten sein.
At-rest Verschlüsselungsparameter
"AtRestEncryptionConfiguration" : Gibt eine Sammlung von Werten für die Verschlüsselung im Ruhezustand an, wenn dies der EnableAtRestEncryption Fall isttrue, einschließlich Amazon S3 S3-Verschlüsselung und Verschlüsselung lokaler Festplatten.
Amazon S3 S3-Verschlüsselungsparameter
"S3EncryptionConfiguration" : Gibt eine Sammlung von Werten an, die für die Amazon S3 S3-Verschlüsselung mit dem Amazon EMR File System (EMRFS) verwendet werden.
"EncryptionMode": "SSE-S3" | "SSE-KMS" | "CSE-KMS" | "CSE-Custom" Gibt den Typ der zu verwendenden Amazon S3 S3-Verschlüsselung an. Wenn SSE-S3 angegeben, sind keine weiteren Amazon S3 S3-Verschlüsselungswerte erforderlich. Wenn entweder SSE-KMS oder angegeben CSE-KMS ist, muss ein AWS KMS key ARN als AwsKmsKey Wert angegeben werden. Wenn CSE-Custom ausgewählt wurde, müssen S3Object- und EncryptionKeyProviderClass-Werte angegeben werden.
"AwsKmsKey" : "MyKeyARN" Nur erforderlich, wenn SSE-KMS oder CSE-KMS für EncryptionMode angegeben wurden. MyKeyARN muss ein vollständig angegebener ARN für einen Schlüssel sein (z. B. arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012).
"S3Object" : "JarLocation" Nur erforderlich, wenn für angegeben CSE-Custom istCertificateProviderType. JarLocationgibt den Speicherort in Amazon S3 für eine JAR-Datei an. Beim Format kann es sich um einen Pfad (beispielsweise s3://MyConfig/artifacts/MyKeyProvider.jar) oder einen ARN (beispielsweise arn:aws:s3:::Code/MyKeyProvider.jar) handeln.
"EncryptionKeyProviderClass" : "MyS3KeyClassID" Nur erforderlich, wenn für angegeben CSE-Custom istEncryptionMode. MyS3KeyClassIDgibt den vollständigen Klassennamen einer Klasse an, die in der Anwendung deklariert ist, die die EncryptionMaterialsProvider Schnittstelle implementiert; zum Beispielcom.mycompany.MyS3KeyProvider.
Parameter für Verschlüsselung auf dem lokalen Datenträger
"LocalDiskEncryptionConfiguration" Gibt die Schlüsselanbieter und die entsprechenden Werte an, die für die lokale Laufwerksverschlüsselung verwendet werden müssen.
"EnableEbsEncryption": true | false Geben Sie true an, ob die EBS-Verschlüsselung aktiviert werden soll. Die EBS-Verschlüsselung verschlüsselt das EBS-Root-Geräte-Volume und die angeschlossenen Speichervolumes. Um die EBS-Verschlüsselung zu verwenden, müssen Sie als Ihr angeben. AwsKms EncryptionKeyProviderType
"EncryptionKeyProviderType": "AwsKms" | "Custom" Gibt den Schlüsselanbieter an. Falls AwsKms angegeben, muss ein KMS-Schlüssel-ARN als AwsKmsKey Wert angegeben werden. Wenn Custom ausgewählt wurde, müssen S3Object- und EncryptionKeyProviderClass-Werte angegeben werden.
"AwsKmsKey : "MyKeyARN" Nur erforderlich, wenn für angegeben AwsKms istType. MyKeyARNmuss ein vollständig spezifizierter ARN für einen Schlüssel sein (z. B.arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-456789012123).
"S3Object" : "JarLocation" Nur erforderlich, wenn für angegeben CSE-Custom istCertificateProviderType. JarLocationgibt den Speicherort in Amazon S3 für eine JAR-Datei an. Beim Format kann es sich um einen Pfad (beispielsweise s3://MyConfig/artifacts/MyKeyProvider.jar) oder einen ARN (beispielsweise arn:aws:s3:::Code/MyKeyProvider.jar) handeln.

"EncryptionKeyProviderClass" : "MyLocalDiskKeyClassID"

Nur erforderlich, wenn für angegeben Custom istType. MyLocalDiskKeyClassIDgibt den vollständigen Klassennamen einer Klasse an, die in der Anwendung deklariert ist, die die EncryptionMaterialsProvider Schnittstelle implementiert; zum Beispielcom.mycompany.MyLocalDiskKeyProvider.
EMR WAL-Verschlüsselungsparameter
"EMRWALEncryptionConfiguration" Gibt den Wert für die EMR-WAL-Verschlüsselung an.
"AwsKmsKey" Gibt die CMK-Schlüssel-ID Arn an.

Konfiguration der Kerberos-Authentifizierung

Eine Sicherheitskonfiguration mit Kerberos-Einstellungen kann nur von einem Cluster verwendet werden, das mit Kerberos-Attributen erstellt wurde, andernfalls tritt ein Fehler auf. Weitere Informationen finden Sie unter Verwenden Sie Kerberos für die Authentifizierung mit Amazon EMR. Kerberos ist nur in Amazon-EMR-Version 5.10.0 und höher verfügbar.

Kerberos-Einstellungen unter Verwendung der Konsole angeben

Wählen Sie anhand der folgenden Anleitungen Optionen in Kerberos authentication (Kerberos-Authentifizierung) aus.

Parameter Description

Kerberos

Gibt an, dass Kerberos für Cluster aktiviert ist, die diese Sicherheitskonfiguration verwenden. Wenn ein Cluster diese Sicherheitskonfiguration verwendet, müssen für den Cluster auch Kerberos-Einstellungen angegeben sein, andernfalls tritt ein Fehler auf.

Anbieter

Cluster-dedicated KDC

Gibt an, dass Amazon EMR einen KDC auf dem Primärknoten eines Clusters erstellt, der diese Sicherheitskonfiguration verwendet. Sie geben den Bereichsnamen und das KDC-Administratorkennwort an, wenn Sie den Cluster erstellen.

Bei Bedarf können Sie von anderen Clustern aus auf diesen KDC verweisen. Erstellen Sie diese Cluster mit einer anderen Sicherheitskonfiguration, geben Sie ein externes KDC an und verwenden Sie den Bereichsnamen und das KDC-Administratorkennwort, die Sie für das clusterspezifische KDC angeben.

Externes KDC

Nur in Amazon-EMR-Version 5.20.0 und höher verfügbar. Gibt an, dass Cluster, die diese Sicherheitskonfiguration verwenden, Kerberos-Prinzipale mithilfe eines KDC-Servers außerhalb des Clusters authentifizieren. Auf dem Cluster wird kein KDC erstellt. Sie geben den Bereichsnamen und das KDC-Administratorkennwort an, wenn Sie den Cluster erstellen.

Gültigkeitsdauer des Tickets

Optional. Gibt den Zeitraum an, für den ein vom KDC ausgestelltes Kerberos-Ticket auf Clustern gültig ist, die diese Sicherheitskonfiguration verwenden.

Ticket-Gültigkeitsdauern werden aus Sicherheitsgründen beschränkt. Cluster-Anwendungen und Services verlängern Tickets automatisch, wenn sie ablaufen. Benutzer, die eine Verbindung mit dem Cluster über SSH mit Kerberos-Anmeldeinformationen einrichten, müssen kinit von der Befehlszeile des Primärknoten aus ausführen, um eine Verlängerung auszuführen, nachdem ein Ticket abgelaufen ist.

Cross-realm vertrauen

Gibt eine bereichsübergreifende Vertrauensstellung zwischen einem clusterspezifischen KDC auf Clustern, die diese Sicherheitskonfiguration verwenden, und einem KDC in einem anderen Kerberos-Bereich an.

Prinzipale (in der Regel Benutzer) aus einem anderen Bereich werden gegenüber Clustern authentifiziert, die diese Konfiguration verwenden. Eine zusätzliche Konfiguration im anderen Kerberos-Bereich ist erforderlich. Weitere Informationen finden Sie unter Tutorial: Konfigurieren einer bereichsübergreifenden Vertrauensstellung mit einer Active-Directory-Domain.

Cross-realm Immobilien vertrauen

Bereich

Gibt den Kerberos-Bereichsnamen des anderen Bereichs in der Vertrauensstellung an. Gemäß der Konvention sind Kerberos-Bereichsnamen mit dem Domainnamen identisch, jedoch ausschließlich in Großbuchstaben.

Domain

Gibt den Domain-Namen des anderen Bereichs in der Vertrauensstellung an.

Admin-Server

Gibt den Fully Qualified Domain Name (FQDN, vollständig qualifizierter Domainname) oder IP-Adresse des Admin-Servers im anderen Bereich der Vertrauensstellung an. Der Admin-Server und KDC-Server werden normalerweise auf demselben Rechner mit demselben FQDN ausgeführt, kommunizieren jedoch über andere Ports.

Falls kein Port angegeben ist, wird Port 749 verwendet, da es dabei um den Kerberos-Standard handelt. Sie können optional einen Port angeben (beispielsweise domain.example.com:749).

KDC-Server

Gibt den vollständig qualifizierten Domain-Namen (FQDN, Fully Qualified Domain Name) oder IP-Adresse des KDC-Servers im anderen Bereich der Vertrauensstellung an. Der KDC-Server und Admin-Server werden normalerweise auf demselben Rechner mit demselben FQDN ausgeführt, nutzen jedoch andere Ports.

Falls kein Port angegeben ist, wird Port 88 verwendet, da es dabei um den Kerberos-Standard handelt. Sie können optional einen Port angeben (beispielsweise domain.example.com:88).

Externes KDC

Gibt an, dass das externe KDC des Clusters vom Cluster verwendet wird.

Eigenschaften des externen KDCs

Admin-Server

Gibt den vollqualifizierten Domainnamen oder die IP-Adresse des externen Admin-Servers an. Der Admin-Server und KDC-Server werden normalerweise auf demselben Rechner mit demselben FQDN ausgeführt, kommunizieren jedoch über andere Ports.

Falls kein Port angegeben ist, wird Port 749 verwendet, da es dabei um den Kerberos-Standard handelt. Sie können optional einen Port angeben (beispielsweise domain.example.com:749).

KDC-Server

Gibt den vollqualifizierten Domainnamen des externen KDC-Servers an. Der KDC-Server und Admin-Server werden normalerweise auf demselben Rechner mit demselben FQDN ausgeführt, nutzen jedoch andere Ports.

Falls kein Port angegeben ist, wird Port 88 verwendet, da es dabei um den Kerberos-Standard handelt. Sie können optional einen Port angeben (beispielsweise domain.example.com:88).

Active-Directory-Integration

Gibt an, dass die Kerberos-Prinzipalauthentifizierung in eine Microsoft-Active-Directory-Domain integriert ist.

Active-Directory-Integrationseigenschaften

Active-Directory-Bereich

Gibt den Kerberos-Bereichsnamen der Active-Directory-Domain an. Gemäß der Konvention sind Kerberos-Bereichsnamen in der Regel identisch mit dem Domainnamen, jedoch ausschließlich in Großbuchstaben.

Active-Directory-Domain

Gibt den Active-Directory-Domainnamen an.

Active-Directory-Server

Gibt den vollqualifizierten Domainnamen des Microsoft Active Directory-Domain-Controllers an.

Angeben von Kerberos-Einstellungen mithilfe der AWS CLI

Die folgende Referenztabelle zeigt JSON-Parameter für Kerberos-Einstellungen in einer Sicherheitskonfiguration. Beispielkonfigurationen finden Sie unter Beispiele für Konfigurationen.

Parameter Description

"AuthenticationConfiguration": {

Erforderlich für Kerberos. Gibt an, dass eine Authentifizierungskonfiguration Teil dieser Sicherheitskonfiguration ist.

"KerberosConfiguration": {

Erforderlich für Kerberos. Gibt die Kerberos-Konfigurationseigenschaften an.

"Provider": "ClusterDedicatedKdc",

oder

"Provider: "ExternalKdc",

ClusterDedicatedKdc gibt an, dass Amazon EMR einen KDC auf dem Primärknoten eines Clusters erstellt, der diese Sicherheitskonfiguration verwendet. Sie geben den Bereichsnamen und das KDC-Administratorkennwort an, wenn Sie den Cluster erstellen. Bei Bedarf können Sie von anderen Clustern aus auf diesen KDC verweisen. Erstellen Sie diese Cluster mit einer anderen Sicherheitskonfiguration, geben Sie einen externen KDC an und verwenden Sie den Bereichsnamen und das KDC-Administratorkennwort, die Sie beim Erstellen des Clusters mit dem Cluster-dedizierten KDC angegeben haben.

ExternalKdc gibt an, dass der Cluster ein externes KDC verwendet. Amazon EMR erstellt kein KDC auf dem Primärknoten. Ein Cluster, der diese Sicherheitskonfiguration verwendet, muss den Bereichsnamen und das KDC-Administratorkennwort des externen KDC angeben.

"ClusterDedicatedKdcConfiguration": {

Erforderlich, wenn ClusterDedicatedKdc angegeben ist.

"TicketLifetimeInHours": 24,

Optional. Gibt den Zeitraum an, für den ein vom KDC ausgestelltes Kerberos-Ticket auf Clustern gültig ist, die diese Sicherheitskonfiguration verwenden.

Ticket-Gültigkeitsdauern werden aus Sicherheitsgründen beschränkt. Cluster-Anwendungen und Services verlängern Tickets automatisch, wenn sie ablaufen. Benutzer, die eine Verbindung mit dem Cluster über SSH mit Kerberos-Anmeldeinformationen einrichten, müssen kinit von der Befehlszeile des Primärknoten aus ausführen, um eine Verlängerung auszuführen, nachdem ein Ticket abgelaufen ist.

"CrossRealmTrustConfiguration": {

Gibt eine bereichsübergreifende Vertrauensstellung zwischen einem clusterspezifischen KDC auf Clustern, die diese Sicherheitskonfiguration verwenden, und einem KDC in einem anderen Kerberos-Bereich an.

Prinzipale (in der Regel Benutzer) aus einem anderen Bereich werden gegenüber Clustern authentifiziert, die diese Konfiguration verwenden. Eine zusätzliche Konfiguration im anderen Kerberos-Bereich ist erforderlich. Weitere Informationen finden Sie unter Tutorial: Konfigurieren einer bereichsübergreifenden Vertrauensstellung mit einer Active-Directory-Domain.

"Realm": "KDC2.COM",

Gibt den Kerberos-Bereichsnamen des anderen Bereichs in der Vertrauensstellung an. Gemäß der Konvention sind Kerberos-Bereichsnamen mit dem Domainnamen identisch, jedoch ausschließlich in Großbuchstaben.

"Domain": "kdc2.com",

Gibt den Domain-Namen des anderen Bereichs in der Vertrauensstellung an.

"AdminServer": "kdc.com:749",

Gibt den Fully Qualified Domain Name (FQDN, vollständig qualifizierter Domainname) oder IP-Adresse des Admin-Servers im anderen Bereich der Vertrauensstellung an. Der Admin-Server und KDC-Server werden normalerweise auf demselben Rechner mit demselben FQDN ausgeführt, kommunizieren jedoch über andere Ports.

Falls kein Port angegeben ist, wird Port 749 verwendet, da es dabei um den Kerberos-Standard handelt. Sie können optional einen Port angeben (beispielsweise domain.example.com:749).

"KdcServer": "kdc.com:88"

Gibt den vollständig qualifizierten Domain-Namen (FQDN, Fully Qualified Domain Name) oder IP-Adresse des KDC-Servers im anderen Bereich der Vertrauensstellung an. Der KDC-Server und Admin-Server werden normalerweise auf demselben Rechner mit demselben FQDN ausgeführt, nutzen jedoch andere Ports.

Falls kein Port angegeben ist, wird Port 88 verwendet, da es dabei um den Kerberos-Standard handelt. Sie können optional einen Port angeben (beispielsweise domain.example.com:88).

}

}

"ExternalKdcConfiguration": {

Erforderlich, wenn ExternalKdc angegeben ist.

"TicketLifetimeInHours": 24,

Optional. Gibt den Zeitraum an, für den ein vom KDC ausgestelltes Kerberos-Ticket auf Clustern gültig ist, die diese Sicherheitskonfiguration verwenden.

Ticket-Gültigkeitsdauern werden aus Sicherheitsgründen beschränkt. Cluster-Anwendungen und Services verlängern Tickets automatisch, wenn sie ablaufen. Benutzer, die eine Verbindung mit dem Cluster über SSH mit Kerberos-Anmeldeinformationen einrichten, müssen kinit von der Befehlszeile des Primärknoten aus ausführen, um eine Verlängerung auszuführen, nachdem ein Ticket abgelaufen ist.

"KdcServerType": "Single",

Gibt an, dass auf einen einzelnen KDC-Server verwiesen wird. Single ist derzeit der einzige unterstützte Wert.

"AdminServer": "kdc.com:749",

Gibt den vollqualifizierten Domainnamen oder die IP-Adresse des externen Admin-Servers an. Der Admin-Server und KDC-Server werden normalerweise auf demselben Rechner mit demselben FQDN ausgeführt, kommunizieren jedoch über andere Ports.

Falls kein Port angegeben ist, wird Port 749 verwendet, da es dabei um den Kerberos-Standard handelt. Sie können optional einen Port angeben (beispielsweise domain.example.com:749).

"KdcServer": "kdc.com:88",

Gibt den vollqualifizierten Domainnamen des externen KDC-Servers an. Der KDC-Server und Admin-Server werden normalerweise auf demselben Rechner mit demselben FQDN ausgeführt, nutzen jedoch andere Ports.

Falls kein Port angegeben ist, wird Port 88 verwendet, da es dabei um den Kerberos-Standard handelt. Sie können optional einen Port angeben (beispielsweise domain.example.com:88).

"AdIntegrationConfiguration": {

Gibt an, dass die Kerberos-Prinzipalauthentifizierung in eine Microsoft-Active-Directory-Domain integriert ist.

"AdRealm": "AD.DOMAIN.COM",

Gibt den Kerberos-Bereichsnamen der Active-Directory-Domain an. Gemäß der Konvention sind Kerberos-Bereichsnamen in der Regel identisch mit dem Domainnamen, jedoch ausschließlich in Großbuchstaben.

"AdDomain": "ad.domain.com"

Gibt den Active-Directory-Domainnamen an.

"AdServer": "ad.domain.com"

Gibt den vollqualifizierten Domainnamen des Microsoft Active Directory-Domain-Controllers an.

}

}

}

}

Konfigurieren von IAM-Rollen für EMRFS-Anforderungen an Amazon S3

Mit IAM-Rollen für EMRFS können Sie unterschiedliche Berechtigungen für EMRFS-Daten in Amazon S3 bereitstellen. Sie erstellen Rollenzuordnungen, die eine IAM-Rolle spezifizieren, die für Berechtigungen verwendet wird, wenn eine Zugriffsanforderung eine von Ihnen angegebene Kennung enthält. Bei der ID kann es sich um einen Hadoop-Benutzer oder eine Hadoop-Rolle oder ein Amazon-S3-Präfix handeln.

Weitere Informationen finden Sie unter Konfigurieren von IAM-Rollen für EMRFS-Anforderungen an Amazon S3.

Angeben von IAM-Rollen für EMRFS mithilfe von AWS CLI

Im Folgenden finden Sie ein JSON-Beispiel für die Angabe benutzerdefinierter IAM-Rollen für EMRFS innerhalb einer Sicherheitskonfiguration. Es zeigt Rollenzuordnungen für die drei verschiedenen Identifier-Typen, gefolgt von einer Parameterreferenz.

{ "AuthorizationConfiguration": { "EmrFsConfiguration": { "RoleMappings": [{ "Role": "arn:aws:iam::123456789101:role/allow_EMRFS_access_for_user1", "IdentifierType": "User", "Identifiers": [ "user1" ] },{ "Role": "arn:aws:iam::123456789101:role/allow_EMRFS_access_to_demo_s3_buckets", "IdentifierType": "Prefix", "Identifiers": [ "s3://amzn-s3-demo-bucket1/","s3://amzn-s3-demo-bucket2/" ] },{ "Role": "arn:aws:iam::123456789101:role/allow_EMRFS_access_for_AdminGroup", "IdentifierType": "Group", "Identifiers": [ "AdminGroup" ] }] } } }
Parameter Description

"AuthorizationConfiguration":

Erforderlich

"EmrFsConfiguration":

Erforderlich Enthält Rollenzuordnungen.

  "RoleMappings":

Erforderlich Enthält eine oder mehrere Rollenzuordnungsdefinitionen. Rollenzuordnungen werden in der Reihenfolge bewertet, in der sie von oben nach unten angezeigt werden. Wenn eine Rollenzuweisung für einen EMRFS-Datenaufruf in Amazon S3 als wahr bewertet wird, werden keine weiteren Rollenzuordnungen ausgewertet und EMRFS verwendet die angegebene IAM-Rolle für die Anfrage. Rollenzuordnungen bestehen aus den folgenden erforderlichen Parametern:

   "Role":

Gibt den ARN-Bezeichner einer IAM-Rolle im Format arn:aws:iam::account-id:role/role-name an. Dies ist die IAM-Rolle, die Amazon EMR übernimmt, wenn die EMRFS-Anfrage an Amazon S3 mit einer der angegebenen Identifiers übereinstimmt.

   "IdentifierType":

Kann einer der folgenden sein:

  • "User" gibt an, dass es sich bei den Kennungen um einen oder mehrere Hadoop-Benutzer handelt, bei denen es sich um Linux-Kontobenutzer oder Kerberos-Prinzipale handeln kann. Wenn die EMRFS-Anfrage von dem oder den angegebenen Benutzern stammt, wird die IAM-Rolle übernommen.

  • "Prefix" gibt an, dass der Identifier ein Amazon-S3-Speicherort ist. Die IAM-Rolle wird für Anrufe an den Standort oder die Standorte mit den angegebenen Präfixen übernommen. Das Präfix s3://amzn-s3-demo-bucket/ entspricht beispielsweise s3://amzn-s3-demo-bucket/mydir und s3://amzn-s3-demo-bucket/yetanotherdir.

  • "Group" gibt an, dass es sich bei den Identifikatoren um eine oder mehrere Hadoop-Gruppen handelt. Die IAM-Rolle wird übernommen, wenn die Anfrage von einem Benutzer in der oder den angegebenen Gruppen stammt.

   "Identifiers":

Gibt einen oder mehrere Kennungen des entsprechenden Kennungstyps an. Trennen Sie mehrere Bezeichner durch Kommas ohne Leerzeichen.

Metadaten-Serviceanfragen an Amazon EC2-Instances konfigurieren

Instance-Metadaten sind Daten über eine Instance, mit denen Sie die ausgeführte Instance konfigurieren und verwalten können. Sie können mit einer der folgenden Methoden auf Instance-Metadaten aus einer laufenden Instance zugreifen:

  • Instance Metadata Service Version 1 (IMDSv1) — eine Methode request/response

  • Instance-Metadatenservice Version 2 (IMDSv2) – Ein sitzungsorientiertes Verfahren

Während Amazon EC2 sowohl IMDSv1 als auch IMDSv2 unterstützt, unterstützt Amazon EMR IMDSv2 in Amazon EMR 5.23.1, 5.27.1, 5.32 oder höher und 6.2 oder höher. In diesen Versionen verwenden Amazon-EMR-Komponenten IMDSv2 für alle IMDS-Aufrufe. Für IMDS-Aufrufe in Ihrem Anwendungscode können Sie sowohl IMDSv1 als auch IMDSv2 verwenden oder das IMDS so konfigurieren, dass es aus Sicherheitsgründen nur IMDSv2 verwendet. Wenn Sie angeben, dass IMDSv2 verwendet werden muss, funktioniert IMDSv1 nicht mehr.

Weitere Informationen finden Sie unter Konfiguration des Instance-Metadaten-Service im Amazon EC2 EC2-Benutzerhandbuch.

Anmerkung

In früheren Amazon EMR 5.x- oder 6.x-Versionen führt das Ausschalten von IMDSv1 zu einem Cluster-Startup-Fehler, da Amazon-EMR-Komponenten IMDSv1 für alle IMDS-Aufrufe verwenden. Stellen Sie beim Ausschalten von IMDSv1 sicher, dass jede benutzerdefinierte Software, die IMDSv1 verwendet, auf IMDSv2 aktualisiert wird.

Spezifizieren der Konfiguration des Instance-Metadatendienstes mit dem AWS CLI

Nachfolgend finden Sie ein JSON-Beispiel-Snippet für die Spezifizierung des Amazon EC2 Instance Metadata Service (IMDS) in einer Sicherheitskonfiguration. Die Verwendung einer benutzerdefinierten Sicherheitskonfiguration ist optional.

{ "InstanceMetadataServiceConfiguration" : { "MinimumInstanceMetadataServiceVersion": integer, "HttpPutResponseHopLimit": integer } }
Parameter Description

"InstanceMetadataServiceConfiguration":

Wenn Sie IMDS nicht innerhalb einer Sicherheitskonfiguration angeben und eine Amazon EMR-Version verwenden, für die IMDSv1 erforderlich ist, verwendet Amazon EMR standardmäßig IMDSv1 als Mindestversion des Instance-Metadatendienstes. Wenn Sie Ihre eigene Konfiguration verwenden möchten, sind die beiden folgenden Parameter erforderlich.

"MinimumInstanceMetadataServiceVersion":

Erforderlich Geben Sie 1 oder 2 an. Der Wert 1 ermöglicht IMDSv1 und IMDSv2. Ein Wert von 2 erlaubt nur IMDSv2.

"HttpPutResponseHopLimit":

Erforderlich Das gewünschte HTTP PUT-Antwort-Hop-Limit für Instance-Metadatenanfragen. Je größer die Zahl ist, desto weiter können sich die Instance-Metadatenanfragen bewegen. Standard: 1. Einen Ganzzahlwert von 1 bis 64 angeben.

Die Konfiguration des Instance Metadata Services mit der Konsole angeben

Sie können die Verwendung von IMDS für einen Cluster konfigurieren, wenn Sie ihn von der Amazon-EMR-Konsole aus starten.

So konfigurieren Sie die Verwendung von IMDS mithilfe der Konsole:
  1. Wenn Sie auf der Seite Sicherheitskonfigurationen eine neue Sicherheitskonfiguration erstellen, wählen Sie unter der Einstellung EC2-Instance Metadata Service die Option EC2-Instance-Metadatenservice konfigurieren aus. Diese Konfiguration wird nur in Amazon EMR 5.23.1, 5.27.1, 5.32 oder höher und 6.2 oder höher unterstützt.

  2. Für Minimum Instance Metadata Service Version wählen Sie eine der folgenden Optionen aus:

    • Schalten Sie IMDSv1 aus und lassen Sie nur IMDSv2 zu, wenn Sie nur IMDSv2 auf diesem Cluster zulassen möchten. Weitere Informationen finden Sie unter Umstellung auf die Verwendung von Instance-Metadaten-Service Version 2 im Amazon EC2-Benutzerhandbuch.

    • Erlauben Sie sowohl IMDSv1 als auch IMDSv2 auf dem Cluster, wenn Sie IMDSv1 und sitzungsorientierte IMDSv2 auf diesem Cluster zulassen möchten.

  3. Für IMDSv2 können Sie auch die zulässige Anzahl von Netzwerk-Hops für das Metadaten-Token konfigurieren, indem Sie das HTTP-Put-Antwort-Hop-Limit auf eine Ganzzahl zwischen 1 und 64 festlegen.

Weitere Informationen finden Sie unter Konfiguration des Instance-Metadaten-Service im Amazon EC2 EC2-Benutzerhandbuch.

Weitere Informationen finden Sie unter Instance-Details konfigurieren und Instance-Metadaten-Service konfigurieren im Amazon EC2 EC2-Benutzerhandbuch.