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 mithilfe von Lake Formation für Amazon EMR Spark
Mit den 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 abzurufen, die bei Lake Formation registriert sind. Dadurch können Spark-Abfragen, die direkt auf S3-Pfade verweisen, Formation-vended Lake-Anmeldeinformationen verwenden, zusätzlich zu dem bestehenden, auf Tabellennamen basierenden Verkauf von Anmeldeinformationen, der von Full Table Access (FTA) bereitgestellt wird. Weitere Informationen finden Sie unter Zugreifen auf Amazon S3-Standorte.
Das Lake Formation Access Grants Plugin ist in das S3A-Dateisystem in Spark integriert. Wenn diese Option aktiviert ist, verwendet S3A das Plugin, um die Lake GetTemporaryDataLocationCredentials Formation-API aufzurufen, um temporäre Anmeldeinformationen für S3-Pfade abzurufen, die zu Lake-Tabellen gehören. Formation-registered
Dieses Plugin ist nützlich, wenn Ihre Spark-Jobs Daten lesen oder schreiben, indem sie beispielsweise direkt auf S3-Pfade verweisen, anstatt spark.read.parquet("s3a://my-bucket/my-table/") Tabellennamen zu verwenden. Das Plugin unterstützt auch optionales Fallback auf S3 Access Grants oder IAM-Rollenanmeldedaten, wenn der Zugriff auf Lake Formation verweigert wird.
Beziehung zu Full Table Access (FTA)
Die bestehende Funktion für den vollständigen Tabellenzugriff verwendet die GetTemporaryGlueTableCredentials API, die Anmeldeinformationen auf der Grundlage von Tabellennamen verkauft. Das Lake Formation Access Grants Plugin verwendet die GetTemporaryDataLocationCredentials API, die Anmeldeinformationen auf der Grundlage von S3-Pfaden verkauft.
Sie können beide Funktionen zusammen verwenden. Wenn beide aktiviert sind, haben FTA-Anmeldeinformationen bei Abfragen von Tabellennamen Vorrang, während das Plugin direkte S3-Pfadabfragen verarbeitet.
Voraussetzungen
Bevor Sie das Lake Formation Access Grants Plugin verwenden, führen Sie die folgenden Schritte aus:
-
Richten Sie Full Table Access (FTA) für Ihre Amazon EMR-Umgebung ein. Eine Anleitung finden Sie unter Konfiguration des vollständigen Tabellenzugriffs auf Lake Formation.
-
Registrieren Sie in der Lake 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 dem Eigentümerkonto registrieren.
-
-
Gewähren Sie der Runtime-Rolle die entsprechenden Lake Formation-Berechtigungen für die Tabelle:
-
Um Tabellendaten zu lesen, gewähren Sie der Runtime-Rolle die volle
SELECTBerechtigung für die Tabelle. -
Um Tabellendaten zu ändern, gewähren Sie der Runtime-Rolle die
SUPERBerechtigung für die Tabelle.
-
Aktivieren Sie 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 |
Aktiviert das Fallback auf S3 Access Grants oder IAM-Rollenanmeldedaten, wenn 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 in Szenarien nützlich, 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 GetTemporaryDataLocationCredentials auf. 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 Anrufer über eine entsprechende 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 IAM-Rollenanmeldedaten zurück, die dem Job zugeordnet sind.
Ü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 im Amazon EMR Spark Fine-Grained Access Control (FGAC) -Modus nicht unterstützt.
-
Path-based Für den Verkauf von Anmeldeinformationen ist eine 1:1 -Zuordnung zwischen einer Tabelle und ihrem S3-Speicherort im Glue-Datenkatalog erforderlich. AWS