Überlegungen und Einschränkungen bei der Abfrage von Daten, die bei Lake Formation registriert sind - Amazon Athena

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 und Einschränkungen bei der Abfrage von Daten, die bei Lake Formation registriert sind

Beachten Sie Folgendes, wenn Sie Athena verwenden, um in Lake Formation registrierte Daten abzufragen. Weitere Informationen finden Sie unter Bekannte Probleme für AWS Lake Formation in der AWS Lake Formation Entwicklerhandbuch.

Spaltenmetadaten sind bei Avro und Benutzerdefiniert unter bestimmten Umständen für nicht autorisierte Benutzer sichtbar SerDe

Die Autorisierung auf Lake-Formation-Spaltenebene verhindert, dass ein Benutzer auf Daten in Spalten zugreift, für die er keine Lake-Formation-Berechtigungen besitzt. In bestimmten Situationen können Benutzer jedoch auf Metadaten zugreifen, die alle Spalten in der Tabelle beschreiben, einschließlich der Spalten, für deren Daten sie keine Berechtigungen besitzen.

Dies tritt auf, wenn Spaltenmetadaten in Tabelleneigenschaften für Tabellen gespeichert werden, die entweder das Apache Avro-Speicherformat oder einen benutzerdefinierten Serializer/Deserializer (SerDe) verwenden, in dem das Tabellenschema zusammen mit der Definition in den Tabelleneigenschaften definiert ist. SerDe Wenn Sie Athena mit Lake Formation verwenden, empfehlen wir, den Inhalt der Tabelleneigenschaften zu überprüfen, die Sie in Lake Formation registrieren, und nach Möglichkeit die in den Tabelleneigenschaften gespeicherten Informationen zu begrenzen, um zu verhindern, dass vertrauliche Metadaten für Benutzer sichtbar sind.

Verstehen Sie die Entstehung und die Aussichten von Seen

Für bei Lake Formation registrierte Daten kann ein Athena-Benutzer nur dann ein VIEW erstellen, wenn er über Lake-Formation-Berechtigungen für die Tabellen, Spalten und Amazon-S3-Quelldatenspeicherorte verfügt, auf denen VIEW basiert. Nachdem ein VIEW in Athena erstellt wurde, können die Berechtigungen für Lake Formation auf das VIEW angewendet werden. Berechtigungen auf Spaltenebene sind für einen VIEW nicht verfügbar. Benutzer mit Lake-Formation-Berechtigungen für einen VIEW aber ohne Berechtigungen für die Tabelle und Spalten, auf denen die Ansicht basiert, können den VIEW nicht zur Datenabfrage verwenden. Benutzer mit dieser Berechtigungskombination können jedoch Anweisungen wie DESCRIBE VIEW, SHOW CREATE VIEW und SHOW COLUMNS verwenden, um VIEW-Metadaten anzuzeigen. Stellen Sie daher sicher, dass Sie die Lake-Formation-Berechtigungen für jeden VIEW an den zugrunde liegenden Tabellenberechtigungen ausrichten. Zellfilter, die für eine Tabelle definiert sind, gelten nicht für einen VIEW für diese Tabelle. Die Namen der Ressourcenlinks müssen den gleichen Namen wie die Ressource im Ausgangskonto haben. Bei der Arbeit mit Ansichten in einer kontoübergreifenden Konfiguration gibt es zusätzliche Einschränkungen. Weitere Informationen zum Einrichten von Berechtigungen für freigegebene Ansichten über Konten hinweg finden Sie unter Kontenübergreifenden Datenkatalogzugriff konfigurieren.

Unterstützung für Iceberg DDL

Athena unterstützt derzeit keine DDL Operationen mit Iceberg-Tabellen, deren Standort bei Lake Formation registriert ist. Der Versuch, eine DDL Abfrage für eine dieser Iceberg-Tabellen auszuführen, kann zu einem Amazon S3 S3-Fehler „Zugriff verweigert“ führen oder mit einem Abfrage-Timeout fehlschlagen. DDLOperationen an Iceberg-Tabellen erfordern, dass der Benutzer direkten Amazon S3 S3-Zugriff auf den Speicherort der Iceberg-Tabelle hat.

Differenzierte Zugriffskontrolle von Lake Formation und Athena-Arbeitsgruppen

Benutzer in derselben Athena-Arbeitsgruppe können die Daten anzeigen, die die differenzierte Zugriffskontrolle von Lake Formation so konfiguriert hat, dass sie für die Arbeitsgruppe zugänglich sind. Weitere Informationen zur Verwendung einer feinkörnigen Zugriffskontrolle in Lake Formation finden Sie unter Verwaltung der feinkörnigen Zugriffskontrolle mit AWS Lake Formation in der AWS Blog über große Datenmengen.

Athena-Abfrageergebnisse-Speicherort in Amazon S3 nicht bei Lake Formation registriert

Die Abfrageergebnisorte in Amazon S3 für Athena können nicht bei Lake Formation registriert werden. Lake-Formation-Berechtigungen beschränken den Zugriff auf diese Standorte nicht. Wenn Sie den Zugriff nicht einschränken, können Athena-Benutzer auf Abfrageergebnisdateien und Metadaten zugreifen, wenn sie keine Lake-Formation-Berechtigungen für die Daten haben. Um dies zu vermeiden, sollten Sie Arbeitsgruppen verwenden, um den Speicherort für Abfrageergebnisse anzugeben und die Arbeitsgruppenmitgliedschaft mit den Lake-Formation-Berechtigungen auszurichten. Anschließend können Sie mithilfe von IAM Berechtigungsrichtlinien den Zugriff auf die Speicherorte der Abfrageergebnisse einschränken. Weitere Informationen zu Abfrageergebnissen finden Sie unter Arbeiten Sie mit Abfrageergebnissen und aktuellen Abfragen.

