

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.

# Verwaltung eines Data Lakes mithilfe der Tag-basierten Zugriffskontrolle von Lake Formation
<a name="managing-dl-tutorial"></a>

Tausende von Kunden bauen darauf Data Lakes im Petabyte-Bereich auf. AWS Viele dieser Kunden nutzen die Möglichkeit AWS Lake Formation , ihre Data Lakes einfach aufzubauen und unternehmensweit gemeinsam zu nutzen. Angesichts der steigenden Anzahl von Tabellen und Benutzern suchen Data Stewards und Administratoren nach Möglichkeiten, Berechtigungen für Data Lakes einfach und skalierbar zu verwalten. Lake Formation Tag-Based Access Control (LF-TBAC) löst dieses Problem, indem Data Stewards ermöglicht wird, *LF-Tags* (basierend auf ihrer Datenklassifizierung und Ontologie) zu erstellen, die dann an Ressourcen angehängt werden können.

LF-TBAC ist eine Autorisierungsstrategie, die Berechtigungen auf der Grundlage von Attributen definiert. In Lake Formation werden diese Attribute als LF-Tags bezeichnet. Sie können LF-Tags an Datenkatalogressourcen und Lake Formation-Prinzipale anhängen. Data Lake-Administratoren können mithilfe von LF-Tags Berechtigungen für Lake Formation Formation-Ressourcen zuweisen und widerrufen. Weitere Informationen dazu finden Sie unter. [Tag-basierte Zugangskontrolle von Lake Formation](tag-based-access-control.md) 

 In diesem Tutorial wird gezeigt, wie Sie mithilfe eines AWS öffentlichen Datensatzes eine auf Lake Formation-Tags basierende Zugriffskontrollrichtlinie erstellen. Darüber hinaus wird gezeigt, wie Tabellen, Datenbanken und Spalten abgefragt werden, denen auf Lake Formation-Tags basierende Zugriffsrichtlinien zugeordnet sind. 

Sie können LF-TBAC für die folgenden Anwendungsfälle verwenden:
+ Sie haben eine große Anzahl von Tabellen und Prinzipalen, auf die der Data Lake-Administrator Zugriff gewähren muss
+ Sie möchten Ihre Daten auf der Grundlage einer Ontologie klassifizieren und auf der Grundlage der Klassifizierung Berechtigungen gewähren
+ Der Data Lake-Administrator möchte Berechtigungen dynamisch, also lose gekoppelt, zuweisen

Im Folgenden sind die allgemeinen Schritte zur Konfiguration von Berechtigungen mithilfe von LF-TBAC aufgeführt:

1. Der Data Steward definiert die Tag-Ontologie mit zwei LF-Tags: und. `Confidential` `Sensitive` Für Daten mit gelten strengere `Confidential=True` Zugriffskontrollen. Daten mit `Sensitive=True` erfordern eine spezifische Analyse durch den Analysten.

1. Der Data Steward weist dem Dateningenieur verschiedene Berechtigungsstufen zu, um Tabellen mit unterschiedlichen LF-Tags zu erstellen.

1. Der Dateningenieur erstellt zwei Datenbanken: und. `tag_database` `col_tag_database` Alle Tabellen in `tag_database` sind mit konfiguriert`Confidential=True`. Alle Tabellen in der `col_tag_database` sind mit konfiguriert`Confidential=False`. Einige Spalten der Tabelle in `col_tag_database` sind `Sensitive=True` für spezielle Analyseanforderungen mit gekennzeichnet.

1. Der Dateningenieur erteilt dem Analysten Leseberechtigungen für Tabellen mit bestimmten Ausdrucksbedingungen `Confidential=True` und`Confidential=False`,`Sensitive=True`. 

1. Mit dieser Konfiguration kann sich der Datenanalyst darauf konzentrieren, Analysen mit den richtigen Daten durchzuführen.

