Sicherung von Data Lakes mit Zugriffskontrolle auf Zeilenebene - 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.

Sicherung von Data Lakes mit Zugriffskontrolle auf Zeilenebene

AWS Lake Formation Mit Berechtigungen auf Zeilenebene können Sie auf der Grundlage von Datenkonformitäts- und Governance-Richtlinien Zugriff auf bestimmte Zeilen in einer Tabelle gewähren. Wenn Sie über große Tabellen verfügen, in denen Milliarden von Datensätzen gespeichert werden, benötigen Sie eine Möglichkeit, verschiedenen Benutzern und Teams den Zugriff nur auf die Daten zu ermöglichen, die sie sehen dürfen. Die Zugriffskontrolle auf Zeilenebene ist eine einfache und leistungsstarke Methode, um Daten zu schützen und Benutzern gleichzeitig Zugriff auf die Daten zu gewähren, die sie für ihre Arbeit benötigen. Lake Formation bietet zentralisierte Audits und Compliance-Berichte, indem ermittelt wird, welche Principals wann und über welche Dienste auf welche Daten zugegriffen haben.

In diesem Tutorial erfahren Sie, wie Zugriffskontrollen auf Zeilenebene in Lake Formation funktionieren und wie Sie sie einrichten.

Dieses Tutorial enthält eine AWS CloudFormation Vorlage für die schnelle Einrichtung der erforderlichen Ressourcen. Sie können es überprüfen und an Ihre Bedürfnisse anpassen.

Zielgruppe

Dieses Tutorial richtet sich an Datenverwalter, Dateningenieure und Datenanalysten. In der folgenden Tabelle sind die Rollen und Verantwortlichkeiten eines Datenbesitzers und eines Datenkonsumenten aufgeführt.

Rolle Beschreibung
IAMAdministrator Ein Benutzer, der Benutzer und Rollen sowie Amazon Simple Storage Service (Amazon S3) -Buckets erstellen kann. Hat die AdministratorAccess AWS verwaltete Richtlinie.
Data Lake-Administrator Ein Benutzer, der für die Einrichtung des Data Lakes, die Erstellung von Datenfiltern und die Erteilung von Berechtigungen für Datenanalysten verantwortlich ist.
Datenanalyst Ein Benutzer, der Abfragen für den Data Lake ausführen kann. Datenanalysten mit Wohnsitz in verschiedenen Ländern (für unseren Anwendungsfall in den USA und Japan) können nur Produktbewertungen von Kunden analysieren, die in ihrem eigenen Land ansässig sind. Aus Compliance-Gründen sollten sie keine Kundendaten aus anderen Ländern einsehen können.

Voraussetzungen

Bevor Sie mit diesem Tutorial beginnen, benötigen Sie eine AWS-Konto , mit der Sie sich als Administratorbenutzer mit den richtigen Berechtigungen anmelden können. Weitere Informationen finden Sie unter Erledigen Sie die Aufgaben zur AWS Erstkonfiguration.

In der Anleitung wird davon ausgegangen, dass Sie mit vertraut sindIAM. Informationen zu IAM finden Sie im IAMBenutzerhandbuch.

Lake Formation Formation-Einstellungen ändern
Wichtig

Bevor Sie die AWS CloudFormation Vorlage starten, deaktivieren Sie die Option Nur IAM Zugriffskontrolle für neue Datenbanken/Tabellen in Lake Formation verwenden, indem Sie die folgenden Schritte ausführen:

  1. Melden Sie sich in der Region USA Ost (Nord-Virginia) oder USA West (Oregon) bei https://console.aws.amazon.com/lakeformation/der Lake Formation Formation-Konsole an.

  2. Wählen Sie unter Datenkatalog die Option Einstellungen aus.

  3. Deaktivieren Sie die Optionen Nur IAM Zugriffskontrolle für neue Datenbanken verwenden und Nur IAM Zugriffskontrolle für neue Tabellen in neuen Datenbanken verwenden.

  4. Wählen Sie Save (Speichern) aus.

Schritt 1: Stellen Sie Ihre Ressourcen bereit

Dieses Tutorial enthält eine AWS CloudFormation Vorlage für eine schnelle Einrichtung. Sie können es überprüfen und an Ihre Bedürfnisse anpassen. Die AWS CloudFormation Vorlage generiert die folgenden Ressourcen:

  • Benutzer und Richtlinien für:

    • DataLakeAdmin

    • DataAnalystUSA

    • DataAnalystJP

  • Lake Formation Data Lake-Einstellungen und Berechtigungen

  • Eine Lambda-Funktion (für Lambda-gestützte AWS CloudFormation benutzerdefinierte Ressourcen), die verwendet wird, um Beispieldatendateien aus dem öffentlichen Amazon S3 S3-Bucket in Ihren Amazon S3-Bucket zu kopieren

  • Ein Amazon S3 S3-Bucket, der als unser Data Lake dient

  • Eine AWS Glue Data Catalog Datenbank, eine Tabelle und eine Partition

Erstellen Sie Ihre Ressourcen

