Überlegungen zu Amazon EMR mit Lake Formation - 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.

Überlegungen zu Amazon EMR mit Lake Formation

Amazon EMR mit Lake Formation ist in allen verfügbaren Regionen verfügbar.

Überlegungen zu Amazon EMR mit Lake Formation für Version 7.9 und früher

Beachten Sie bei der Verwendung mit AWS Lake Formation EMR 7.9 und früheren Versionen Folgendes.

  • Differenzierte Zugriffskontrolle auf Zeilen-, Spalten- und Zellenebene ist auf Clustern mit Amazon-EMR-Versionen 6.15 und höher verfügbar.

  • Benutzer mit Zugriff auf eine Tabelle können auf alle Eigenschaften dieser Tabelle zugreifen. Wenn Sie eine auf Lake Formation basierende Zugriffskontrolle für eine Tabelle haben, überprüfen Sie die Tabelle, um sicherzustellen, dass die Eigenschaften keine vertraulichen Daten oder Informationen enthalten.

  • Amazon-EMR-Cluster mit Lake Formation unterstützen den Fallback von Spark auf HDFS nicht, wenn Spark Tabellenstatistiken sammelt. Dies trägt normalerweise zur Optimierung der Abfrageleistung bei.

  • Zu den Vorgängen, die Zugriffskontrollen auf der Grundlage von Lake Formation mit nicht verwalteten Apache-Spark-Tabellen unterstützen, gehören INSERT INTO und INSERT OVERWRITE.

  • Zu den Vorgängen, die auf Lake Formation mit Apache Spark und Apache Hive basierende Zugriffskontrollen unterstützen SELECT, DESCRIBE, SHOW DATABASE, SHOW TABLE, SHOW COLUMN und SHOW PARTITION.

  • Amazon EMR unterstützt keine Zugriffskontrolle auf die folgenden auf Lake Formation basierenden Vorgänge:

    • Schreibt in geregelte Tabellen

    • Amazon EMR unterstützt CREATE TABLE nicht. Amazon EMR 6.10.0 und höher unterstützt ALTER TABLE.

    • Andere DML-Anweisungen als INSERT-Befehle.

  • Es gibt Leistungsunterschiede zwischen derselben Abfrage mit und ohne Lake-Formation-basierte Zugriffskontrolle.

  • Sie können Amazon EMR nur mit Lake Formation für Spark-Jobs verwenden.

  • Die Weitergabe vertrauenswürdiger Identitäten wird bei einer Hierarchie mit mehreren Katalogen in Glue Data Catalog nicht unterstützt. Weitere Informationen finden Sie unter Arbeiten mit einer Hierarchie mit mehreren Katalogen im AWS Glue-Datenkatalog.

Überlegungen zu Amazon EMR mit Lake Formation für Version 7.10 und höher