Verwenden von Athena-Workgroups zum Einschränken des Zugriffs auf den Abfrageverlauf

Der Abfrageverlauf von Athena stellt eine Liste gespeicherter Abfragen und vollständiger Abfragezeichenfolgen bereit. Sofern Sie nicht Arbeitsgruppen verwenden, um den Zugriff auf Abfrageverläufe zu trennen, können Athena-Benutzer, die nicht zum Abfragen von Daten in Lake Formation berechtigt sind, Abfragezeichenfolgen anzeigen, die für diese Daten ausgeführt werden, einschließlich Spaltennamen, Auswahlkriterien usw. Es wird empfohlen, Arbeitsgruppen zu verwenden, um Abfrageverläufe zu trennen und Athena-Arbeitsgruppenmitgliedschaft mit Lake-Formation-Berechtigungen auszurichten, um den Zugriff zu beschränken. Weitere Informationen finden Sie unter Verwenden Sie Arbeitsgruppen, um den Zugriff auf Abfragen und die Kosten zu kontrollieren.

Abfrage CSE _ KMS verschlüsselte Tabellen, die bei Lake Formation registriert sind

Open Table Format (OTF) -Tabellen wie Apache Iceberg, die die folgenden Eigenschaften aufweisen, können mit Athena nicht abgefragt werden:

  • Die Tabellen basieren auf Amazon S3 S3-Datenstandorten, die bei Lake Formation registriert sind.

  • Die Objekte in Amazon S3 werden mit clientseitiger Verschlüsselung () CSE verschlüsselt.

  • Die Verschlüsselung verwendet AWS KMS vom Kunden verwaltete Schlüssel (CSE_KMS).

Um OTF Tabellen, die nicht mit einem CSE_KMS Schlüssel verschlüsselt sind, abzufragen, fügen Sie den folgenden Block zur Richtlinie von AWS KMS Schlüssel, den Sie für die CSE Verschlüsselung verwenden. <KMS_KEY_ARN> ist ARN der von AWS KMS Schlüssel, der die Daten verschlüsselt. <IAM-ROLE-ARN> ist die ARN IAM Rolle, die den Amazon S3 S3-Standort in Lake Formation registriert.

{ "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "kms:Decrypt", "Resource": "<KMS-KEY-ARN>", "Condition": { "ArnLike": { "aws:PrincipalArn": "<IAM-ROLE-ARN>" } } }

Speicherorte für partitionierte Daten, die bei Lake Formation registriert sind, müssen sich in Tabellen-Unterverzeichnissen befinden

Bei Lake Formation registrierte partitionierte Tabellen müssen über partitionierte Daten in Verzeichnissen verfügen, die Unterverzeichnisse der Tabelle in Amazon S3 sind. Beispielsweise kann eine Tabelle mit dem Speicherort s3://amzn-s3-demo-bucket/mytable und den Partitionen s3://amzn-s3-demo-bucket/mytable/dt=2019-07-11, s3://amzn-s3-demo-bucket/mytable/dt=2019-07-12 usw. in Lake Formation registriert und mit Athena abgefragt werden. Andererseits kann eine Tabelle mit dem Speicherort s3://amzn-s3-demo-bucket/mytable und Partitionen in s3://amzn-s3-demo-bucket/dt=2019-07-11, s3://amzn-s3-demo-bucket/dt=2019-07-12 usw. nicht in Lake Formation registriert werden. Da solche Partitionen keine Unterverzeichnisse von s3://amzn-s3-demo-bucket/mytable sind, können sie auch nicht von Athena gelesen werden.

Tabelle erstellen, da für select (CTAS) -Abfragen Amazon S3 S3-Schreibberechtigungen erforderlich sind

Create Table As Statements (CTAS) erfordern Schreibzugriff auf den Amazon S3 S3-Speicherort der Tabellen. Um CTAS Abfragen für Daten ausführen zu können, die bei Lake Formation registriert sind, müssen Athena-Benutzer zusätzlich zu den entsprechenden Lake Formation IAM Formation-Berechtigungen zum Lesen der Datenspeicherorte über Schreibberechtigungen in die Tabelle Amazon S3 S3-Standorte verfügen. Weitere Informationen finden Sie unter Erstellen Sie eine Tabelle aus Abfrageergebnissen (CTAS).

Die DESCRIBE Berechtigung ist für die Standarddatenbank erforderlich

Die Lake DESCRIBE Formation-Genehmigung ist für die default Datenbank erforderlich, damit Lake Formation sie anzeigen kann. Das folgende Beispiel AWS CLI Der Befehl erteilt dem Benutzer die DESCRIBE Berechtigung für die default Datenbank datalake_user1 in AWS Konto111122223333.

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "DESCRIBE" --resource '{ "Database": {"Name":"default"}}

Weitere Informationen finden Sie DESCRIBEin der AWS Lake Formation Leitfaden für Entwickler.