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.
Themen
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:
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. Wählen Sie unter Datenkatalog die Option Einstellungen aus.
Deaktivieren Sie die Optionen Nur IAM Zugriffskontrolle für neue Datenbanken verwenden und Nur IAM Zugriffskontrolle für neue Tabellen in neuen Datenbanken verwenden.
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.
Melden Sie sich bei der AWS CloudFormation Konsole unter https://console.aws.amazon.com/cloudformation
in der Region USA Ost (Nord-Virginia) an. Wählen Sie Launch Stack
. Wählen Sie auf dem Bildschirm „Stack erstellen“ die Option „Weiter“.
Geben Sie einen Namen für den Stack ein.
Geben Sie für DatalakeAdminUserNameund DatalakeAdminUserPasswordIhren IAM Benutzernamen und Ihr Passwort für den Data Lake-Admin-Benutzer ein.
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.
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.
Geben Sie für DataLakeBucketNameden Namen Ihres Daten-Buckets ein.
Für DatabaseNameund TableNamebelassen Sie die Standardeinstellung.
Wählen Sie Weiter
Wählen Sie auf der nächsten Seite Weiter aus.
Ü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.
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
-
Melden Sie sich https://console.aws.amazon.com/athena/
als DatalakeAdmin
Benutzer bei der Athena Konsole an 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 Partition
product_category=Video
, sodass jeder Datensatz ein Bewertungskommentar für ein Videoprodukt ist. -
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 dermarketplace
Spalte ein.
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
Erstellen Sie einen Filter, um den Zugriff auf die
US
marketplace
Daten einzuschränken.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. Wählen Sie Datenfilter.
Wählen Sie Neuen Filter erstellen.
Geben Sie als Datenfiltername ein
amazon_reviews_US
.Wählen Sie für Zieldatenbank die Datenbank aus
lakeformation_tutorial_row_security
.Wählen Sie für Zieltabelle die Tabelle aus
amazon_reviews
.Behalten Sie für den Zugriff auf Spaltenebene die Standardeinstellung bei.
Geben Sie für Zeilenfilterausdruck den Wert ein.
marketplace='US'
Wählen Sie Create Filter) (Filter erstellen.
-
Erstellen Sie einen Filter, um den Zugriff auf die japanischen
marketplace
Daten einzuschränken.Wählen Sie auf der Seite Datenfilter die Option Neuen Filter erstellen aus.
Geben Sie als Datenfiltername den Wert ein
amazon_reviews_JP
.Wählen Sie für Zieldatenbank die Datenbank aus
lakeformation_tutorial_row_security
.Wählen Sie für Target-Tabelle die
table amazon_reviews
.Behalten Sie für den Zugriff auf Spaltenebene die Standardeinstellung bei.
Geben Sie für Zeilenfilterausdruck den Wert ein.
marketplace='JP'
Wählen Sie Create Filter) (Filter erstellen.
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
):Wählen Sie unter Berechtigungen die Option Data Lake-Berechtigungen aus.
Wählen Sie unter Datenberechtigung die Option Erteilen aus.
-
Wählen Sie für Principals IAM Benutzer und Rollen und dann die Rolle
DataAnalystUS
aus. Wählen Sie für LF-Tags oder Katalogressourcen die Option Benannte Datenkatalogressourcen aus.
-
Wählen Sie unter Database (Datenbank) Option
lakeformation_tutorial_row_security
aus. Wählen Sie für Tabellen optional die Option.
amazon_reviews
Wählen Sie für Datenfilter — optional — die Option aus.
amazon_reviews_US
-
Wählen Sie für Datenfilterberechtigungen die Option Auswählen aus.
Wählen Sie Gewähren.
Gehen Sie wie folgt vor, um dem japanischen Datenanalysten (
DataAnalystJP
) Berechtigungen zu erteilen:Wählen Sie unter Berechtigungen die Option Data Lake-Berechtigungen aus.
Wählen Sie unter Datenberechtigung die Option Erteilen aus.
-
Wählen Sie für Principals IAM Benutzer und Rollen und dann die Rolle
DataAnalystJP
aus. Wählen Sie für LF-Tags oder Katalogressourcen die Option Benannte Datenkatalogressourcen aus.
-
Wählen Sie unter Database (Datenbank) Option
lakeformation_tutorial_row_security
aus. Wählen Sie für Tabellen optional die Option.
amazon_reviews
Wählen Sie für Datenfilter — optional — die Option aus.
amazon_reviews_JP
-
Wählen Sie für Datenfilterberechtigungen die Option Auswählen aus.
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.
-
Melden Sie sich https://console.aws.amazon.com/athena/
als DataAnalystUS
Benutzer bei der Athena-Konsole an. -
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.
-
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 dermarketplace
Spaltenwert gleich istUS
. -
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
JP
marketplace
. -
Führen Sie die Abfrage aus, um die Gesamtzahl der Datensätze pro zu zählen
marketplace
.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
JP
marketplace
.
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.