Beachten Sie Folgendes, wenn Sie Amazon EMR mit AWS Lake Formation EMR 7.10 und späteren Versionen verwenden.

  • Amazon EMR unterstützt eine differenzierte Zugriffskontrolle über Lake Formation nur für Apache Hive-, Apache Iceberg-, Apache Delta- und Apache Hudi-Tabellen. Zu den Apache Hive-Formaten gehören Parquet, ORC und xSV CSV.

  • Für Lake Formation Formation-fähige Anwendungen werden Spark-Protokolle in zwei Gruppen in Amazon S3 geschrieben: Systembereichsprotokolle und Benutzerbereichsprotokolle. Systembereichsprotokolle können vertrauliche Informationen wie das vollständige Tabellenschema enthalten. Um diese Daten zu schützen, speichert Amazon EMR Systemspeicherprotokolle an einem anderen Ort als Benutzerbereichsprotokolle. Es wird dringend empfohlen, dass Kontoadministratoren Benutzern keinen Zugriff auf Systemspeicherprotokolle gewähren.

  • Wenn Sie einen Tabellenstandort bei Lake Formation registrieren, wird der Datenzugriff ausschließlich durch die Berechtigungen der Rolle gesteuert, die für die Registrierung verwendet wurde, und nicht durch die Amazon EMR-Job-Runtime-Rolle. Wenn die Registrierungsrolle falsch konfiguriert ist, schlagen Jobs fehl, die versuchen, auf die Tabelle zuzugreifen.

  • DynamicResourceAllocationFür Jobs in Lake Formation kann man nicht abschalten.

  • Sie können Lake Formation nur mit Spark-Aufträgen verwenden.

  • Amazon EMR mit Lake Formation unterstützt nur eine einzige Spark-Sitzung während eines Jobs.

  • Amazon EMR mit Lake Formation unterstützt nur kontenübergreifende Tabellenabfragen, die über Ressourcenlinks gemeinsam genutzt werden.

  • Folgendes wird nicht unterstützt:

    • Resilient Distributed Datasets (RDD)

    • Spark-Streaming

    • Schreiben mit von Lake Formation erteilten Berechtigungen

    • Zugriffskontrolle für verschachtelte Spalten

  • Amazon EMR blockiert Funktionen, die die vollständige Isolierung des Systemtreibers untergraben könnten, darunter die folgenden:

    • UDTs, Hive und alle benutzerdefinierten FunktionenUDFs, die benutzerdefinierte Klassen beinhalten

    • Benutzerdefinierte Datenquellen

    • Bereitstellung zusätzlicher JARs für Spark-Erweiterungen, Connectors oder Metastore

    • ANALYZE TABLE command

  • Um Zugriffskontrollen, EXPLAIN PLAN und DDL-Vorgänge durchzusetzen, z. B. DESCRIBE TABLE, sollten eingeschränkte Informationen nicht offengelegt werden.

  • Amazon EMR schränkt den Zugriff auf Systemtreiber-Spark-Protokolle für Lake Formation-fähige Anwendungen ein. Da der Systemtreiber mit erhöhten Rechten ausgeführt wird, können Ereignisse und Protokolle, die der Systemtreiber generiert, vertrauliche Informationen enthalten. Um zu verhindern, dass unbefugte Benutzer oder Code auf diese sensiblen Daten zugreifen, deaktiviert Amazon EMR den Zugriff auf Systemtreiberprotokolle.

    Systemprofilprotokolle werden immer im verwalteten Speicher gespeichert — dies ist eine obligatorische Einstellung, die nicht deaktiviert werden kann. Diese Protokolle werden sicher gespeichert und entweder mit einem vom Kunden verwalteten KMS-Schlüssel oder einem AWS verwalteten KMS-Schlüssel verschlüsselt.

    Wenn sich Ihre Amazon EMR-Anwendung in einem privaten Subnetz mit VPC-Endpunkten für Amazon S3 befindet und Sie eine Endpunktrichtlinie zur Zugriffskontrolle anhängen, müssen Sie, bevor Ihre Jobs Protokolldaten an AWS Managed Amazon S3 senden können, die unter Verwalteter Speicher beschriebenen Berechtigungen in Ihre VPC-Richtlinie für den S3-Gateway-Endpunkt aufnehmen. Wenden Sie sich bei Anfragen zur Fehlerbehebung an den Support. AWS

  • Wenn Sie einen Tabellenstandort bei Lake Formation registriert haben, durchläuft der Datenzugriffspfad unabhängig von der IAM-Berechtigung für die Amazon EMR-Job-Runtime-Rolle die gespeicherten Anmeldeinformationen von Lake Formation. Wenn Sie die mit dem Tabellenspeicherort registrierte Rolle falsch konfigurieren, schlagen gesendete Aufträge fehl, die die Rolle mit der S3-IAM-Berechtigung für den Tabellenspeicherort verwenden.

  • Beim Schreiben in eine Lake-Formation-Tabelle werden IAM-Berechtigungen und nicht die von Lake Formation erteilten Berechtigungen verwendet. Wenn Ihre Auftrag-Laufzeitrolle über die erforderlichen S3-Berechtigungen verfügt, können Sie sie zum Ausführen von Schreibvorgängen verwenden.

Im Folgenden werden Einschränkungen und Überlegungen bei der Verwendung von Apache Iceberg aufgeführt:

  • Sie können Apache Iceberg nur mit Sitzungskatalogen und nicht mit beliebig benannten Katalogen verwenden.

  • Iceberg-Tabellen, die in Lake Formation registriert sind, unterstützen nur die Metadatentabellen historymetadata_log_entries,snapshots,files,manifests, undrefs. Amazon EMR blendet die Spalten aus, die möglicherweise vertrauliche Daten wie partitionspath, und enthalten. summaries Diese Einschränkung gilt nicht für Iceberg-Tabellen, die nicht in Lake Formation registriert sind.

  • Tabellen, die Sie nicht in Lake Formation registrieren, unterstützen alle gespeicherten Iceberg-Prozeduren. Die Prozeduren register_table und migrate werden für keine Tabellen unterstützt.

  • Wir empfehlen, Iceberg DataFrameWriter V2 statt V1 zu verwenden.

Überlegungen zu Amazon EMR mit Lake Formation für Version 7.12 und höher

General

