Einschränkungen bei der Datenfilterung - AWS Lake Formation

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.

Einschränkungen bei der Datenfilterung

Wenn Sie Lake Formation-Berechtigungen für eine Datenkatalogtabelle gewähren, können Sie Datenfilterspezifikationen hinzufügen, um den Zugriff auf bestimmte Daten in Abfrageergebnissen und in Lake Formation integrierten Engines einzuschränken. Lake Formation verwendet Datenfilterung, um Sicherheit auf Spaltenebene, Sicherheit auf Zeilenebene und Sicherheit auf Zellebene zu erreichen. Sie können Datenfilter definieren und auf verschachtelte Spalten anwenden, wenn Ihre Quelldaten verschachtelte Strukturen enthalten.

Hinweise und Einschränkungen für die Filterung auf Spaltenebene

Es gibt drei Möglichkeiten, die Spaltenfilterung festzulegen:

  • Durch die Verwendung von Datenfiltern

  • Durch die Verwendung einfacher Spaltenfilterung oder der Filterung verschachtelter Spalten.

  • Durch die Verwendung TAGs von.

Einfache Spaltenfilterung gibt lediglich eine Liste von Spalten an, die ein- oder ausgeschlossen werden sollen. Sowohl die Lake Formation Formation-Konsole als auch die AWS CLI unterstützen einfache Spaltenfilterung. API Ein Beispiel finden Sie unter Grant with Simple Column Filtering.

Die folgenden Hinweise und Einschränkungen gelten für die Spaltenfilterung:

  • AWS Glue ETLjobs unterstützt keine Spaltenfilterung. Der Job schlägt fehl, wenn die Spaltenfilterung auf eine Tabelle angewendet wird, auf die der Job verweist.

  • Für die Gewährung SELECT mit der Grant-Option und der Spaltenfilterung müssen Sie eine Einschlussliste und keine Ausschlussliste verwenden. Ohne die Option „Gewährung“ können Sie entweder Einschluss- oder Ausschlusslisten verwenden.

  • Um für eine Tabelle mit Spaltenfilterung eine Gewährung zu gewährenSELECT, müssen Sie für die Tabelle mit der Grant-Option und ohne Zeileneinschränkungen eine Erteilung erhalten SELECT haben. Sie müssen Zugriff auf alle Zeilen haben.

  • Wenn Sie die SELECT Gewährungsoption und die Spaltenfilterung für einen Hauptbenutzer in Ihrem Konto verwenden, muss dieser Hauptbenutzer bei der Gewährung an einen anderen Hauptbenutzer die Spaltenfilterung für dieselben Spalten oder eine Teilmenge der gewährten Spalten angeben. Wenn Sie die SELECT Gewährungsoption und die Spaltenfilterung für ein externes Konto verwenden, kann der Data Lake-Administrator des externen Kontos für alle Spalten einem anderen Prinzipal in seinem Konto gewährenSELECT. Aber selbst bei SELECT „Alle Spalten“ hat dieser Hauptbenutzer nur Zugriff auf die Spalten, die dem externen Konto zugewiesen wurden.

  • Sie können die Spaltenfilterung nicht auf Partitionsschlüssel anwenden.

  • Einem Prinzipal mit der SELECT Berechtigung für eine Teilmenge von Spalten in einer Tabelle kann dieALTER, DROPDELETE, oder INSERT -Berechtigung für diese Tabelle nicht erteilt werden. Wenn Sie einem Prinzipal mit der INSERT Berechtigung ALTER DROPDELETE,, oder für eine Tabelle die SELECT Berechtigung mit Spaltenfilterung erteilen, hat dies keine Auswirkung.

Die folgenden Hinweise und Einschränkungen gelten für die Filterung verschachtelter Spalten:

  • Sie können fünf Ebenen verschachtelter Felder in einen Datenfilter einbeziehen oder ausschließen.

    Spal1.Col1_1.Col1_1_1.Col1_1_1_1.Col1_1_1_1_1

  • Sie können keine Spaltenfilterung auf verschachtelte Felder in Partitionsspalten anwenden.

  • Wenn Ihr Tabellenschema einen Spaltennamen auf oberster Ebene enthält („Kunde“).“ „Adresse“), das dasselbe Muster einer verschachtelten Felddarstellung innerhalb eines Datenfilters aufweist (eine verschachtelte Spalte mit einem Spaltennamen der obersten Ebene customer und einem verschachtelten Feldnamen address wird wie "customer"."address" in einem Datenfilter angegeben), können Sie den Zugriff auf eine Spalte der obersten Ebene oder ein verschachteltes Feld nicht explizit angeben, da beide in den Einschluss-/Ausschlusslisten nach demselben Muster dargestellt werden. Dies ist mehrdeutig, und Lake Formation kann keine Lösung finden, wenn Sie die Spalte auf oberster Ebene oder das verschachtelte Feld angeben.

  • Wenn eine Spalte oder ein verschachteltes Feld auf oberster Ebene ein doppeltes Anführungszeichen im Namen enthält, müssen Sie ein zweites doppeltes Anführungszeichen angeben, wenn Sie den Zugriff auf ein verschachteltes Feld in der Ein- und Ausschlussliste eines Datenzellenfilters angeben.

    Beispiel für einen verschachtelten Spaltennamen mit doppelten Anführungszeichen — a.b.double"quote

    Beispiel für eine Darstellung verschachtelter Spalten in einem Datenfilter — "a"."b"."double""quote"