**Topics**
+ [Zielgruppe](#tut-manage-dl-roles)
+ [Voraussetzungen](#tut-manage-dl-prereqs)
+ [Schritt 1: Stellen Sie Ihre Ressourcen bereit](#tut-manage-dl-provision-resources)
+ [Schritt 2: Registrieren Sie Ihren Datenstandort, erstellen Sie eine LF-Tag-Ontologie und gewähren Sie Berechtigungen](#tut-manage-dl-register-datalocation-lftag)
+ [Schritt 3: Lake Formation Formation-Datenbanken erstellen](#tut-manage-dl-tbac-create-databases)
+ [Schritt 4: Erteilen Sie Tabellenberechtigungen](#tut-manage-dl-grant-table-permissions)
+ [Schritt 5: Führen Sie eine Abfrage in Amazon Athena aus, um die Berechtigungen zu überprüfen](#tut-manage-dl-tbac-run-query)
+ [Schritt 6: Ressourcen AWS bereinigen](#tut-manage-dl-tbac-clean-up-db)

## Zielgruppe
<a name="tut-manage-dl-roles"></a>



Dieses Tutorial richtet sich an Datenverwalter, Dateningenieure und Datenanalysten. Wenn es um die Verwaltung AWS Glue Data Catalog und Verwaltung von Berechtigungen in Lake Formation geht, haben die Data Stewards innerhalb der produzierenden Konten die funktionale Verantwortung, basierend auf den Funktionen, die sie unterstützen, und können verschiedenen Verbrauchern, externen Organisationen und Konten Zugriff gewähren.

In der folgenden Tabelle sind die Rollen aufgeführt, die in diesem Tutorial verwendet werden:


| Rolle | Description | 
| --- | --- | 
| Datenverwalter (Administrator) | Der lf-data-steward Benutzer hat folgenden Zugriff: [See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/lake-formation/latest/dg/managing-dl-tutorial.html)  | 
| Dateningenieur | `lf-data-engineer`Der Benutzer hat folgenden Zugriff: [See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/lake-formation/latest/dg/managing-dl-tutorial.html) | 
| Datenanalyst | Der lf-data-analyst Benutzer hat folgenden Zugriff: [See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/lake-formation/latest/dg/managing-dl-tutorial.html)  | 

## Voraussetzungen
<a name="tut-manage-dl-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).

## Schritt 1: Stellen Sie Ihre Ressourcen bereit
<a name="tut-manage-dl-provision-resources"></a>

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 Vorlage erstellt drei verschiedene Rollen (aufgeführt unter[Zielgruppe](#tut-manage-dl-roles)), um diese Übung durchzuführen, und kopiert den nyc-taxi-data Datensatz in Ihren lokalen Amazon S3 S3-Bucket.
+ Ein Amazon S3 S3-Bucket
+ Die entsprechenden Lake Formation Formation-Einstellungen
+ Die entsprechenden Amazon EC2 EC2-Ressourcen
+ Drei IAM-Rollen mit Anmeldeinformationen

**Erstellen Sie Ihre Ressourcen**

1. Melden Sie sich bei der AWS 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/new?templateURL=https://aws-bigdata-blog.s3.amazonaws.com/artifacts/lakeformationtbac/cfn/tbac_permission.json).

1.  Wählen Sie **Weiter** aus.

1.  Geben Sie im Abschnitt **Benutzerkonfiguration** das Passwort für drei Rollen ein:`DataStewardUserPassword`, `DataEngineerUserPassword` und`DataAnalystUserPassword`. 

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

1.  Wählen Sie **Erstellen** aus.

   Die Erstellung des Stacks kann bis zu fünf Minuten dauern.

**Anmerkung**  
Nachdem Sie das Tutorial abgeschlossen haben, möchten Sie möglicherweise den Stack löschen, CloudFormation um zu vermeiden, dass weiterhin Gebühren anfallen. Stellen Sie sicher, dass die Ressourcen im Ereignisstatus für den Stack erfolgreich gelöscht wurden.

## Schritt 2: Registrieren Sie Ihren Datenstandort, erstellen Sie eine LF-Tag-Ontologie und gewähren Sie Berechtigungen
<a name="tut-manage-dl-register-datalocation-lftag"></a>

In diesem Schritt definiert der Data Steward-Benutzer die Tag-Ontologie mit zwei LF-Tags: `Confidential` und und gibt bestimmten IAM-Prinzipalen die Möglichkeit`Sensitive`, neu erstellte LF-Tags an Ressourcen anzuhängen.

**Registrieren Sie einen Datenstandort und definieren Sie die LF-Tag-Ontologie**

1. Führen Sie den ersten Schritt als Data Steward-Benutzer (`lf-data-steward`) aus, um die Daten in Amazon S3 und den Datenkatalog in Lake Formation zu überprüfen.

   1. Melden Sie sich bei der Lake Formation Formation-Konsole unter [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)as `lf-data-steward` mit dem Passwort an, das Sie bei der Bereitstellung des CloudFormation Stacks verwendet haben.

   1. Wählen Sie im Navigationsbereich unter **Berechtigungen** die Option **Administrative Rollen und Aufgaben** aus.

   1. Wählen Sie im Abschnitt **Data Lake-Administratoren** die Option **Hinzufügen** aus.

   1. Wählen Sie auf der Seite **Administrator hinzufügen** für **IAM-Benutzer und -Rollen** den Benutzer `lf-data-steward` aus.

   1. Wählen Sie **Speichern**, um es `lf-data-steward` als Lake Formation-Administrator hinzuzufügen.

1. Aktualisieren Sie als Nächstes die Datenkatalogeinstellungen, sodass anstelle der IAM-basierten Zugriffskontrolle die Lake Formation Formation-Berechtigung zur Steuerung der Katalogressourcen verwendet wird.

   1. Wählen Sie im Navigationsbereich unter **Verwaltung** die Option **Datenkatalogeinstellungen** aus.

   1. Deaktivieren Sie die **Option Nur IAM-Zugriffskontrolle für neue Datenbanken verwenden**.

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

   1. Klicken Sie auf **Speichern**.

1. Als Nächstes registrieren Sie den Datenstandort für den Data Lake.

   1. Wählen Sie im Navigationsbereich unter **Administration** die Option **Data Lake-Standorte** aus.

   1. Wählen Sie **Standort registrieren** aus.

   1. Geben Sie auf der Seite **Speicherort registrieren** für den **Amazon S3 S3-Pfad** ein`s3://lf-tagbased-demo-{{Account-ID}}`.

   1. Lassen Sie für die **IAM-Rolle** den Standardwert `AWSServiceRoleForLakeFormationDataAccess` unverändert.

   1. Wählen Sie **Lake Formation** als Berechtigungsmodus.

   1. Wählen Sie **Standort registrieren**.

1. Als Nächstes erstellen Sie die Ontologie, indem Sie ein LF-Tag definieren.

   1. Wählen **Sie im Navigationsbereich unter Berechtigungen** die Option **LF-Tags** und Berechtigungen aus. .

   1. Wählen Sie **LF-Tag hinzufügen**.

   1. Geben Sie für **Key (Schlüssel)** `Confidential` ein.

   1. Fügen Sie für **Werte** und hinzu`True`. `False`

   1. Wählen Sie „**LF-Tag hinzufügen**“.

   1. Wiederholen Sie die Schritte, um das **LF-Tag** `Sensitive` mit dem Wert zu erstellen. `True`

   Sie haben alle erforderlichen LF-Tags für diese Übung erstellt.

**Erteilen Sie IAM-Benutzern Berechtigungen**

1. Geben Sie als Nächstes bestimmten IAM-Prinzipalen die Möglichkeit, neu erstellte LF-Tags an Ressourcen anzuhängen.

   1. **Wählen **Sie im Navigationsbereich unter Berechtigungen** die Option LF-Tags und Berechtigungen aus.**

   1. **Wählen Sie im Abschnitt **LF-Tag-Berechtigungen die Option Berechtigungen** gewähren aus.**

   1. Wählen Sie als **Berechtigungstyp** die Option **LF-Tag-Schlüsselwertpaar-Berechtigungen** aus.

   1. Wählen Sie **IAM-Benutzer** und -Rollen aus.

   1. Suchen Sie für **IAM-Benutzer und -Rollen** nach der Rolle und wählen Sie sie aus. `lf-data-engineer`

   1. Fügen Sie im Abschnitt **LF-Tags** den Schlüssel `Confidential` mit den Werten `True` und und den `False` `key` `Sensitive` With-Wert hinzu. `True`

   1. Wählen Sie unter **Berechtigungen** die Option **Describe** and **Associate** für **Berechtigungen und Gewährbare Berechtigungen** aus**.**

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

1. Erteilen Sie als Nächstes Berechtigungen `lf-data-engineer` zum Erstellen von Datenbanken in unserem Datenkatalog und im zugrunde liegenden Amazon S3 S3-Bucket, der von erstellt wurde AWS CloudFormation.

   1. Wählen Sie im Navigationsbereich unter **Administration** die Option **Administrative Rollen und Aufgaben** aus.

   1.  Wählen Sie im Abschnitt **Datenbankersteller** die Option **Grant** aus.

   1. Wählen Sie für **IAM-Benutzer und -Rollen** die `lf-data-engineer` Rolle aus.

   1. Wählen Sie für **Katalogberechtigungen** die Option **Datenbank erstellen** aus.

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

1. Als Nächstes gewähren Sie dem `lf-data-engineer` Benutzer Berechtigungen für den Amazon S3 S3-Bucket`(s3://lf-tagbased-demo-{{Account-ID}})`.

   1. Wählen Sie im Navigationsbereich unter **Berechtigungen** die Option **Datenspeicherorte** aus.

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

   1. Wählen Sie **Mein Konto** aus.

   1. Wählen Sie für **IAM-Benutzer und -Rollen** die `lf-data-engineer` Rolle aus.

   1. Geben Sie für **Speicherorte** den Amazon S3 S3-Bucket ein, der mit der CloudFormation Vorlage erstellt wurde`(s3://lf-tagbased-demo-{{Account-ID}})`.

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

1. Als Nächstes `lf-data-engineer` gewähren Sie erteilbare Berechtigungen für Ressourcen, die mit dem **LF-Tag-Ausdruck** verknüpft sind. `Confidential=True`

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

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

   1. Wählen Sie **IAM-Benutzer und -Rollen** aus.

   1.  Wählen Sie die Rolle `lf-data-engineer` aus.

   1. Wählen Sie im Abschnitt **LF-Tags oder Katalogressourcen die Option Ressourcen** **aus, denen LF-Tags zugeordnet sind**.

   1. Wählen Sie **LF-Tag-Schlüssel-Wert-Paar hinzufügen**.

   1.  Fügen Sie den Schlüssel `Confidential` mit den Werten hinzu. `True`

   1. Wählen Sie im Abschnitt **Datenbankberechtigungen** für **Datenbankberechtigungen und **Grantable** Permissions** die Option **Describe** aus. 

   1. Wählen Sie im Abschnitt **Tabellenberechtigungen** sowohl für **Tabellenberechtigungen als auch für **Grantable-Berechtigungen**** die Optionen **Beschreiben**, **Auswählen** und **Ändern** aus. 

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

1. Erteilen Sie als Nächstes `lf-data-engineer` erteilbare Berechtigungen für Ressourcen, die mit dem LF-Tag-Ausdruck verknüpft sind. `Confidential=False`

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

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

   1. Wählen Sie **IAM-Benutzer und -Rollen** aus.

   1. Wählen Sie die Rolle `lf-data-engineer` aus.

   1.  Wählen Sie **Ressourcen aus, denen LF-Tags zugeordnet sind**.

   1. Wählen Sie LF-Tag **hinzufügen**.

   1.  Fügen Sie den Schlüssel `Confidential` mit dem Wert hinzu. `False`

   1. Wählen Sie im Abschnitt **Datenbankberechtigungen** für **Datenbankberechtigungen und **Grantable** Permissions** die Option **Describe** aus.

   1. Wählen Sie im Abschnitt **Tabellen- und Spaltenberechtigungen** nichts aus.

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

1. Als Nächstes `lf-data-engineer` gewähren wir erteilbare Berechtigungen für Ressourcen, die den **LF-Tag-Schlüssel-Wert-Paaren** und zugeordnet sind. `Confidential=False` `Sensitive=True`

   1. **Wählen Sie im Navigationsbereich unter **Berechtigungen die Option Datenberechtigungen** aus.** 

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

   1. Wählen Sie **IAM-Benutzer und -Rollen** aus.

   1. Wählen Sie die Rolle `lf-data-engineer` aus.

   1. Wählen Sie im Abschnitt **LF-Tags oder Katalogressourcen die Option Ressourcen** **aus, denen LF-Tags zugeordnet sind**.

   1. **Wählen Sie LF-Tag hinzufügen.**

   1.  Fügen Sie den Schlüssel `Confidential` mit dem Wert hinzu. `False`

   1. Wählen Sie „**LF-Tag-Schlüssel-Wert-Paar hinzufügen**“.

   1. Fügen Sie den Schlüssel `Sensitive` mit dem Wert hinzu. `True`

   1. Wählen Sie im Abschnitt **Datenbankberechtigungen** für **Datenbankberechtigungen und **Grantable** Permissions** die Option **Describe** aus.

   1. Wählen Sie im Abschnitt **Tabellenberechtigungen** sowohl für **Tabellenberechtigungen als auch für **Grantable-Berechtigungen**** die Optionen **Beschreiben**, **Auswählen** und **Ändern** aus.

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

## Schritt 3: Lake Formation Formation-Datenbanken erstellen
<a name="tut-manage-dl-tbac-create-databases"></a>

In diesem Schritt erstellen Sie zwei Datenbanken und fügen den Datenbanken und bestimmten Spalten zu Testzwecken LF-Tags hinzu.

**Erstellen Sie Ihre Datenbanken und Tabellen für den Zugriff auf Datenbankebene**

1. Erstellen Sie zunächst die Datenbank `tag_database` und die Tabelle und fügen Sie die entsprechenden `source_data` LF-Tags hinzu.

   1. Wählen Sie in der Lake Formation Formation-Konsole ([https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)) unter **Datenkatalog** die Option **Datenbanken** aus. 

   1. Wählen Sie **Datenbank erstellen** aus.

   1. Geben Sie unter **Name** `tag_database` ein.

   1. Geben Sie für **Standort** den Amazon S3 S3-Standort ein, der mit der CloudFormation Vorlage erstellt wurde`(s3://lf-tagbased-demo-{{Account-ID}}/tag_database/)`.

   1. Deaktivieren Sie die **Option Nur IAM-Zugriffskontrolle für neue Tabellen in dieser Datenbank** verwenden.

   1. Wählen Sie **Datenbank erstellen** aus.

1. Erstellen Sie als Nächstes eine neue Tabelle darin. `tag_database`

   1. Wählen Sie auf der Seite **Datenbanken** die Datenbank aus`tag_database`.

   1.  Wählen Sie **Tabellen anzeigen** und klicken Sie auf **Tabelle erstellen**.

   1. Geben Sie unter **Name** `source_data` ein.

   1. Für **Datenbank** wählen Sie die `tag_database`-Datenbank aus.

   1. Wählen Sie als **Tabellenformat** die Option ** AWS Glue Standardtabelle** aus.

   1. Wählen Sie für **Daten befinden sich in** die Option **Angegebener Pfad in meinem Konto** aus.

   1. Geben Sie unter Pfad einschließen den Pfad ein, der von der CloudFormation Vorlage `tag_database` erstellt wurde`(s3://lf-tagbased-demo{{Account-ID}}/tag_database/)`.

   1. Wählen Sie als **Datenformat** die Option **CSV** aus.

   1. Geben **Sie unter Schema hochladen** das folgende JSON-Array mit Spaltenstruktur ein, um ein Schema zu erstellen:

      ```
       [
                     {
                          "Name": "vendorid",
                          "Type": "string"
                     },
                     {
                          "Name": "lpep_pickup_datetime",
                          "Type": "string"                    
                     },
                     {
                          "Name": "lpep_dropoff_datetime",
                          "Type": "string"  
                    
                     },
                        {
                          "Name": "store_and_fwd_flag",
                          "Type": "string"                                
                     },
                        {
                          "Name": "ratecodeid",
                          "Type": "string"                   
                          
                     },
                        {
                          "Name": "pulocationid",
                          "Type": "string"                   
                          
                     },
                     {
                          "Name": "dolocationid",
                          "Type": "string"                   
                          
                     },
                        {
                          "Name": "passenger_count",
                          "Type": "string"                   
                          
                     },
                     {
                          "Name": "trip_distance",
                          "Type": "string"                    
                          
                     }, 
                        {
                          "Name": "fare_amount",
                          "Type": "string"                   
                          
                     },
                     {
                          "Name": "extra",
                          "Type": "string"                   
                          
                     },
                        {
                          "Name": "mta_tax",
                          "Type": "string"                    
                          
                     },
                     {
                          "Name": "tip_amount",
                          "Type": "string"                   
                          
                     },
                        {
                          "Name": "tolls_amount",
                          "Type": "string"                   
                          
                     },
                     {
                          "Name": "ehail_fee",
                          "Type": "string"                    
                          
                     }, 
                     {
                          "Name": "improvement_surcharge",
                          "Type": "string"                   
                          
                     },
                     {
                          "Name": "total_amount",
                          "Type": "string"                    
                          
                     },
                     {
                          "Name": "payment_type",
                          "Type": "string"                    
                          
                     }
       ]
      ```

   1. Klicken Sie auf **Upload**. Nach dem Hochladen des Schemas sollte das Tabellenschema wie im folgenden Screenshot aussehen:  
![Tabellenschema mit 18 Spalten, einschließlich Lieferanten-ID, Datum und Uhrzeit der Abholung und Rückgabe, Standort und Tarifdetails IDs, alles Zeichenkettendatentyp.](http://docs.aws.amazon.com/de_de/lake-formation/latest/dg/images/tutorial-manage-dl-tbac1.jpg)

   1. Wählen Sie **Absenden** aus.

1. Als Nächstes fügen Sie LF-Tags auf Datenbankebene hinzu.

   1. Suchen Sie auf der Seite **Datenbanken** nach und wählen Sie es aus. `tag_database` 

   1. Wählen Sie im Menü **Aktionen** die Option **LF-Tags bearbeiten** aus.

   1. Wählen Sie „**Neues LF-Tag zuweisen**“.

   1. Wählen Sie unter **Zugewiesene Schlüssel** den `Confidential` LF-Tag aus, den Sie zuvor erstellt haben.

   1. Wählen Sie für **Werte die** Option. `True`

   1. Wählen Sie **Speichern**.

   Damit ist die LF-Tag-Zuweisung zur tag\_database-Datenbank abgeschlossen.

**Erstellen Sie Ihre Datenbank und Tabelle für den Zugriff auf Spaltenebene**

Wiederholen Sie die folgenden Schritte, um die Datenbank `col_tag_database` und die Tabelle `source_data_col_lvl` zu erstellen und LF-Tags auf Spaltenebene anzuhängen. 

1. Wählen Sie auf der Seite **Datenbanken** die Option Datenbank **erstellen** aus.

1. Geben Sie unter **Name** `col_tag_database` ein.

1. Geben Sie für **Standort** den Amazon S3 S3-Standort ein, der mit der CloudFormation Vorlage erstellt wurde`(s3://lf-tagbased-demo-{{Account-ID}}/col_tag_database/)`.

1. Deaktivieren Sie die **Option Nur IAM-Zugriffskontrolle für neue Tabellen in dieser Datenbank** verwenden.

1. Wählen Sie **Datenbank erstellen** aus.

1. Wählen Sie auf der Seite **Datenbanken** Ihre neue Datenbank aus. `(col_tag_database)` 

1. Wählen Sie **Tabellen anzeigen** und klicken Sie auf **Tabelle erstellen**.

1. Geben Sie unter **Name** `source_data_col_lvl` ein.

1. Wählen Sie unter **Datenbank** Ihre neue Datenbank aus`(col_tag_database)`.

1. Wählen Sie als **Tabellenformat** die Option ** AWS Glue Standardtabelle** aus.

1. Wählen Sie für **Daten befinden sich in** die Option **Angegebener Pfad in meinem Konto** aus.

1. Geben Sie den Amazon S3 S3-Pfad für ein `col_tag_database``(s3://lf-tagbased-demo-{{Account-ID}}/col_tag_database/)`.

1. Wählen Sie für **Datenformat** die Option`CSV`.

1. Geben Sie `Upload schema` unter das folgende JSON-Schema ein: 

   ```
   [
                  {
                       "Name": "vendorid",
                       "Type": "string"
                       
                       
                  },
                  {
                       "Name": "lpep_pickup_datetime",
                       "Type": "string"
                       
                       
                  },
                  {
                       "Name": "lpep_dropoff_datetime",
                       "Type": "string"
                       
                       
                  },
                     {
                       "Name": "store_and_fwd_flag",
                       "Type": "string"
                       
                       
                  },
                     {
                       "Name": "ratecodeid",
                       "Type": "string"
                       
                       
                  },
                     {
                       "Name": "pulocationid",
                       "Type": "string"
                       
                       
                  },
                  {
                       "Name": "dolocationid",
                       "Type": "string"
                       
                       
                  },
                     {
                       "Name": "passenger_count",
                       "Type": "string"
                       
                       
                  },
                  {
                       "Name": "trip_distance",
                       "Type": "string"
                       
                       
                  }, 
                     {
                       "Name": "fare_amount",
                       "Type": "string"
                       
                       
                  },
                  {
                       "Name": "extra",
                       "Type": "string"
                       
                       
                  },
                     {
                       "Name": "mta_tax",
                       "Type": "string"
                       
                       
                  },
                  {
                       "Name": "tip_amount",
                       "Type": "string"
                       
                       
                  },
                     {
                       "Name": "tolls_amount",
                       "Type": "string"
                       
                       
                  },
                  {
                       "Name": "ehail_fee",
                       "Type": "string"
                       
                       
                  }, 
                  {
                       "Name": "improvement_surcharge",
                       "Type": "string"
                       
                       
                  },
                  {
                       "Name": "total_amount",
                       "Type": "string"
                       
                       
                  },
                  {
                       "Name": "payment_type",
                       "Type": "string"
                       
                       
                  }
   ]
   ```

1. Wählen Sie `Upload`. Nach dem Hochladen des Schemas sollte das Tabellenschema wie im folgenden Screenshot aussehen.  
![Tabellenschema mit 18 Spalten, einschließlich Lieferanten-ID, Datum und Uhrzeit der Abholung und Rückgabe sowie Tarife.](http://docs.aws.amazon.com/de_de/lake-formation/latest/dg/images/tutorial-manage-dl-tbac2.jpg)

1. Wählen Sie **Absenden**, um die Erstellung der Tabelle abzuschließen.

1. Ordnen Sie nun das `Sensitive=True` LF-Tag den Spalten `vendorid` und zu. `fare_amount`

   1. Wählen Sie auf der Seite **Tabellen** die Tabelle aus, die Sie erstellt haben. `(source_data_col_lvl)`

   1. Wählen Sie im Menü **Aktionen** die Option **Schema** aus.

   1. Wählen Sie die Spalte aus `vendorid` und klicken Sie auf **LF-Tags bearbeiten**.

   1. **Wählen Sie für **Zugewiesene Schlüssel** die Option Sensitiv aus.**

   1.  Wählen Sie für **Werte** die Option **True** aus.

   1. Wählen Sie **Speichern**.

1. Ordnen Sie als Nächstes das `Confidential=False` LF-Tag zu. `col_tag_database` Dies ist erforderlich`lf-data-analyst`, um die Datenbank beschreiben zu können, `col_tag_database` wenn Sie von dort aus angemeldet sind. Amazon Athena

   1. Suchen Sie auf der Seite **Datenbanken** nach und wählen Sie`col_tag_database`.

   1. Wählen Sie im Menü **Aktionen** die Option **LF-Tags bearbeiten** aus.

   1. Wählen Sie „**Neues LF-Tag zuweisen**“.

   1. Wählen Sie unter **Zugewiesene Schlüssel** den `Confidential` LF-Tag aus, den Sie zuvor erstellt haben.

   1. Wählen Sie für **Werte die** Option. `False`

   1. Wählen Sie **Speichern**.

## Schritt 4: Erteilen Sie Tabellenberechtigungen
<a name="tut-manage-dl-grant-table-permissions"></a>

Erteilen Sie Datenanalysten Berechtigungen für die Nutzung der Datenbanken `tag_database` und der Tabelle `col_tag_database` mithilfe von LF-Tags `Confidential` und. `Sensitive`

1. Gehen Sie wie folgt vor, um dem `lf-data-analyst` Benutzer Berechtigungen für die Objekte zu erteilen, die mit dem LF-Tag `Confidential=True` (Database:TAG\_Database) verknüpft sind, sodass er über die Datenbank und Berechtigungen für Tabellen verfügt. `Describe` `Select`

   1. Melden Sie sich bei der Lake Formation Formation-Konsole unter [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)as an`lf-data-engineer`.

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

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

   1. Wählen Sie unter **Principals** die Option **IAM-Benutzer und** -Rollen aus.

   1. Wählen Sie für **IAM-Benutzer und -Rollen die Option**. `lf-data-analyst`

   1. Wählen Sie unter **LF-Tags oder Katalogressourcen die Option Ressourcen** **aus, denen LF-Tags zugeordnet sind**.

   1. **Wählen Sie LF-Tag hinzufügen.**

   1. Wählen Sie für **Schlüssel** die Option. `Confidential`

   1. Wählen Sie für **Werte** die Option`True`.

   1. Wählen Sie für **Datenbankberechtigungen** die Option aus`Describe`.

   1. Wählen Sie für **Tabellenberechtigungen** die **Option Select** and **Describe** aus. 

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

1. Wiederholen Sie anschließend die Schritte, um Datenanalysten Berechtigungen für den LF-Tag-Ausdruck für zu erteilen. `Confidential=False` Dieses **LF-Tag** wird zur Beschreibung der Tabelle `col_tag_database` und der Tabelle verwendet, `source_data_col_lvl` wenn Sie über Amazon Athena `lf-data-analyst` angemeldet sind. 

   1. Melden Sie sich bei der Lake Formation Formation-Konsole unter [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)as an`lf-data-engineer`.

   1. Wählen Sie auf der Seite **Datenbanken** die Datenbank aus`col_tag_database`.

   1. Wählen Sie **Aktion** und **Grant** aus.

   1. Wählen Sie unter **Principals** die Option **IAM-Benutzer und** -Rollen aus.

   1. Wählen Sie für **IAM-Benutzer und -Rollen die Option**. `lf-data-analyst`

   1. Wählen Sie **Ressourcen aus, denen LF-Tags zugeordnet sind**.

   1. Wählen Sie LF-Tag **hinzufügen**.

   1. Wählen Sie für **Schlüssel** die Option. `Confidential`

   1.  Wählen Sie für **Werte** die Option`False`.

   1. Wählen Sie für **Datenbankberechtigungen** die Option`Describe`.

   1. Wählen Sie für **Tabellenberechtigungen** nichts aus. 

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

1. Wiederholen Sie anschließend die Schritte, um Datenanalysten Berechtigungen für den LF-Tag-Ausdruck für `Confidential=False` und zu erteilen. `Sensitive=True` Dieses LF-Tag wird zur Beschreibung der `col_tag_database` und der Tabelle `source_data_col_lvl` (auf Spaltenebene) verwendet, wenn Sie über Amazon Athena angemeldet sind. `lf-data-analyst`

   1. Melden Sie sich bei der Lake Formation Formation-Konsole unter [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)as an`lf-data-engineer`.

   1. Wählen Sie auf der Seite Datenbanken die Datenbank aus`col_tag_database`.

   1. Wählen Sie **Aktion** und **Grant** aus.

   1. Wählen Sie unter **Principals** die Option **IAM-Benutzer und** -Rollen aus.

   1.  Wählen Sie für **IAM-Benutzer und -Rollen die Option**. `lf-data-analyst`

   1. Wählen Sie **Ressourcen aus, denen LF-Tags zugeordnet sind**.

   1. Wählen Sie LF-Tag **hinzufügen**.

   1. Wählen Sie für **Schlüssel** die Option. `Confidential`

   1. Wählen Sie für **Werte** die Option`False`.

   1. Wählen Sie **LF-Tag hinzufügen**.

   1. Wählen Sie für **Schlüssel** die Option. `Sensitive`

   1. Wählen Sie für **Werte** die Option`True`.

   1. Wählen Sie für **Datenbankberechtigungen** die Option`Describe`.

   1. Wählen Sie für **Tabellenberechtigungen** die Option `Select` und aus`Describe`.

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

## Schritt 5: Führen Sie eine Abfrage in Amazon Athena aus, um die Berechtigungen zu überprüfen
<a name="tut-manage-dl-tbac-run-query"></a>

Verwenden Sie für diesen Schritt Amazon Athena, um `SELECT` Abfragen für die beiden Tabellen `(source_data and source_data_col_lvl)` auszuführen. Verwenden Sie den Amazon S3 S3-Pfad als Speicherort für die Abfrageergebnisse`(s3://lf-tagbased-demo-{{Account-ID}}/athena-results/)`.

1. Melden Sie sich bei der Athena-Konsole unter [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home)as `lf-data-analyst` an.

1. Wählen Sie im Athena-Abfrage-Editor `tag_database` im linken Bereich.

1. Wählen Sie das Symbol für zusätzliche Menüoptionen (drei vertikale Punkte) neben `source_data` und wählen Sie „**Tabellenvorschau**“.

1. Wählen Sie **Abfrage ausführen**.

   Die Ausführung der Abfrage sollte einige Minuten dauern. Die Abfrage zeigt alle Spalten in der Ausgabe an, da das LF-Tag auf Datenbankebene verknüpft ist und die `source_data` Tabelle das automatisch `LF-tag` von der Datenbank übernommen hat. `tag_database`

1. Führen Sie eine weitere Abfrage mit `col_tag_database` und aus. `source_data_col_lvl`

   Die zweite Abfrage gibt die beiden Spalten zurück, die als `Non-Confidential` und gekennzeichnet wurden`Sensitive`.

1. Sie können auch überprüfen, ob das Verhalten der Tag-basierten Zugriffsrichtlinie von Lake Formation in Spalten angezeigt wird, für die Sie keine Richtlinienberechtigungen haben. Wenn eine Spalte ohne Tags aus der Tabelle ausgewählt wird`source_data_col_lvl`, gibt Athena einen Fehler zurück. Sie können beispielsweise die folgende Abfrage ausführen, um Spalten ohne Tags auszuwählen: `geolocationid`

   ```
   SELECT geolocationid FROM "col_tag_database"."source_data_col_lvl" limit 10;
   ```

## Schritt 6: Ressourcen AWS bereinigen
<a name="tut-manage-dl-tbac-clean-up-db"></a>

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.

1. Melden Sie sich bei der Lake Formation Console an `lf-data-engineer` und löschen Sie die Datenbanken `tag_database` und`col_tag_database`.

1. Melden Sie sich als Nächstes an `lf-data-steward` und bereinigen Sie alle **LF-Tag-Berechtigungen**, **Datenberechtigungen** und **Datenspeicherberechtigungen**, die oben gewährt wurden und gewährt `lf-data-engineer` wurden. `lf-data-analyst.`

1. Melden Sie sich bei der Amazon S3-Konsole als Kontoinhaber mit den IAM-Anmeldeinformationen an, die Sie für die Bereitstellung des CloudFormation Stacks verwendet haben.

1. Löschen Sie die folgenden Buckets:
   + lf-tagbased-demo-accesslogs-{{acct-id}}
   + lf-tagbased-demo-{{acct-id}}

1. Melden Sie sich unter [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/) bei der CloudFormation Konsole an und löschen Sie den von Ihnen erstellten Stack. Warten Sie, bis sich der Stack-Status auf ändert. `DELETE_COMPLETE`