Beachten Sie die folgenden Einschränkungen bei der Verwendung von Lake Formation mit Amazon EMR.

  • DynamicResourceAllocationFür Jobs in Lake Formation kann man nicht abschalten.

  • Sie können Lake Formation nur mit Spark-Aufträgen verwenden.

  • Amazon EMR mit Lake Formation unterstützt nur eine einzige Spark-Sitzung während eines Jobs.

  • Amazon EMR mit Lake Formation unterstützt nur kontenübergreifende Tabellenabfragen, die über Ressourcenlinks gemeinsam genutzt werden.

  • Folgendes wird nicht unterstützt:

    • Resilient Distributed Datasets (RDD)

    • Spark-Streaming

    • Zugriffskontrolle für verschachtelte Spalten

  • Amazon EMR blockiert Funktionen, die die vollständige Isolierung des Systemtreibers untergraben könnten, darunter die folgenden:

    • UDTs, Hive und alle benutzerdefinierten FunktionenUDFs, die benutzerdefinierte Klassen beinhalten

    • Benutzerdefinierte Datenquellen

    • Bereitstellung zusätzlicher JARs für Spark-Erweiterungen, Connectors oder Metastore

    • ANALYZE TABLE command

  • Wenn sich Ihre Amazon EMR-Anwendung in einem privaten Subnetz mit VPC-Endpunkten für Amazon S3 befindet und Sie eine Endpunktrichtlinie zur Zugriffskontrolle anhängen, müssen Sie, bevor Ihre Jobs Protokolldaten an AWS Managed Amazon S3 senden können, die unter Verwalteter Speicher beschriebenen Berechtigungen in Ihre VPC-Richtlinie für den S3-Gateway-Endpunkt aufnehmen. Wenden Sie sich bei Anfragen zur Fehlerbehebung an den Support. AWS

  • Ab Amazon EMR 7.9.0 unterstützt Spark FGAC das AFile S3-System, wenn es mit dem s3a://-Schema verwendet wird.

  • Amazon EMR 7.11 unterstützt die Erstellung verwalteter Tabellen mithilfe von CTAS.

  • Amazon EMR 7.12 unterstützt die Erstellung verwalteter und externer Tabellen mithilfe von CTAS.

Berechtigungen

  • Um Zugriffskontrollen durchzusetzen, geben EXPLAIN PLAN und DDL-Operationen wie DESCRIBE TABLE keine eingeschränkten Informationen preis.

  • Wenn Sie einen Tabellenstandort bei Lake Formation registrieren, verwendet der Datenzugriff die in Lake Formation gespeicherten Anmeldeinformationen anstelle der IAM-Berechtigungen der EMR-Serverless-Joblaufzeitrolle. Jobs schlagen fehl, wenn die registrierte Rolle für den Tabellenspeicherort falsch konfiguriert ist, auch wenn die Runtime-Rolle über S3-IAM-Berechtigungen für diesen Speicherort verfügt.

  • Ab Amazon EMR 7.12 können Sie mithilfe von DataFrameWriter (V2) mit Lake Formation Formation-Anmeldeinformationen im Anfügemodus in bestehende Hive- und Iceberg-Tabellen schreiben. Bei Überschreibvorgängen oder beim Erstellen neuer Tabellen verwendet EMR die Anmeldeinformationen der Runtime-Rolle, um Tabellendaten zu ändern.

  • Die folgenden Einschränkungen gelten, wenn Ansichten oder zwischengespeicherte Tabellen als Quelldaten verwendet werden (diese Einschränkungen gelten nicht für AWS Glue Data Catalog-Ansichten):

    • Für MERGE-, DELETE- und UPDATE-Operationen

      • Unterstützt: Verwenden von Ansichten und zwischengespeicherten Tabellen als Quelltabellen.

      • Nicht unterstützt: Verwendung von Ansichten und zwischengespeicherten Tabellen in Zuweisungs- und Bedingungsklauseln.

    • Für die Operationen CREATE OR REPLACE und REPLACE TABLE AS SELECT:

      • Nicht unterstützt: Verwenden von Ansichten und zwischengespeicherten Tabellen als Quelltabellen.

  • Delta Lake-Tabellen mit UDFs Quelldaten unterstützen MERGE-, DELETE- und UPDATE-Operationen nur, wenn der Löschvektor aktiviert ist.

Protokolle und Debugging

  • Amazon EMR schränkt den Zugriff auf Systemtreiber-Spark-Protokolle für Lake Formation-fähige Anwendungen ein. Da der Systemtreiber mit erhöhten Rechten ausgeführt wird, können Ereignisse und Protokolle, die der Systemtreiber generiert, vertrauliche Informationen enthalten. Um zu verhindern, dass unbefugte Benutzer oder Code auf diese sensiblen Daten zugreifen, deaktiviert Amazon EMR den Zugriff auf Systemtreiberprotokolle.

    Systemprofilprotokolle werden immer im verwalteten Speicher gespeichert — dies ist eine obligatorische Einstellung, die nicht deaktiviert werden kann. Diese Protokolle werden sicher gespeichert und entweder mit einem vom Kunden verwalteten KMS-Schlüssel oder einem AWS verwalteten KMS-Schlüssel verschlüsselt.

Iceberg

Beachten Sie die folgenden Überlegungen bei der Verwendung von Apache Iceberg:

  • Sie können Apache Iceberg nur mit Sitzungskatalogen und nicht mit beliebig benannten Katalogen verwenden.

  • Iceberg-Tabellen, die in Lake Formation registriert sind, unterstützen nur die Metadatentabellen historymetadata_log_entries,snapshots,files,manifests, undrefs. Amazon EMR blendet die Spalten aus, die möglicherweise vertrauliche Daten wie partitionspath, und enthalten. summaries Diese Einschränkung gilt nicht für Iceberg-Tabellen, die nicht in Lake Formation registriert sind.

  • Tabellen, die nicht in Lake Formation registriert sind, unterstützen alle gespeicherten Iceberg-Prozeduren. Die Prozeduren register_table und migrate werden für keine Tabellen unterstützt.

  • Wir empfehlen, Iceberg DataFrameWriter V2 anstelle von V1 zu verwenden.