Einen Datenfilter erstellen - 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.

Einen Datenfilter erstellen

Sie können einen oder mehrere Datenfilter für jede Datenkatalogtabelle erstellen.

Um einen Datenfilter für eine Datenkatalogtabelle (Konsole) zu erstellen
  1. Öffnen Sie die Lake-Formation-Konsole unter https://console.aws.amazon.com/lakeformation/.

    Melden Sie sich als Data Lake-Administrator, Besitzer der Zieltabelle oder als Principal an, der über eine Lake Formation Formation-Berechtigung für die Zieltabelle verfügt.

  2. Wählen Sie im Navigationsbereich unter Datenkatalog die Option Datenfilter aus.

  3. Wählen Sie auf der Seite Datenfilter die Option Neuen Filter erstellen aus.

  4. Geben Sie im Dialogfeld Datenfilter erstellen die folgenden Informationen ein:

    • Name des Datenfilters

    • Zieldatenbank — Geben Sie die Datenbank an, die die Tabelle enthält.

    • Zieltabelle

    • Zugriff auf Spaltenebene — Belassen Sie diese Einstellung auf Zugriff auf alle Spalten, um nur die Zeilenfilterung festzulegen. Wählen Sie Spalten einschließen oder Spalten ausschließen, um die Spalten - oder Zellenfilterung festzulegen, und geben Sie dann die Spalten an, die ein- oder ausgeschlossen werden sollen.

      Verschachtelte Spalten — Wenn Sie den Filter auf eine Tabelle anwenden, die verschachtelte Spalten enthält, können Sie explizit Unterstrukturen der verschachtelten Strukturspalten innerhalb eines Datenfilters angeben.

      Wenn Sie einem Prinzipal die SELECT-Berechtigung für diesen Filer gewähren, sieht der Principal, der die folgende Abfrage ausführt, nur die Daten für und nicht. customer.customerName customer.customerId

      SELECT "customer" FROM "example_db"."example_table";

      Wenn Sie Berechtigungen für die customer Spalte erteilen, erhält der Principal Zugriff auf die Spalte und die verschachtelten Felder unter der Spalte (customerNameundcustomerID).

    • Zeilenfilterausdruck — Geben Sie einen Filterausdruck ein, um die Zeilen- oder Zellenfilterung festzulegen. Informationen zu unterstützten Datentypen und Operatoren finden Sie unterPartiQL-Unterstützung in Zeilenfilterausdrücken. Wählen Sie Zugriff auf alle Zeilen, um Zugriff auf alle zu gewähren.

      Sie können teilweise Spaltenstrukturen aus verschachtelten Spalten in einen Zeilenfilterausdruck einbeziehen, um Zeilen zu filtern, die einen bestimmten Wert enthalten.

      Wenn einem Prinzipal Berechtigungen für eine Tabelle mit einem Zeilenfilterausdruck gewährt werden und der Zugriff auf Spaltenebene auf Zugriff auf alle Spalten festgelegt istSelect * from example_nestedtable where customer.customerName <>'John', werden in den Abfrageergebnissen nur Zeilen angezeigt, deren customerName <>'John' Auswertung den Wert True ergibt.

    Der folgende Screenshot zeigt einen Datenfilter, der die Zellfilterung implementiert. Bei Abfragen der orders Tabelle wird der Zugriff auf die customer_name Spalte verweigert und es werden nur Zeilen angezeigt, die „Pharma“ in der product_type Spalte enthalten.

    
            Das Datenfilterfenster enthält die folgenden Felder, die vertikal angeordnet sind: Datenfiltername; Zieldatenbank; Zieltabelle; Optionsfeldgruppe mit den Optionen Zugriff auf alle Spalten, Spalten einschließen und Spalten ausschließen; Spalten auswählen (Dropdownliste); Zeilenfilterausdruck (mehrzeiliges Textfeld). Die Option Spalten ausschließen ist ausgewählt, die Spalte customer_name ist für den Ausschluss ausgewählt und das Ausdrucksfeld für den Zeilenfilter enthält 'product_type='pharma'.
  5. Wählen Sie Create Filter) (Filter erstellen.

Um einen Datenfilter mit Zellfilterrichtlinien für ein verschachteltes Feld zu erstellen

In diesem Abschnitt wird anhand des folgenden Beispielschemas veranschaulicht, wie ein Datenzellenfilter erstellt wird:

[ { name: "customer", type: "struct<customerId:string,customerName:string>" }, { name: "customerApplication", type: "struct<appId:string>" }, { name: "product", type: "struct<offer:struct<prodId:string,listingId:string>,type:string>" }, { name: "purchaseId", type: "string" }, ]
  1. Geben Sie auf der Seite Datenfilter erstellen einen Namen für den Datenfilter ein.

  2. Verwenden Sie als Nächstes die Dropdownliste, um einen Datenbanknamen und einen Tabellennamen auszuwählen.

  3. Wählen Sie im Abschnitt Zugriff auf Spaltenebene die Option Eingeschlossene Spalten und wählen Sie eine verschachtelte Spalte () aus. customer.customerName

  4. Wählen Sie im Abschnitt Zugriff auf Zeilenebene die Option Zugriff auf alle Zeilen aus.

  5. Wählen Sie Create Filter) (Filter erstellen.

    Wenn Sie die SELECT Berechtigung für diesen Filter erteilen, erhält der Principal Zugriff auf alle Zeilen in der customerName Spalte.

  6. Definieren Sie als Nächstes einen weiteren Datenfilter für dieselbe Datenbank/Tabelle.

  7. Wählen Sie im Abschnitt Zugriff auf Spaltenebene die Option Eingeschlossene Spalten und wählen Sie eine weitere verschachtelte Spalte aus (). customer.customerid

  8. Wählen Sie im Abschnitt Zugriff auf Zeilenebene die Option Zeilen filtern aus und geben Sie einen Zeilenfilterausdruck () ein. customer.customerid <> 5

  9. Wählen Sie Create Filter) (Filter erstellen.

    Wenn Sie die SELECT Berechtigung für diesen Filter erteilen, erhält der Principal Zugriff auf alle Zeilen in den customerId Feldern und mit Ausnahme der ZellecustomerName, in der der Wert 5 in der customerId Spalte ist.