Amazon S3 Access Grants mit Amazon verwenden EMR - 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.

Amazon S3 Access Grants mit Amazon verwenden EMR

Übersicht über S3 Access Grants für Amazon EMR

Mit den EMR Amazon-Versionen 6.15.0 und höher bieten Amazon S3 Access Grants eine skalierbare Zugriffskontrolllösung, mit der Sie den Zugriff auf Ihre Amazon S3 S3-Daten von Amazon erweitern können. EMR Wenn Sie für Ihre S3-Daten eine komplexe oder umfangreiche Berechtigungskonfiguration haben, können Sie mit S3 Access Grants die S3-Datenberechtigungen für Benutzer, Gruppen, Rollen und Anwendungen in Ihrem Cluster skalieren.

Verwenden Sie S3 Access Grants, um den Zugriff auf Amazon S3 S3-Daten über die Berechtigungen hinaus zu erweitern, die von der Runtime-Rolle oder den IAM Rollen, die den Identitäten mit Zugriff auf Ihren EMR Cluster zugewiesen sind, gewährt werden. Weitere Informationen finden Sie unter Verwalten des Zugriffs mit S3 Access Grants im Benutzerhandbuch zu Amazon S3.

Schritte zur Verwendung von S3 Access Grants mit anderen EMR Amazon-Bereitstellungen finden Sie in der folgenden Dokumentation:

So EMR arbeitet Amazon mit S3 Access Grants

EMRAmazon-Versionen 6.15.0 und höher bieten eine native Integration mit S3 Access Grants. Sie können S3 Access Grants bei Amazon aktivieren EMR und Spark-Jobs ausführen. Wenn ein Spark-Auftrag eine Anfrage für S3-Daten stellt, stellt Amazon S3 temporäre Anmeldeinformationen bereit, die auf den jeweiligen Bucket, das Präfix oder das Objekt beschränkt sind.

Im Folgenden finden Sie einen allgemeinen Überblick darüber, wie Amazon Zugriff auf Daten EMR erhält, die durch S3 Access Grants geschützt sind.

So EMR arbeitet Amazon mit S3 Access Grants
  1. Ein Benutzer reicht einen Amazon EMR Spark-Job ein, der in Amazon S3 gespeicherte Daten verwendet.

  2. Amazon EMR stellt eine Anfrage für S3 Access Grants, um im Namen dieses Benutzers Zugriff auf den Bucket, das Präfix oder das Objekt zu gewähren.

  3. Amazon S3 gibt temporäre Anmeldeinformationen in Form eines AWS Security Token Service (STS) -Tokens für den Benutzer zurück. Das Token ist für den Zugriff auf den S3-Bucket, das S3-Präfix oder das S3-Objekt vorgesehen.

  4. Amazon EMR verwendet das STS Token, um Daten von S3 abzurufen.

  5. Amazon EMR empfängt die Daten von S3 und gibt die Ergebnisse an den Benutzer zurück.

Überlegungen zu S3 Access Grants mit Amazon EMR

Beachten Sie die folgenden Verhaltensweisen und Einschränkungen, wenn Sie S3 Access Grants mit Amazon verwendenEMR.

Feature-Unterstützung

  • S3 Access Grants wird mit EMR Amazon-Versionen 6.15.0 und höher unterstützt.

  • Spark ist die einzige unterstützte Abfrage-Engine, wenn Sie S3 Access Grants mit Amazon verwendenEMR.

  • Delta Lake und Hudi sind die einzigen unterstützten Open-Table-Formate, wenn Sie S3 Access Grants mit Amazon verwenden. EMR

  • Die folgenden EMR Amazon-Funktionen werden für die Verwendung mit S3 Access Grants nicht unterstützt:

    • Apache-Iceberg-Tabellen

    • LDAPnative Authentifizierung

    • Native Apache-Ranger-Authentifizierung

    • AWS CLI Anfragen an Amazon S3, die IAM Rollen verwenden

    • S3-Zugriff über das Open-Source-Protokoll S3A

  • Die fallbackToIAM Option wird nicht für EMR Cluster unterstützt, die vertrauenswürdige Identitätsverbreitung mit IAM Identity Center verwenden.

  • S3 Access Grants with AWS Lake Formation wird nur mit EMR Amazon-Clustern unterstützt, die auf Amazon ausgeführt EC2 werden.

Überlegungen in Bezug auf das Verhalten

  • Die native Apache Ranger-Integration mit Amazon EMR bietet Funktionen, die mit S3 Access Grants als Teil des S3 Apache Ranger-Plug-ins EMRFS übereinstimmen. Wenn Sie Apache Ranger für eine differenzierte Zugriffskontrolle (FGAC) verwenden, empfehlen wir, dieses Plugin anstelle von S3 Access Grants zu verwenden.

  • Amazon EMR stellt einen Anmeldedaten-Cache bereit, EMRFS um sicherzustellen, dass ein Benutzer innerhalb eines Spark-Jobs nicht wiederholt dieselben Anmeldeinformationen anfordern muss. Daher fordert Amazon EMR immer das Standardrecht an, wenn es Anmeldeinformationen anfordert. Weitere Informationen finden Sie unter Zugriff auf S3-Daten anfordern im Benutzerhandbuch zu Amazon S3.

  • Für den Fall, dass ein Benutzer eine Aktion ausführt, die S3 Access Grants nicht unterstützt, EMR ist Amazon so eingestellt, dass es die IAM Rolle verwendet, die für die Auftragsausführung angegeben wurde. Weitere Informationen finden Sie unter Greifen Sie auf Rollen IAM zurück.

