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
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
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 mit LF- aufgeführt: TBAC
-
Der Data Steward definiert die Tag-Ontologie mit zwei LF-Tags: und.
Confidential
Sensitive
Für Daten mit gelten strengereConfidential=True
Zugriffskontrollen. Daten mitSensitive=True
erfordern eine spezifische Analyse durch den Analysten. -
Der Data Steward weist dem Dateningenieur verschiedene Berechtigungsstufen zu, um Tabellen mit unterschiedlichen LF-Tags zu erstellen.
-
Der Dateningenieur erstellt zwei Datenbanken: und.
tag_database
col_tag_database
Alle Tabellen intag_database
sind mit konfiguriertConfidential=True
. Alle Tabellen in dercol_tag_database
sind mit konfiguriertConfidential=False
. Einige Spalten der Tabelle incol_tag_database
sindSensitive=True
für spezielle Analyseanforderungen mit gekennzeichnet. Der Dateningenieur erteilt dem Analysten Leseberechtigungen für Tabellen mit bestimmten Ausdrucksbedingungen
Confidential=True
undConfidential=False
,Sensitive=True
.-
Mit dieser Konfiguration kann sich der Datenanalyst darauf konzentrieren, Analysen mit den richtigen Daten durchzuführen.
Themen
- Zielgruppe
- Voraussetzungen
- Schritt 1: Stellen Sie Ihre Ressourcen bereit
- Schritt 2: Registrieren Sie Ihren Datenstandort, erstellen Sie eine LF-Tag-Ontologie und gewähren Sie Berechtigungen
- Schritt 3: Lake Formation Formation-Datenbanken erstellen
- Schritt 4: Erteilen Sie Tabellenberechtigungen
- Schritt 5: Führen Sie eine Abfrage in Amazon Athena aus, um die Berechtigungen zu überprüfen
- Schritt 6: Ressourcen AWS bereinigen
Zielgruppe
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 | Beschreibung |
---|---|
Datenverwalter (Administrator) | Der lf-data-steward Benutzer hat folgenden Zugriff:
|
Dateningenieur |
|
Datenanalyst | Der lf-data-analyst Benutzer hat folgenden Zugriff:
|
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.
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 Vorlage erstellt drei verschiedene Rollen (aufgeführt unterZielgruppe), um diese Übung durchzuführen, und kopiert den nyc-taxi-data Datensatz in Ihren lokalen Amazon S3 S3-Bucket.
Ein Amazon-S3-Bucket
Die entsprechenden Lake Formation Formation-Einstellungen
Die entsprechenden EC2 Amazon-Ressourcen
Drei IAM Rollen mit Referenzen
Erstellen Sie Ihre Ressourcen
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 Weiter.
-
Geben Sie im Abschnitt Benutzerkonfiguration das Passwort für drei Rollen ein:
DataStewardUserPassword
,DataEngineerUserPassword
undDataAnalystUserPassword
. Ü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 bis zu fünf Minuten dauern.
Anmerkung
Nachdem Sie das Tutorial abgeschlossen haben, möchten Sie möglicherweise den Stack löschen, AWS 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
In diesem Schritt definiert der Data Steward-Benutzer die Tag-Ontologie mit zwei LF-Tags: Confidential
und und gibt bestimmten IAM Prinzipalen die MöglichkeitSensitive
, neu erstellte LF-Tags an Ressourcen anzuhängen.
Registrieren Sie einen Datenstandort und definieren Sie die LF-Tag-Ontologie
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.Melden Sie sich bei der Lake Formation Formation-Konsole unter https://console.aws.amazon.com/lakeformation/
as lf-data-steward
mit dem Passwort an, das Sie bei der Bereitstellung des AWS CloudFormation Stacks verwendet haben.Wählen Sie im Navigationsbereich unter Berechtigungen die Option Administrative Rollen und Aufgaben aus.
Wählen Sie im Abschnitt Data Lake-Administratoren die Option Hinzufügen aus.
Wählen Sie auf der Seite Administrator hinzufügen für IAMBenutzer und Rollen den Benutzer aus
lf-data-steward
.Wählen Sie Speichern, um es
lf-data-steward
als Lake Formation-Administrator hinzuzufügen.
-
Aktualisieren Sie als Nächstes die Datenkatalogeinstellungen, um die Lake Formation Formation-Berechtigung zur Steuerung der Katalogressourcen anstelle der IAM basierten Zugriffskontrolle zu verwenden.
Wählen Sie im Navigationsbereich unter Verwaltung die Option Datenkatalogeinstellungen aus.
Deaktivieren Sie die Option Nur IAM Zugriffskontrolle für neue Datenbanken verwenden.
Deaktivieren Sie die Option Nur IAM Zugriffskontrolle für neue Tabellen in neuen Datenbanken verwenden.
Klicken Sie auf Speichern.
Als Nächstes registrieren Sie den Datenstandort für den Data Lake.
Wählen Sie im Navigationsbereich unter Administration die Option Data Lake-Standorte aus.
Wählen Sie Standort registrieren aus.
Geben Sie auf der Seite Speicherort registrieren für den Amazon S3 S3-Pfad ein
s3://lf-tagbased-demo-
.Account-ID
Lassen Sie für IAMdie Rolle den Standardwert
AWSServiceRoleForLakeFormationDataAccess
unverändert.Wählen Sie Lake Formation als Berechtigungsmodus.
Wählen Sie Standort registrieren.
-
Als Nächstes erstellen Sie die Ontologie, indem Sie ein LF-Tag definieren.
Wählen Sie im Navigationsbereich unter Berechtigungen die Option LF-Tags und Berechtigungen aus. .
Wählen Sie LF-Tag hinzufügen.
Geben Sie für Key (Schlüssel)
Confidential
ein.Fügen Sie für Werte und hinzu
True
.False
Wählen Sie „LF-Tag hinzufügen“.
-
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 Benutzern Berechtigungen IAM
-
Geben Sie als Nächstes bestimmten IAM Prinzipalen die Möglichkeit, neu erstellte LF-Tags an Ressourcen anzuhängen.
Wählen Sie im Navigationsbereich unter Berechtigungen die Option LF-Tags und Berechtigungen aus.
Wählen Sie im Abschnitt LF-Tag-Berechtigungen die Option Berechtigungen gewähren aus.
Wählen Sie als Berechtigungstyp die Option LF-Tag-Schlüsselwertpaar-Berechtigungen aus.
Wählen Sie Benutzer IAM und Rollen aus.
Suchen Sie für IAMBenutzer und Rollen nach der
lf-data-engineer
Rolle und wählen Sie sie aus.Fügen Sie im Abschnitt LF-Tags den Schlüssel
Confidential
mit den WertenTrue
und undFalse
denkey
Sensitive
mit dem Wert hinzu.True
Wählen Sie unter Berechtigungen die Option Describe and Associate für Berechtigungen und Gewährbare Berechtigungen aus.
Wählen Sie Gewähren.
-
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.Wählen Sie im Navigationsbereich unter Administration die Option Administrative Rollen und Aufgaben aus.
Wählen Sie im Abschnitt Datenbankersteller die Option Grant aus.
Wählen Sie für IAMBenutzer und Rollen die
lf-data-engineer
Rolle aus.Wählen Sie für Katalogberechtigungen die Option Datenbank erstellen aus.
Wählen Sie Gewähren.
-
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
)Wählen Sie im Navigationsbereich unter Berechtigungen die Option Datenspeicherorte aus.
Wählen Sie Gewähren.
Wählen Sie Mein Konto aus.
Wählen Sie für IAMBenutzer und Rollen die
lf-data-engineer
Rolle aus.Geben Sie für Speicherorte den Amazon S3 S3-Bucket ein, der mit der AWS CloudFormation Vorlage erstellt wurde
(s3://lf-tagbased-demo-
.Account-ID
)Wählen Sie Gewähren.
-
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
Wählen Sie im Navigationsbereich unter Berechtigungen die Option Data Lake-Berechtigungen aus.
Wählen Sie Gewähren.
Wählen Sie IAMBenutzer und Rollen aus.
Wählen Sie die Rolle aus
lf-data-engineer
.Wählen Sie im Abschnitt LF-Tags oder Katalogressourcen die Option Ressourcen aus, denen LF-Tags zugeordnet sind.
Wählen Sie LF-Tag-Schlüssel-Wert-Paar hinzufügen.
Fügen Sie den Schlüssel
Confidential
mit den Werten hinzu.True
Wählen Sie im Abschnitt Datenbankberechtigungen für Datenbankberechtigungen und Grantable Permissions die Option Describe aus.
Wählen Sie im Abschnitt Tabellenberechtigungen sowohl für Tabellenberechtigungen als auch für Grantable-Berechtigungen die Optionen Beschreiben, Auswählen und Ändern aus.
Wählen Sie Gewähren.
-
Erteilen Sie als Nächstes
lf-data-engineer
erteilbare Berechtigungen für Ressourcen, die mit dem LF-Tag-Ausdruck verknüpft sind.Confidential=False
Wählen Sie im Navigationsbereich unter Berechtigungen die Option Data Lake-Berechtigungen aus.
Wählen Sie Gewähren.
Wählen Sie IAMBenutzer und Rollen aus.
Wählen Sie die Rolle aus
lf-data-engineer
.Wählen Sie Ressourcen aus, denen LF-Tags zugeordnet sind.
Wählen Sie LF-Tag hinzufügen.
Fügen Sie den Schlüssel
Confidential
mit dem Wert hinzu.False
Wählen Sie im Abschnitt Datenbankberechtigungen für Datenbankberechtigungen und Grantable Permissions die Option Describe aus.
Wählen Sie im Abschnitt Tabellen- und Spaltenberechtigungen nichts aus.
Wählen Sie Gewähren.
-
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
Wählen Sie im Navigationsbereich unter Berechtigungen die Option Datenberechtigungen aus.
Wählen Sie Gewähren.
Wählen Sie IAMBenutzer und Rollen aus.
Wählen Sie die Rolle aus
lf-data-engineer
.Wählen Sie im Abschnitt LF-Tags oder Katalogressourcen die Option Ressourcen aus, denen LF-Tags zugeordnet sind.
Wählen Sie LF-Tag hinzufügen.
Fügen Sie den Schlüssel
Confidential
mit dem Wert hinzu.False
Wählen Sie „LF-Tag-Schlüssel-Wert-Paar hinzufügen“.
Fügen Sie den Schlüssel
Sensitive
mit dem Wert hinzu.True
Wählen Sie im Abschnitt Datenbankberechtigungen für Datenbankberechtigungen und Grantable Permissions die Option Describe aus.
Wählen Sie im Abschnitt Tabellenberechtigungen sowohl für Tabellenberechtigungen als auch für Grantable-Berechtigungen die Optionen Beschreiben, Auswählen und Ändern aus.
Wählen Sie Gewähren.
Schritt 3: Lake Formation Formation-Datenbanken erstellen
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
-
Erstellen Sie zunächst die Datenbank
tag_database
und die Tabelle und fügen Sie die entsprechendensource_data
LF-Tags hinzu.Wählen Sie in der Lake Formation Formation-Konsole (https://console.aws.amazon.com/lakeformation/
) unter Datenkatalog die Option Datenbanken aus. Wählen Sie Datenbank erstellen aus.
Geben Sie unter Name
tag_database
ein.Geben Sie für Standort den Amazon S3 S3-Standort ein, der mit der AWS CloudFormation Vorlage erstellt wurde
(s3://lf-tagbased-demo-
.Account-ID
/tag_database/)Deaktivieren Sie die Option Nur IAM Zugriffskontrolle für neue Tabellen in dieser Datenbank verwenden.
Wählen Sie Datenbank erstellen aus.
-
Erstellen Sie als Nächstes eine neue Tabelle darin
tag_database
.Wählen Sie auf der Seite Datenbanken die Datenbank aus
tag_database
.Wählen Sie Tabellen anzeigen und klicken Sie auf Tabelle erstellen.
Geben Sie unter Name
source_data
ein.Für Datenbank wählen Sie die
tag_database
-Datenbank aus.Wählen Sie als Tabellenformat die Option AWS Glue Standardtabelle aus.
Wählen Sie für Daten befinden sich in die Option Angegebener Pfad in meinem Konto aus.
Geben Sie unter Pfad einschließen den Pfad ein, der von der AWS CloudFormation Vorlage
tag_database
erstellt wurde(s3://lf-tagbased-demo
.Account-ID
/tag_database/)Wählen Sie für Datenformat die Option CSV.
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" } ]
Klicken Sie auf Hochladen. Nach dem Hochladen des Schemas sollte das Tabellenschema wie im folgenden Screenshot aussehen:
Wählen Sie Absenden aus.
-
Als Nächstes hängen Sie LF-Tags auf Datenbankebene an.
Suchen Sie auf der Seite Datenbanken nach und wählen Sie es aus.
tag_database
Wählen Sie im Menü Aktionen die Option LF-Tags bearbeiten aus.
Wählen Sie „Neues LF-Tag zuweisen“.
Wählen Sie unter Zugewiesene Schlüssel den
Confidential
LF-Tag aus, den Sie zuvor erstellt haben.Wählen Sie für Werte die Option.
True
Wählen Sie Save (Speichern) aus.
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.
Wählen Sie auf der Seite Datenbanken die Option Datenbank erstellen aus.
-
Geben Sie unter Name
col_tag_database
ein. -
Geben Sie für Standort den Amazon S3 S3-Standort ein, der mit der AWS CloudFormation Vorlage erstellt wurde
(s3://lf-tagbased-demo-
.Account-ID
/col_tag_database/) -
Deaktivieren Sie die Option Nur IAM Zugriffskontrolle für neue Tabellen in dieser Datenbank verwenden.
-
Wählen Sie Datenbank erstellen aus.
Wählen Sie auf der Seite Datenbanken Ihre neue Datenbank
(col_tag_database)
aus.Wählen Sie Tabellen anzeigen und klicken Sie auf Tabelle erstellen.
Geben Sie unter Name
source_data_col_lvl
ein.Wählen Sie unter Datenbank Ihre neue Datenbank aus
(col_tag_database)
.Wählen Sie als Tabellenformat die Option AWS Glue Standardtabelle aus.
Wählen Sie für Daten befinden sich in die Option Angegebener Pfad in meinem Konto aus.
Geben Sie den Amazon S3 S3-Pfad für ein
col_tag_database
(s3://lf-tagbased-demo-
.Account-ID
/col_tag_database/)Wählen Sie für Datenformat die Option
CSV
.Geben Sie
Upload schema
unter das folgende Schema einJSON:[ { "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" } ]
Wählen Sie
Upload
. Nach dem Hochladen des Schemas sollte das Tabellenschema wie im folgenden Screenshot aussehen.Wählen Sie Submit, um die Erstellung der Tabelle abzuschließen.
-
Ordnen Sie nun das
Sensitive=True
LF-Tag den Spaltenvendorid
und zu.fare_amount
Wählen Sie auf der Seite Tabellen die Tabelle aus, die Sie erstellt haben.
(source_data_col_lvl)
Wählen Sie im Menü Aktionen die Option Schema aus.
Wählen Sie die Spalte aus
vendorid
und klicken Sie auf LF-Tags bearbeiten.Wählen Sie für Zugewiesene Schlüssel die Option Sensitiv aus.
Wählen Sie für Werte die Option True aus.
Wählen Sie Save (Speichern) aus.
-
Ordnen Sie als Nächstes das
Confidential=False
LF-Tag zu.col_tag_database
Dies ist erforderlichlf-data-analyst
, um die Datenbank beschreiben zu können,col_tag_database
wenn Sie von dort aus angemeldet sind. Amazon AthenaSuchen Sie auf der Seite Datenbanken nach und wählen Sie
col_tag_database
.Wählen Sie im Menü Aktionen die Option LF-Tags bearbeiten aus.
Wählen Sie „Neues LF-Tag zuweisen“.
Wählen Sie unter Zugewiesene Schlüssel den
Confidential
LF-Tag aus, den Sie zuvor erstellt haben.Wählen Sie für Werte die Option.
False
Wählen Sie Save (Speichern) aus.
Schritt 4: Erteilen Sie Tabellenberechtigungen
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
-
Gehen Sie wie folgt vor, um dem
lf-data-analyst
Benutzer Berechtigungen für die Objekte zu erteilen, die mit dem LF-TagConfidential=True
(Database:TAG_Database) verknüpft sind, sodass er über die Datenbank und Berechtigungen für Tabellen verfügt.Describe
Select
Melden Sie sich bei der Lake Formation Formation-Konsole unter https://console.aws.amazon.com/lakeformation/
as an lf-data-engineer
.Wählen Sie unter Berechtigungen die Option Data Lake-Berechtigungen aus.
Wählen Sie Gewähren.
Wählen Sie unter Principals IAM Benutzer und Rollen aus.
Wählen
lf-data-analyst
Sie für IAMBenutzer und Rollen aus.Wählen Sie unter LF-Tags oder Katalogressourcen die Option Ressourcen aus, denen LF-Tags zugeordnet sind.
Wählen Sie LF-Tag hinzufügen.
Wählen Sie als Schlüssel.
Confidential
Wählen Sie für Werte die Option
True
.Wählen Sie für Datenbankberechtigungen die Option aus
Describe
.Wählen Sie für Tabellenberechtigungen die Option Select and Describe aus.
Wählen Sie Gewähren.
-
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 Tabellecol_tag_database
und der Tabelle verwendet,source_data_col_lvl
wenn Sie über Amazon Athenalf-data-analyst
angemeldet sind.Melden Sie sich bei der Lake Formation Formation-Konsole unter https://console.aws.amazon.com/lakeformation/
as an lf-data-engineer
.Wählen Sie auf der Seite Datenbanken die Datenbank aus
col_tag_database
.Wählen Sie Aktion und Grant aus.
Wählen Sie unter Principals IAM Benutzer und Rollen aus.
Wählen
lf-data-analyst
Sie für IAMBenutzer und Rollen aus.Wählen Sie Ressourcen aus, denen LF-Tags zugeordnet sind.
Wählen Sie LF-Tag hinzufügen.
Wählen Sie als Schlüssel.
Confidential
Wählen Sie für Werte die Option
False
.Wählen Sie für Datenbankberechtigungen die Option
Describe
.Wählen Sie für Tabellenberechtigungen nichts aus.
Wählen Sie Gewähren.
-
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 dercol_tag_database
und der Tabellesource_data_col_lvl
(auf Spaltenebene) verwendet, wenn Sie über Amazon Athena angemeldet sind.lf-data-analyst
Melden Sie sich bei der Lake Formation Formation-Konsole unter https://console.aws.amazon.com/lakeformation/
as an lf-data-engineer
.Wählen Sie auf der Seite Datenbanken die Datenbank aus
col_tag_database
.Wählen Sie Aktion und Grant aus.
Wählen Sie unter Principals IAM Benutzer und Rollen aus.
Wählen
lf-data-analyst
Sie für IAMBenutzer und Rollen aus.Wählen Sie Ressourcen aus, denen LF-Tags zugeordnet sind.
Wählen Sie LF-Tag hinzufügen.
Wählen Sie als Schlüssel.
Confidential
Wählen Sie für Werte die Option
False
.Wählen Sie LF-Tag hinzufügen.
Wählen Sie als Schlüssel.
Sensitive
Wählen Sie für Werte die Option
True
.Wählen Sie für Datenbankberechtigungen die Option
Describe
.Wählen Sie für Tabellenberechtigungen die Option
Select
und ausDescribe
.Wählen Sie Gewähren.
Schritt 5: Führen Sie eine Abfrage in Amazon Athena aus, um die Berechtigungen zu überprüfen
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/)
-
Melden Sie sich bei der Athena-Konsole unter https://console.aws.amazon.com/athena/
as lf-data-analyst
an. Wählen Sie im Athena-Abfrage-Editor
tag_database
im linken Bereich.Wählen Sie das Symbol für zusätzliche Menüoptionen (drei vertikale Punkte) neben
source_data
und wählen Sie „Tabellenvorschau“.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 automatischLF-tag
von der Datenbank übernommen hat.tag_database
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 wurdenSensitive
.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
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.
-
Melden Sie sich bei der Lake Formation Console an
lf-data-engineer
und löschen Sie die Datenbankentag_database
undcol_tag_database
. -
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ährtlf-data-engineer
wurden.lf-data-analyst.
-
Melden Sie sich bei der Amazon S3-Konsole als Kontoinhaber mit den IAM Anmeldeinformationen an, die Sie für die Bereitstellung des AWS CloudFormation Stacks verwendet haben.
-
Löschen Sie die folgenden Buckets:
lf-tagbased-demo-accesslogs-
acct-id
lf-tagbased-demo-
acct-id
-
Melden Sie sich unter https://console.aws.amazon.com/cloudformation
bei der AWS CloudFormation Konsole an und löschen Sie den von Ihnen erstellten Stack. Warten Sie, bis sich der Stack-Status auf ändert. DELETE_COMPLETE