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.
Pfadbasierter S3-Zugriff mit Lake Formation für Amazon EMR Spark
Mit Amazon EMR-Versionen 7.13.0 und höher können Sie das AWS Lake Formation Access Grants Plugin verwenden, um temporäre Anmeldeinformationen für S3-Pfade zu erhalten, die bei Lake Formation registriert sind. Dadurch können Spark-Abfragen, die direkt auf S3-Pfade verweisen, Formation-vended Lake-Anmeldeinformationen zusätzlich zu den bestehenden, auf Tabellennamen basierenden Verkäufen von Anmeldeinformationen verwenden, die von Full Table Access (FTA) bereitgestellt werden.
Das Lake Formation Access Grants Plugin lässt sich in das S3A-Dateisystem in Spark integrieren. Wenn diese Option aktiviert ist, verwendet S3A das Plugin, um die Lake Formation GetTemporaryDataLocationCredentialsAPI aufzurufen, um temporäre Anmeldeinformationen für S3-Pfade abzurufen, die zu Formation-registered Lake-Tabellen gehören.
Dieses Plugin ist nützlich, wenn Ihre Spark-Jobs Daten lesen oder schreiben, indem sie direkt auf S3-Pfade verweisen (z. B.spark.read.parquet("s3a://my-bucket/my-table/")), anstatt Tabellennamen zu verwenden. Das Plugin unterstützt auch optionales Fallback auf S3 Access Grants oder IAM-Rollenanmeldeinformationen, wenn der Lake Formation Formation-Zugriff verweigert wird.
Beziehung zu Full Table Access (FTA)
Die bestehende Funktion „Vollständiger Tabellenzugriff“ verwendet die GetTemporaryGlueTableCredentialsAPI, die Anmeldeinformationen auf der Grundlage von Tabellennamen ausgibt. Das Lake Formation Access Grants Plugin verwendet die GetTemporaryDataLocationCredentialsAPI, die Anmeldeinformationen basierend auf S3-Pfaden weitergibt.
Sie können beide Funktionen zusammen verwenden. Wenn beide aktiviert sind, haben FTA-Anmeldeinformationen Vorrang bei Abfragen nach Tabellennamen, während das Plugin direkte S3-Pfadabfragen verarbeitet.
Voraussetzungen
Bevor Sie das Lake Formation Access Grants Plugin verwenden, führen Sie die folgenden Schritte durch:
-
Richten Sie Full Table Access (FTA) für Ihre Amazon EMR-Umgebung ein. Detaillierte Anweisungen finden Sie unter .
-
Registrieren Sie in der Lake Formation Formation-Konsole den S3-Pfad mit dem Besitzerkonto:
-
Navigieren Sie zu den Data Lake-Standorten.
-
Wählen Sie den Standort aus und aktivieren Sie die Option S3-Pfad mit Eigentümerkonto registrieren.
-
-
Erteilen Sie der Runtime-Rolle die entsprechenden Lake Formation Formation-Berechtigungen für die Tabelle:
-
Um Tabellendaten lesen zu können, erteilen Sie der Runtime-Rolle volle
SELECTRechte für die Tabelle. -
Um Tabellendaten zu ändern, erteilen Sie der Runtime-Rolle die
SUPERBerechtigung für die Tabelle.
-
Aktiviere das Lake Formation Access Grants Plugin
Um das Plugin zu aktivieren, legen Sie in Ihrer Spark-Sitzung die folgenden S3A-Konfigurationseigenschaften fest:
| Eigenschaft | Standard | Description |
|---|---|---|
fs.s3a.lakeformation.access.grants.enabled |
FALSE |
Aktiviert das Lake Formation Access Grants Plugin. |
fs.s3a.lakeformation.access.grants.fallback.to.iam |
FALSE |
Ermöglicht den Fallback auf S3 Access Grants oder IAM-Rollenanmeldedaten, falls Lake Formation den Zugriff verweigert. |
Fallback-Verhalten
Wenn auf gesetzt fs.s3a.lakeformation.access.grants.fallback.to.iam isttrue, verwendet das Plugin eine Fallback-Kette, falls Lake Formation den Zugriff verweigert. Dies ist nützlich in Szenarien, in denen einige S3-Pfade bei Lake Formation registriert sind und andere über S3 Access Grants oder IAM-Richtlinien verwaltet werden.
Wenn Fallback aktiviert ist, versucht das Plugin, Anmeldeinformationen in der folgenden Reihenfolge abzurufen:
-
Lake Formation — Das Plugin ruft auf GetTemporaryDataLocationCredentials. Wenn Lake Formation Zugriff gewährt, gibt das Plugin diese Anmeldeinformationen zurück.
-
S3 Access Grants — Wenn Lake Formation den Zugriff verweigert, prüft das Plugin, ob S3 Access Grants Anmeldeinformationen für den angeforderten Pfad bereitstellen kann. Wenn eine S3 Access Grants-Instanz den Pfad abdeckt und der Aufrufer über einen entsprechenden Grant verfügt, verwendet das Plugin diese Anmeldeinformationen.
-
IAM-Rolle — Wenn sowohl Lake Formation als auch S3 Access Grants den Zugriff verweigern, greift das Plugin auf die dem Job angehängten IAM-Rollenanmeldedaten zurück.
Überlegungen und Einschränkungen
-
Das Plugin unterstützt die Tabellenformate Apache Hive, Apache Hudi und Delta Lake. Apache Iceberg wird derzeit nicht unterstützt.
-
Das Plugin wird derzeit nicht im Amazon EMR Spark Fine-Grained Access Control (FGAC) -Modus unterstützt.
-
Path-based Für den Verkauf von Anmeldeinformationen ist eine 1:1 -Zuordnung zwischen einer Tabelle und ihrem S3-Standort im AWS Glue-Datenkatalog erforderlich.