Einschränkungen bei der Filterung auf Zellenebene

Beachten Sie die folgenden Hinweise und Einschränkungen für die Filterung auf Zeilen- und Zellenebene.

  • Sicherheit auf Zellebene wird für verschachtelte Spalten, Ansichten und Ressourcenlinks nicht unterstützt.

  • Alle Ausdrücke, die in Spalten der obersten Ebene unterstützt werden, werden auch in verschachtelten Spalten unterstützt. Bei der Definition verschachtelter Ausdrücke auf Zeilenebene NOTsollte jedoch auf verschachtelte Felder unter Partitionsspalten verwiesen werden.

  • Sicherheit auf Zellebene ist in allen Regionen verfügbar, wenn Sie Athena Engine Version 3 oder Amazon Redshift Spectrum verwenden. Für andere Dienste ist die Sicherheit auf Zellebene nur in den Regionen verfügbar, die auf der aufgeführt sind. Unterstützte Regionen

  • SELECT INTO-Anweisungen werden nicht unterstützt.

  • Die array map Datentypen und werden in Zeilenfilterausdrücken nicht unterstützt. Der struct Datentyp wird unterstützt.

  • Die Anzahl der Datenfilter, die für eine Tabelle definiert werden können, ist unbegrenzt, aber es gibt eine Obergrenze von 100 SELECT Datenfilterberechtigungen für einen einzelnen Prinzipal in einer Tabelle.

  • Die maximale Anzahl von Datenfiltern, die in einem Zuschuss für eine Tabelle enthalten sein können, ist 10.

  • Um einen Datenfilter mit einem Zeilenfilterausdruck anzuwenden, müssen SELECT Sie die Option Grant auf alle Tabellenspalten anwenden. Diese Einschränkung gilt nicht für Administratoren in externen Konten, als die Gewährung für das externe Konto gewährt wurde.

  • Wenn ein Principal Mitglied einer Gruppe ist und sowohl dem Prinzipal als auch der Gruppe Berechtigungen für eine Teilmenge von Zeilen gewährt werden, sind die effektiven Zeilenberechtigungen des Prinzipals die Vereinigung der Berechtigungen des Prinzipals und der Gruppenberechtigungen.

  • Die folgenden Spaltennamen sind in einer Tabelle für die Filterung auf Zeilen- und Zellenebene eingeschränkt:

    • ctid

    • OID

    • xmin

    • cmin

    • xmax

    • cmax

    • Tischoide

    • xid einfügen

    • xid löschen

    • importoid

    • Einzigartige ID von redcat

  • Wenn Sie den Filterausdruck für alle Zeilen gleichzeitig mit anderen Filterausdrücken mit Prädikaten auf eine Tabelle anwenden, hat der Ausdruck für alle Zeilen Vorrang vor allen anderen Filterausdrücken.

  • Wenn einem externen AWS Konto Berechtigungen für eine Teilmenge von Zeilen erteilt werden und der Data Lake-Administrator des externen Kontos diese Berechtigungen einem Prinzipal in diesem Konto erteilt, ist das effektive Filterprädikat des Prinzipals die Schnittmenge zwischen dem Prädikat des Kontos und allen Prädikaten, die dem Prinzipal direkt erteilt wurden.

    Wenn das Konto beispielsweise über Zeilenberechtigungen mit dem Prädikat verfügt dept='hr' und dem Prinzipal separat die Berechtigung erteilt wurdecountry='us', hat der Principal nur Zugriff auf Zeilen mit und. dept='hr' country='us'

Weitere Informationen zur Filterung auf Zellenebene finden Sie unter. Datenfilterung und Sicherheit auf Zellebene in Lake Formation