View a markdown version of this page

Ü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 with 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 AWS Lake Formation auf EMR 7.9 und früheren Versionen Folgendes.

  • Fine-grained 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 im Glue Data Catalog nicht unterstützt. Weitere Informationen finden Sie unter Arbeiten mit einer Hierarchie mit mehreren Katalogen im AWS Glue Data Catalog.

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

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

  • Amazon EMR unterstützt eine feinkörnige 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-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 Systembereichsprotokolle an einem anderen Ort als Benutzerbereichsprotokolle. Es wird dringend empfohlen, dass Kontoadministratoren Benutzern keinen Zugriff auf Systembereichsprotokolle 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.

  • Sie können die Option DynamicResourceAllocation für Lake Formation-Jobs nicht deaktivieren.

  • 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 kontoü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, einschließlich der folgenden:

    • UDTs, HiveUDFs und alle benutzerdefinierten Funktionen, 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 Spark-Logs des Systemtreibers in Lake-Anwendungen ein. Formation-enabled Da der Systemtreiber mit erhöhten Berechtigungen 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 die unter Verwalteter Speicher aufgeführten Berechtigungen in Ihre VPC-Richtlinie für den S3-Gateway-Endpunkt aufnehmen, bevor Ihre Jobs Protokolldaten an AWS Managed Amazon S3 senden können. Für Anfragen zur Problembehandlung wenden Sie sich an den Support. AWS

  • Wenn Sie einen Tabellenstandort bei Lake Formation registriert haben, erfolgt der Datenzugriffspfad unabhängig von der IAM-Berechtigung für die Amazon EMR-Job-Laufzeitrolle über die bei Lake Formation gespeicherten Anmeldeinformationen. 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 Metadatentabellenhistory,metadata_log_entries, snapshotsfiles, manifests und. refs Amazon EMR blendet die Spalten aus, die möglicherweise vertrauliche Daten enthalten, wiepartitions, undpath. 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 DataFrameWriterV2 anstelle von 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, wenn Sie Lake Formation mit Amazon EMR verwenden.

  • Sie können die Option DynamicResourceAllocation für Lake Formation-Jobs nicht ausschalten.

  • 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 kontoü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, einschließlich der folgenden:

    • UDTs, HiveUDFs und alle benutzerdefinierten Funktionen, 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 die unter Verwalteter Speicher aufgeführten Berechtigungen in Ihre VPC-Richtlinie für den S3-Gateway-Endpunkt aufnehmen, bevor Ihre Jobs Protokolldaten an AWS Managed Amazon S3 senden können. Für Anfragen zur Problembehandlung wenden Sie sich an den Support. AWS

  • Ab Amazon EMR 7.9.0 unterstützt Spark FGAC die S3AFileSystem Verwendung mit dem Schema s3a://.

  • Amazon EMR 7.11 unterstützt das Erstellen 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 Tabellenspeicherort bei Lake Formation registrieren, verwendet der Datenzugriff die von Lake Formation gespeicherten Anmeldeinformationen anstelle der IAM-Berechtigungen der EMR-Job-Rollenlaufzeitrolle „Serverless“. 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 Standort verfügt.

  • Ab Amazon EMR 7.12 können Sie in bestehende Hive- und Iceberg-Tabellen schreiben, indem Sie DataFrameWriter (V2) mit Lake Formation-Anmeldeinformationen im Anfügemodus verwenden. 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: Verwendung von Ansichten und zwischengespeicherten Tabellen als Quelltabellen.

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

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

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

  • Delta Lake-Tabellen mit UDFs in den 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 Spark-Logs des Systemtreibers in Lake-Anwendungen ein. Formation-enabled Da der Systemtreiber mit erhöhten Berechtigungen 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 bei der Verwendung von Apache Iceberg die folgenden Überlegungen:

  • 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, filesmanifests, und. refs Amazon EMR blendet die Spalten aus, die möglicherweise vertrauliche Daten enthalten, wiepartitions, undpath. 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 Ihnen, Iceberg DataFrameWriterV2 anstelle von V1 zu verwenden.