Gehen Sie wie folgt vor, um Ihre Ressourcen mithilfe der AWS CloudFormation Vorlage zu erstellen.

  1. Melden Sie sich bei der AWS CloudFormation Konsole unter https://console.aws.amazon.com/cloudformation in der Region USA Ost (Nord-Virginia) an.

  2. Wählen Sie Launch Stack.

  3. Wählen Sie auf dem Bildschirm „Stack erstellen“ die Option „Weiter“.

  4. Geben Sie einen Stack-Namen ein.

  5. Geben Sie für DatalakeAdminUserNameund DatalakeAdminUserPasswordIhren IAM Benutzernamen und Ihr Passwort für den Data Lake-Admin-Benutzer ein.

  6. Geben Sie für DataAnalystUsUserNameund DataAnalystUsUserPasswordden gewünschten Benutzernamen und das Passwort für den Data Analyst-Benutzer, der für den US-Marketplace verantwortlich ist, den gewünschten Benutzernamen und das Passwort ein.

  7. Geben Sie für DataAnalystJpUserNameund DataAnalystJpUserPasswordden gewünschten Benutzernamen und das Passwort für den Data Analyst-Benutzer, der für den japanischen Marketplace zuständig ist, den gewünschten Benutzernamen und das Passwort ein.

  8. Geben Sie für DataLakeBucketNameden Namen Ihres Daten-Buckets ein.

  9. Für DatabaseNameund TableNamebelassen Sie die Standardeinstellung.

  10. Wählen Sie Weiter

  11. Wählen Sie auf der nächsten Seite Weiter aus.

  12. Überprüfen Sie die Details auf der letzten Seite und wählen Sie Ich bestätige, dass AWS CloudFormation möglicherweise IAM Ressourcen erstellt werden.

  13. Wählen Sie Create (Erstellen) aus.

    Die Erstellung des Stacks kann eine Minute dauern.

Schritt 2: Abfrage ohne Datenfilter

Nachdem Sie die Umgebung eingerichtet haben, können Sie die Tabelle mit den Produktbewertungen abfragen. Fragen Sie zunächst die Tabelle ohne Zugriffskontrollen auf Zeilenebene ab, um sicherzustellen, dass Sie die Daten sehen können. Wenn Sie Abfragen zum ersten Mal in Amazon Athena ausführen, müssen Sie den Speicherort der Abfrageergebnisse konfigurieren.

Fragen Sie die Tabelle ohne Zugriffskontrolle auf Zeilenebene ab
  1. Melden Sie sich an Athena Konsolen Sie https://console.aws.amazon.com/athena/als DatalakeAdmin Benutzer und führen Sie die folgende Abfrage aus:

    SELECT * FROM lakeformation_tutorial_row_security.amazon_reviews LIMIT 10

    Der folgende Screenshot zeigt das Abfrageergebnis. Diese Tabelle hat nur eine Partitionproduct_category=Video, sodass jeder Datensatz ein Bewertungskommentar für ein Videoprodukt ist.

    Query results showing 10 rows of Amazon product reviews for VHS tapes with various ratings.
  2. Führen Sie als Nächstes eine Aggregationsabfrage aus, um die Gesamtzahl der Datensätze pro marketplace Datensatz abzurufen.

    SELECT marketplace, count(*) as total_count FROM lakeformation_tutorial_row_security.amazon_reviews GROUP BY marketplace

    Der folgende Screenshot zeigt das Abfrageergebnis. Die marketplace Spalte hat fünf verschiedene Werte. In den nachfolgenden Schritten richten Sie zeilenbasierte Filter mithilfe der marketplace Spalte ein.

    Query results showing marketplace data with total counts for FR, UK, JP, DE, and US.

Schritt 3: Richten Sie Datenfilter ein und gewähren Sie Berechtigungen

In diesem Tutorial werden zwei Datenanalysten verwendet: einer ist für den US-Markt zuständig, der andere für den japanischen Markt. Jeder Analyst verwendet Athena, um Kundenrezensionen nur für seinen spezifischen Marketplace zu analysieren. Erstellen Sie zwei verschiedene Datenfilter, einen für den Analysten, der für den US-Markt verantwortlich ist, und einen weiteren für den, der für den japanischen Markt verantwortlich ist. Erteilen Sie den Analysten anschließend ihre jeweiligen Berechtigungen.

