

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
<a name="cbac-tutorial"></a>

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.

**Topics**
+ [Zielgruppe](#tut-cbac-roles-tutorial)
+ [Voraussetzungen](#tut-cbac-prereqs)
+ [Schritt 1: Stellen Sie Ihre Ressourcen bereit](#set-up-cbac-resources)
+ [Schritt 2: Abfrage ohne Datenfilter](#query-without-filters)
+ [Schritt 3: Richten Sie Datenfilter ein und gewähren Sie Berechtigungen](#setup-data-filters)
+ [Schritt 4: Abfrage mit Datenfiltern](#query-with-filters)
+ [Schritt 5: AWS Ressourcen bereinigen](#cbac-clean-up)

## Zielgruppe
<a name="tut-cbac-roles-tutorial"></a>

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 | 
| --- | --- | 
| IAM-Administrator | 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 in ihrem eigenen Land analysieren und sollten aus Compliance-Gründen keine Kundendaten in anderen Ländern sehen können. | 

## Voraussetzungen
<a name="tut-cbac-prereqs"></a>

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](getting-started-setup.md#initial-aws-signup).

In der Anleitung wird davon ausgegangen, dass Sie mit IAM vertraut sind. Informationen zu IAM finden Sie im [IAM-Benutzerhandbuch](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html).

**Lake Formation Formation-Einstellungen ändern**
**Wichtig**  
Bevor Sie die 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/](https://console.aws.amazon.com/lakeformation/)der Lake Formation Formation-Konsole an.

1. Wählen Sie unter Datenkatalog die Option **Einstellungen** aus.

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

1.  Wählen Sie **Save (Speichern)** aus.

## Schritt 1: Stellen Sie Ihre Ressourcen bereit
<a name="set-up-cbac-resources"></a>

Dieses Tutorial enthält eine CloudFormation Vorlage für eine schnelle Einrichtung. Sie können es überprüfen und an Ihre Bedürfnisse anpassen. Die 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 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 CloudFormation Vorlage zu erstellen.

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

1. Wählen Sie [Launch Stack](https://console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/create?templateURL=https://aws-bigdata-blog.s3.amazonaws.com/artifacts/lakeformation_row_security/lakeformation_tutorial_row_security.yaml).

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

1. Geben Sie einen **Stack-Namen ein.**

1. Geben Sie für **DatalakeAdminUserName**und **DatalakeAdminUserPassword**Ihren IAM-Benutzernamen und Ihr Passwort für den Data Lake-Admin-Benutzer ein.

1. Geben Sie für **DataAnalystUsUserName**und **DataAnalystUsUserPassword**den 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.

1. Geben Sie für **DataAnalystJpUserName**und **DataAnalystJpUserPassword**den 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.

1. Geben Sie für **DataLakeBucketName**den Namen Ihres Daten-Buckets ein.

1. Für **DatabaseName**und **TableName**belassen Sie die Standardeinstellung.

1. Wählen Sie **Weiter**

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

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

1. Wählen Sie **Create (Erstellen)** aus.

   Die Erstellung des Stacks kann eine Minute dauern.

## Schritt 2: Abfrage ohne Datenfilter
<a name="query-without-filters"></a>

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/](https://console.aws.amazon.com/athena/home)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 Partition`product_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.\]](http://docs.aws.amazon.com/de_de/lake-formation/latest/dg/images/cbac-tut-query-results1.jpg)

1. 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.\]](http://docs.aws.amazon.com/de_de/lake-formation/latest/dg/images/cbac-tut-query-results2.jpg)

## Schritt 3: Richten Sie Datenfilter ein und gewähren Sie Berechtigungen
<a name="setup-data-filters"></a>

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/](https://console.aws.amazon.com/lakeformation/)in der Region USA Ost (Nord-Virginia) an.

   1. Wählen Sie **Datenfilter**.

   1. Wählen Sie **Neuen Filter erstellen**.

   1. Geben Sie als **Datenfiltername** ein`amazon_reviews_US`.

   1. Wählen Sie für **Zieldatenbank** die Datenbank aus`lakeformation_tutorial_row_security`.

   1. Wählen Sie für **Zieltabelle** die Tabelle aus`amazon_reviews`.

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

   1. Geben Sie für **Zeilenfilterausdruck** den Wert ein. `marketplace='US'`

   1.  Wählen Sie **Create Filter)** (Filter erstellen.

1. 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.

   1. Geben Sie als **Datenfiltername** den Wert ein`amazon_reviews_JP`.

   1. Wählen Sie für **Zieldatenbank** die Datenbank aus`lakeformation_tutorial_row_security`.

   1.  Wählen Sie für **Target-Tabelle** die`table amazon_reviews`.

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

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

   1.  Wählen Sie **Create Filter)** (Filter erstellen.

1. 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.

   1. Wählen Sie unter **Datenberechtigung** die Option **Erteilen** aus. 

   1. Wählen Sie für **Principals** die Option **IAM-Benutzer und -Rollen und** anschließend die Rolle aus. `DataAnalystUS`

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

   1. Wählen Sie unter **Database (Datenbank)** Option `lakeformation_tutorial_row_security` aus.

   1.  Wählen Sie für **Tabellen optional** die Option. `amazon_reviews`

   1. Für **Datenfilter — optional — wählen** Sie. `amazon_reviews_US`

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

   1. Wählen Sie **Grant (Erteilen)**.

1. 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.

   1. Wählen Sie unter **Datenberechtigung** die Option **Erteilen** aus. 

   1. Wählen Sie für **Principals** die Option **IAM-Benutzer und -Rollen und** anschließend die Rolle aus. `DataAnalystJP`

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

   1. Wählen Sie unter **Database (Datenbank)** Option `lakeformation_tutorial_row_security` aus.

   1.  Wählen Sie für **Tabellen optional** die Option. `amazon_reviews`

   1. Für **Datenfilter — optional — wählen** Sie. `amazon_reviews_JP`

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

   1. Wählen Sie **Grant (Erteilen)**.

## Schritt 4: Abfrage mit Datenfiltern
<a name="query-with-filters"></a>

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/](https://console.aws.amazon.com/athena/home)als `DataAnalystUS` Benutzer bei der Athena-Konsole an.

1. 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.\]](http://docs.aws.amazon.com/de_de/lake-formation/latest/dg/images/cbac-tut-query-results3.png)

1. 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 ist`US`.

1. 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`.

1. 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
<a name="cbac-clean-up"></a>

**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.
+ [Löschen Sie den Cloud-Formation-Stack](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-delete-stack.html).