Starten Sie einen EMR Amazon-Cluster mit S3 Access Grants

In diesem Abschnitt wird beschrieben, wie Sie einen EMR Cluster startenEC2, der auf Amazon läuft und S3 Access Grants verwendet, um den Zugriff auf Daten in Amazon S3 zu verwalten. Schritte zur Verwendung von S3 Access Grants mit anderen EMR Amazon-Bereitstellungen finden Sie in der folgenden Dokumentation:

Gehen Sie wie folgt vor, um einen EMR Cluster zu startenEC2, der auf Amazon läuft und S3 Access Grants verwendet, um den Zugriff auf Daten in Amazon S3 zu verwalten.

  1. Richten Sie eine Rolle zur Auftragsausführung für Ihren EMR Cluster ein. Geben Sie die erforderlichen IAM Berechtigungen an, die Sie für die Ausführung von Spark-Jobs benötigen, s3:GetDataAccess unds3:GetAccessGrantsInstanceForPrefix:

    { "Effect": "Allow", "Action": [ "s3:GetDataAccess", "s3:GetAccessGrantsInstanceForPrefix" ], "Resource": [ //LIST ALL INSTANCE ARNS THAT THE ROLE IS ALLOWED TO QUERY "arn:aws_partition:s3:Region:account-id1:access-grants/default", "arn:aws_partition:s3:Region:account-id2:access-grants/default" ] }
    Anmerkung

    Bei Amazon EMR erweitern S3 Access Grants die Berechtigungen, die in IAM Rollen festgelegt sind. Wenn die IAM Rollen, die Sie für die Auftragsausführung angeben, Berechtigungen für den direkten Zugriff auf S3 enthalten, können Benutzer möglicherweise auf mehr Daten zugreifen als nur auf die Daten, die Sie in S3 Access Grants definieren.

  2. Verwenden Sie als Nächstes die, AWS CLI um einen Cluster mit Amazon EMR 6.15 oder höher zu erstellen und die emrfs-site Klassifizierung, um S3 Access Grants zu aktivieren, ähnlich dem folgenden Beispiel:

    aws emr create-cluster --release-label emr-6.15.0 \ --instance-count 3 \ --instance-type m5.xlarge \ --configurations '[{"Classification":"emrfs-site", "Properties":{"fs.s3.s3AccessGrants.enabled":"true", "fs.s3.s3AccessGrants.fallbackToIAM":"false"}}]'

S3 Access Grants mit AWS Lake Formation

Wenn Sie Amazon EMR mit der AWS Lake Formation Integration verwenden, können Sie Amazon S3 Access Grants für direkten oder tabellarischen Zugriff auf Daten in Amazon S3 verwenden.

Anmerkung

S3 Access Grants with AWS Lake Formation wird nur mit EMR Amazon-Clustern unterstützt, die auf Amazon ausgeführt EC2 werden.

Direkter Zugriff

Der direkte Zugriff umfasst alle Aufrufe zum Zugriff auf S3-Daten, die nicht den Service API for the AWS Glue aufrufen, den Lake Formation als Metastore bei Amazon verwendetEMR, zum Beispiel, um Folgendes aufzurufen: spark.read

spark.read.csv("s3://...")

Wenn Sie S3 Access Grants bei AWS Lake Formation Amazon verwendenEMR, werden alle Direktzugriffsmuster über S3 Access Grants temporäre S3-Anmeldeinformationen abgerufen.

Tabellarischer Zugriff

Ein tabellarischer Zugriff erfolgt, wenn Lake Formation den Metastore aufruft, API um auf Ihren S3-Standort zuzugreifen, z. B. um Tabellendaten abzufragen:

spark.sql("select * from test_tbl")

Wenn Sie S3 Access Grants mit AWS Lake Formation auf Amazon verwendenEMR, werden alle tabellarischen Zugriffsmuster über Lake Formation abgewickelt.

Greifen Sie auf Rollen IAM zurück

Wenn ein Benutzer versucht, eine Aktion auszuführen, die S3 Access Grants nicht unterstützt, verwendet Amazon EMR standardmäßig die IAM Rolle, die bei der fallbackToIAM Konfiguration für die Auftragsausführung angegeben wurde. true Auf diese Weise können Benutzer in Szenarien, die S3 Access Grants nicht abdeckt, auf ihre Auftragsausführungsrolle zurückgreifen, um Anmeldeinformationen für den S3-Zugriff einzugeben.

Wenn fallbackToIAM aktiviert ist, können Benutzer auf die Daten zugreifen, die Access Grant zulässt. Wenn es kein S3 Access Grants-Token für die Zieldaten gibt, EMR prüft Amazon, ob die entsprechende Berechtigung für die Auftragsausführungsrolle vorliegt.

Anmerkung

Wir empfehlen Ihnen, Ihre Zugriffsberechtigungen bei aktivierter fallbackToIAM-Konfiguration zu testen, auch wenn Sie planen, die Option für Produktionsworkloads zu deaktivieren. Bei Spark-Jobs gibt es andere Möglichkeiten, wie Benutzer mit ihren IAM Anmeldeinformationen auf alle Berechtigungssätze zugreifen können. Wenn sie auf EMR Clustern aktiviert sind, gewähren S3-Zuschüsse Spark-Jobs Zugriff auf S3-Standorte. Sie sollten sicherstellen, dass Sie diese S3-Standorte vor Zugriffen von außen schützenEMRFS. Sie sollten die S3-Standorte beispielsweise vor dem Zugriff durch S3-Clients schützen, die in Notebooks verwendet werden, oder durch Anwendungen, die nicht von S3 Access Grants unterstützt werden, wie Hive oder Presto.