Erstellen Sie Datenfilter und gewähren Sie Berechtigungen
  1. Erstellen Sie einen Filter, um den Zugriff auf die US marketplace Daten einzuschränken.

    1. Melden Sie sich als DatalakeAdmin Benutzer bei der Lake Formation Formation-Konsole https://console.aws.amazon.com/lakeformation/in der Region USA Ost (Nord-Virginia) an.

    2. Wählen Sie Datenfilter aus.

    3. Wählen Sie Neuen Filter erstellen.

    4. Geben Sie als Datenfiltername einamazon_reviews_US.

    5. Wählen Sie für Zieldatenbank die Datenbank auslakeformation_tutorial_row_security.

    6. Wählen Sie für Zieltabelle die Tabelle ausamazon_reviews.

    7. Behalten Sie für den Zugriff auf Spaltenebene die Standardeinstellung bei.

    8. Geben Sie für Zeilenfilterausdruck den Wert ein. marketplace='US'

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

  2. Erstellen Sie einen Filter, um den Zugriff auf die japanischen marketplace Daten einzuschränken.

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

    2. Geben Sie als Datenfiltername den Wert einamazon_reviews_JP.

    3. Wählen Sie für Zieldatenbank die Datenbank auslakeformation_tutorial_row_security.

    4. Wählen Sie für die Zieltabelle dietable amazon_reviews.

    5. Behalten Sie für den Zugriff auf Spaltenebene die Standardeinstellung bei.

    6. Geben Sie für Zeilenfilterausdruck den Wert ein. marketplace='JP'

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

  3. Erteilen Sie als Nächstes den Datenanalysten, die diese Datenfilter verwenden, Berechtigungen. Gehen Sie wie folgt vor, um dem US-Datenanalysten Berechtigungen zu erteilen (DataAnalystUS):

    1. Wählen Sie unter Berechtigungen die Option Data Lake-Berechtigungen aus.

    2. Wählen Sie unter Datenberechtigung die Option Erteilen aus.

    3. Wählen Sie für Principals IAM Benutzer und Rollen und dann die Rolle DataAnalystUS aus.

    4. Wählen Sie für LF-Tags oder Katalogressourcen die Option Benannte Datenkatalogressourcen aus.

    5. Wählen Sie unter Database (Datenbank) Option lakeformation_tutorial_row_security aus.

    6. Wählen Sie für Tabellen — optional die Option. amazon_reviews

    7. Für Datenfilter — optional — wählen Sie. amazon_reviews_US

    8. Wählen Sie für Datenfilterberechtigungen die Option Auswählen aus.

    9. Wählen Sie Gewähren.

  4. Gehen Sie wie folgt vor, um dem japanischen Datenanalysten (DataAnalystJP) Berechtigungen zu erteilen:

    1. Wählen Sie unter Berechtigungen die Option Data Lake-Berechtigungen aus.

    2. Wählen Sie unter Datenberechtigung die Option Erteilen aus.

    3. Wählen Sie für Principals IAM Benutzer und Rollen und dann die Rolle DataAnalystJP aus.

    4. Wählen Sie für LF-Tags oder Katalogressourcen die Option Benannte Datenkatalogressourcen aus.

    5. Wählen Sie unter Database (Datenbank) Option lakeformation_tutorial_row_security aus.

    6. Wählen Sie für Tabellen — optional die Option. amazon_reviews

    7. Für Datenfilter — optional — wählen Sie. amazon_reviews_JP

    8. Wählen Sie für Datenfilterberechtigungen die Option Auswählen aus.

    9. Wählen Sie Gewähren.

Schritt 4: Abfrage mit Datenfiltern

Führen Sie anhand der Datenfilter, die der Tabelle mit den Produktbewertungen beigefügt sind, einige Abfragen durch, um zu sehen, wie Berechtigungen von Lake Formation durchgesetzt werden.

  1. Melden Sie sich https://console.aws.amazon.com/athena/als DataAnalystUS Benutzer bei der Athena-Konsole an.

  2. Führen Sie die folgende Abfrage aus, um einige Datensätze abzurufen, die anhand der von uns definierten Berechtigungen auf Zeilenebene gefiltert werden:

    SELECT * FROM lakeformation_tutorial_row_security.amazon_reviews LIMIT 10

    Der folgende Screenshot zeigt das Abfrageergebnis.

    Query results showing 10 rows of Amazon product reviews data, including marketplace, ratings, and product titles.
  3. Führen Sie auf ähnliche Weise eine Abfrage aus, um die Gesamtzahl der Datensätze pro Marketplace zu zählen.

    SELECT marketplace , count ( * ) as total_count FROM lakeformation_tutorial_row_security .amazon_reviews GROUP BY marketplace

    Das Abfrageergebnis zeigt nur die marketplace US in den Ergebnissen. Dies liegt daran, dass der Benutzer nur Zeilen sehen darf, in denen der marketplace Spaltenwert gleich istUS.

  4. Wechseln Sie zum DataAnalystJP Benutzer und führen Sie dieselbe Abfrage aus.

    SELECT * FROM lakeformation_tutorial_row_security.amazon_reviews LIMIT 10

    Das Abfrageergebnis zeigt, dass nur die Datensätze zu den gehören JPmarketplace.

  5. Führen Sie die Abfrage aus, um die Gesamtzahl der Datensätze pro zu zählenmarketplace.

    SELECT marketplace, count(*) as total_count FROM lakeformation_tutorial_row_security.amazon_reviews GROUP BY marketplace

    Das Abfrageergebnis zeigt nur die Zeile, die zu der gehört JPmarketplace.

Schritt 5: AWS Ressourcen bereinigen

Bereinigen von -Ressourcen

Um zu verhindern, dass Ihnen unerwünschte Kosten entstehen AWS-Konto, können Sie die AWS Ressourcen löschen, die Sie für dieses Tutorial verwendet haben.