Einen Data Lake aus einer AWS CloudTrail Quelle erstellen - 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.

Einen Data Lake aus einer AWS CloudTrail Quelle erstellen

Dieses Tutorial führt Sie durch die Aktionen, die Sie in der Lake Formation Formation-Konsole ausführen müssen, um Ihren ersten Data Lake aus einer AWS CloudTrail Quelle zu erstellen und zu laden.

Allgemeine Schritte zum Erstellen eines Data Lakes
  1. Registrieren Sie einen Amazon Simple Storage Service (Amazon S3) -Pfad als Data Lake.

  2. Erteilen Sie Lake Formation die Berechtigungen, in den Datenkatalog und in Amazon S3 S3-Standorte im Data Lake zu schreiben.

  3. Erstellen Sie eine Datenbank, um die Metadatentabellen im Datenkatalog zu organisieren.

  4. Verwenden Sie einen Blueprint, um einen Workflow zu erstellen. Führen Sie den Workflow aus, um Daten aus einer Datenquelle aufzunehmen.

  5. Richten Sie Ihre Lake Formation Formation-Berechtigungen so ein, dass andere Personen Daten im Datenkatalog und im Data Lake verwalten können.

  6. Richten Sie Amazon Athena so ein, dass die Daten, die Sie in Ihren Amazon S3 S3-Data Lake importiert haben, abgefragt werden.

  7. Richten Sie Amazon Redshift Spectrum für einige Datenspeichertypen so ein, dass die Daten abgefragt werden, die Sie in Ihren Amazon S3 S3-Data Lake importiert haben.

Zielgruppe

In der folgenden Tabelle sind die Rollen aufgeführt, die in diesem Tutorial zum Erstellen eines Data Lakes verwendet wurden.

Zielgruppe
Rolle Beschreibung
IAMAdministrator Hat die AWS verwaltete Richtlinie:AdministratorAccess. Kann IAM Rollen und Amazon S3 S3-Buckets erstellen.
Data-Lake-Administrator Benutzer, der auf den Datenkatalog zugreifen, Datenbanken erstellen und anderen Benutzern Lake Formation Formation-Berechtigungen gewähren kann. Hat weniger IAM Berechtigungen als der IAM Administrator, reicht aber aus, um den Data Lake zu verwalten.
Datenanalyst Benutzer, der Abfragen für den Data Lake ausführen kann. Hat nur genügend Berechtigungen, um Abfragen auszuführen.
Workflow-Rolle Rolle mit den erforderlichen IAM Richtlinien zur Ausführung eines Workflows. Weitere Informationen finden Sie unter (Optional) Erstellen Sie eine IAM-Rolle für Workflows.

Voraussetzungen

Bevor Sie beginnen:

  • Stellen Sie sicher, dass Sie die Aufgaben in abgeschlossen habenRichten Sie ein AWS Lake Formation.

  • Informieren Sie sich über den Speicherort Ihrer CloudTrail Protokolle.

  • Athena verlangt von der Datenanalyst-Persona, dass sie vor der Verwendung von Athena einen Amazon S3 S3-Bucket zum Speichern von Abfrageergebnissen erstellt.

Vertrautheit mit AWS Identity and Access Management () IAM wird vorausgesetzt. Informationen zu IAM finden Sie im IAMBenutzerhandbuch.

Schritt 1: Erstellen Sie einen Data Analyst-Benutzer

Dieser Benutzer verfügt über die Mindestberechtigungen, um den Data Lake abzufragen.

  1. Öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam. Melden Sie sich als der Administratorbenutzer an, den Sie in der verwalteten Richtlinie erstellt haben, Erstellen Sie einen Benutzer mit Administratorzugriff oder als Benutzer mit der AdministratorAccess AWS verwalteten Richtlinie.

  2. Erstellen Sie einen Benutzer datalake_user mit dem Namen mit den folgenden Einstellungen:

    • AWS Management Console Zugriff aktivieren.

    • Legen Sie ein Passwort fest und fordern Sie kein Zurücksetzen des Passworts an.

    • Hängen Sie die AmazonAthenaFullAccess AWS verwaltete Richtlinie an.

    • Fügen Sie die folgende Inline-Richtlinie an. Speichern Sie die Richtlinie unter dem Namen DatalakeUserBasic.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess", "glue:GetTable", "glue:GetTables", "glue:SearchTables", "glue:GetDatabase", "glue:GetDatabases", "glue:GetPartitions", "lakeformation:GetResourceLFTags", "lakeformation:ListLFTags", "lakeformation:GetLFTag", "lakeformation:SearchTablesByLFTags", "lakeformation:SearchDatabasesByLFTags" ], "Resource": "*" } ] }

Schritt 2: Fügen Sie der Workflow-Rolle Berechtigungen zum Lesen von AWS CloudTrail Protokollen hinzu

  1. Fügen Sie der Rolle die folgende Inline-Richtlinie hinzuLakeFormationWorkflowRole. Die Richtlinie gewährt die Erlaubnis, Ihre AWS CloudTrail Protokolle zu lesen. Speichern Sie die Richtlinie unter dem Namen DatalakeGetCloudTrail.

    Weitere Informationen zum Erstellen der LakeFormationWorkflowRole-Rolle finden Sie unter (Optional) Erstellen Sie eine IAM-Rolle für Workflows.

    Wichtig

    Ersetzen <your-s3-cloudtrail-bucket> mit dem Amazon S3 S3-Standort Ihrer CloudTrail Daten.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:GetObject", "Resource": ["arn:aws:s3:::<your-s3-cloudtrail-bucket>/*"] } ] }
  2. Stellen Sie sicher, dass der Rolle drei Richtlinien zugeordnet sind.

Schritt 3: Erstellen Sie einen Amazon S3 S3-Bucket für den Data Lake

Erstellen Sie den Amazon S3 S3-Bucket, der der Stammspeicherort Ihres Data Lakes sein soll.

  1. Öffnen Sie die Amazon S3 S3-Konsole unter https://console.aws.amazon.com/s3/und melden Sie sich als der Administratorbenutzer an, den Sie erstellt habenErstellen Sie einen Benutzer mit Administratorzugriff.

  2. Wählen Sie Create Bucket und erstellen Sie mit Hilfe des Assistenten einen Bucket mit dem Namen<yourName>-datalake-cloudtrail, wo <yourName> ist Ihr Vor- und Nachname. Beispiel: jdoe-datalake-cloudtrail.

    Eine ausführliche Anleitung zur Erstellung eines Amazon S3 S3-Buckets finden Sie unter Bucket erstellen.

Schritt 4: Registrieren Sie einen Amazon S3 S3-Pfad

Registrieren Sie einen Amazon S3 S3-Pfad als Stammverzeichnis Ihres Data Lakes.

  1. Öffnen Sie die Lake Formation Formation-Konsole unter https://console.aws.amazon.com/lakeformation/. Melden Sie sich als Data Lake-Administrator an.

  2. Wählen Sie im Navigationsbereich unter Registrieren und aufnehmen die Option Data Lake-Standorte aus.

  3. Wählen Sie Speicherort registrieren und dann Durchsuchen aus.

  4. Wählen Sie den <yourName>-datalake-cloudtrail Bucket aus, den Sie zuvor erstellt haben, akzeptieren Sie die IAM AWSServiceRoleForLakeFormationDataAccess Standardrolle und wählen Sie dann Standort registrieren aus.

    Weitere Informationen zur Registrierung von Standorten finden Sie unterHinzufügen eines Amazon S3 S3-Standorts zu Ihrem Data Lake.

Schritt 5: Erteilen Sie Berechtigungen für den Datenstandort

Prinzipale müssen über Datenspeicherberechtigungen für einen Data Lake-Standort verfügen, um Datenkatalogtabellen oder Datenbanken zu erstellen, die auf diesen Speicherort verweisen. Sie müssen der IAM Rolle für Workflows Datenspeicherberechtigungen erteilen, damit der Workflow in das Datenaufnahmeziel schreiben kann.

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

  2. Wählen Sie Grant aus, und treffen Sie im Dialogfeld Berechtigungen gewähren die folgenden Optionen:

    1. Wählen Sie LakeFormationWorkflowRole für IAMBenutzer und Rollen.

    2. Wählen Sie für Speicherorte Ihren <yourName>-datalake-cloudtrail Bucket aus.

  3. Wählen Sie Gewähren.

Weitere Informationen zu Berechtigungen für Datenspeicherorte finden Sie unterUnderlying data access control.

Schritt 6: Erstellen Sie eine Datenbank im Datenkatalog

Metadatentabellen im Lake Formation Data Catalog werden in einer Datenbank gespeichert.

  1. Wählen Sie im Navigationsbereich unter Datenkatalog die Option Datenbanken aus.

  2. Wählen Sie Datenbank erstellen aus und geben Sie unter Datenbankdetails den Namen einlakeformation_cloudtrail.

  3. Lassen Sie die anderen Felder leer und wählen Sie Datenbank erstellen aus.

Schritt 7: Erteilen Sie Datenberechtigungen

Sie müssen Berechtigungen zum Erstellen von Metadatentabellen im Datenkatalog erteilen. Da der Workflow mit der Rolle ausgeführt wirdLakeFormationWorkflowRole, müssen Sie der Rolle diese Berechtigungen erteilen.

  1. Wählen Sie in der Lake Formation Formation-Konsole im Navigationsbereich unter Datenkatalog die Option Datenbanken aus.

  2. Wählen Sie die lakeformation_cloudtrail Datenbank aus und wählen Sie dann in der Dropdownliste Aktionen unter der Überschrift Berechtigungen die Option Grant aus.

  3. Treffen Sie im Dialogfeld „Datenberechtigungen gewähren“ die folgenden Optionen:

    1. Wählen Sie unter Principals für IAMBenutzer und Rollen die Option aus. LakeFormationWorkflowRole

    2. Wählen Sie unter LF-Tags oder Katalogressourcen die Option Benannte Datenkatalogressourcen aus.

    3. Bei Datenbanken sollten Sie sehen, dass die lakeformation_cloudtrail Datenbank bereits hinzugefügt wurde.

    4. Wählen Sie unter Datenbankberechtigungen die Optionen Tabelle erstellen, Ändern und Löschen aus, und deaktivieren Sie Super, falls diese Option ausgewählt ist.

    Ihr Dialogfeld „Datenberechtigungen gewähren“ sollte jetzt wie in diesem Screenshot aussehen.

    Das Dialogfeld „Datenberechtigungen gewähren“ zeigt die im Text beschriebenen Auswahlen. Das Dialogfeld ist in drei Abschnitte unterteilt, die vertikal angeordnet sind: Principals, LF-Tags oder Katalogressourcen und Datenbankberechtigungen.
  4. Wählen Sie Gewähren.

Weitere Informationen zur Erteilung von Lake Formation Formation-Berechtigungen finden Sie unterVerwaltung von Lake Formation Formation-Berechtigungen.

Schritt 8: Verwenden Sie einen Blueprint, um einen Workflow zu erstellen

Um die CloudTrail Protokolle zu lesen, ihre Struktur zu verstehen und die entsprechenden Tabellen im Datenkatalog zu erstellen, müssen wir einen Workflow einrichten, der aus AWS Glue Crawlern, Jobs, Triggern und Workflows besteht. Die Pläne von Lake Formation vereinfachen diesen Prozess.

Der Workflow generiert die Jobs, Crawler und Trigger, die Daten erkennen und in Ihren Data Lake aufnehmen. Sie erstellen einen Workflow, der auf einem der vordefinierten Lake Formation-Blueprints basiert.

  1. Wählen Sie in der Lake Formation Formation-Konsole im Navigationsbereich Blueprints und dann Blueprint verwenden aus.

  2. Wählen Sie auf der Seite Blueprint verwenden unter Blueprint-Typ die Option aus. AWS CloudTrail

  3. Wählen Sie unter Quelle importieren eine CloudTrail Quelle und ein Startdatum aus.

  4. Geben Sie unter Importziel die folgenden Parameter an:

    Zieldatenbank lakeformation_cloudtrail
    Zielspeicherort s3://<yourName>-datalake-cloudtrail
    Data format (Datenformat) Parquet
  5. Wählen Sie für die Importhäufigkeit die Option Bei Bedarf ausführen aus.

  6. Geben Sie unter Importoptionen die folgenden Parameter an:

    Name des Workflows lakeformationcloudtrailtest
    IAMRolle LakeFormationWorkflowRole
    Tabellenpräfix cloudtrailtest
    Anmerkung

    Muss in Kleinbuchstaben geschrieben werden.

  7. Wählen Sie Create und warten Sie, bis die Konsole meldet, dass der Workflow erfolgreich erstellt wurde.

    Tipp

    Haben Sie die folgende Fehlermeldung erhalten?

    User: arn:aws:iam::<account-id>:user/<datalake_administrator_user> is not authorized to perform: iam:PassRole on resource:arn:aws:iam::<account-id>:role/LakeFormationWorkflowRole...

    Falls ja, überprüfen Sie, ob Sie ersetzt haben <account-id> in der Inline-Richtlinie für den Data Lake-Administratorbenutzer mit einer gültigen AWS Kontonummer.

Schritt 9: Führen Sie den Workflow aus

Da Sie angegeben haben, dass es sich um einen Workflow handelt run-on-demand, müssen Sie den Workflow manuell starten.

  • Wählen Sie auf der Seite Blueprints den Workflow auslakeformationcloudtrailtest, und klicken Sie im Menü Aktionen auf Start.

    Während der Ausführung des Workflows können Sie seinen Fortschritt in der Spalte Status der letzten Ausführung einsehen. Wählen Sie gelegentlich die Schaltfläche „Aktualisieren“.

    Der Status geht von RUNNING, zu Discovering, zu Importiert, zu COMPLETED.

    Wenn der Workflow abgeschlossen ist:

    • Der Datenkatalog wird neue Metadatentabellen enthalten.

    • Ihre CloudTrail Protokolle werden in den Data Lake aufgenommen.

    Wenn der Workflow fehlschlägt, gehen Sie wie folgt vor:

    1. Wählen Sie den Workflow aus, und klicken Sie im Menü Aktionen auf Diagramm anzeigen.

      Der Workflow wird in der AWS Glue Konsole geöffnet.

    2. Wählen Sie den Workflow aus und gehen Sie auf die Registerkarte History (Verlauf).

    3. Wählen Sie unter Verlauf den letzten Lauf aus und klicken Sie auf Laufdetails anzeigen.

    4. Wählen Sie im dynamischen (Laufzeit-) Diagramm einen fehlgeschlagenen Job oder Crawler aus und überprüfen Sie die Fehlermeldung. Fehlgeschlagene Knoten sind entweder rot oder gelb.

Schritt 10: Grant SELECT auf den Tischen

Sie müssen die SELECT Berechtigung für die neuen Datenkatalogtabellen erteilen, damit der Datenanalyst die Daten abfragen kann, auf die die Tabellen verweisen.

Anmerkung

Ein Workflow erteilt dem Benutzer, der ihn ausgeführt hat, automatisch die SELECT Berechtigung für die Tabellen, die er erstellt hat. Da der Data Lake-Administrator diesen Workflow ausgeführt hat, müssen Sie ihn SELECT dem Datenanalysten erteilen.

  1. Wählen Sie in der Lake Formation Formation-Konsole im Navigationsbereich unter Datenkatalog die Option Datenbanken aus.

  2. Wählen Sie die lakeformation_cloudtrail Datenbank aus und wählen Sie dann in der Dropdownliste Aktionen unter der Überschrift Berechtigungen die Option Grant aus.

  3. Treffen Sie im Dialogfeld „Datenberechtigungen gewähren“ die folgenden Optionen:

    1. Wählen Sie unter Principals für IAMBenutzer und Rollen die Option aus. datalake_user

    2. Wählen Sie unter LF-Tags oder Katalogressourcen die Option Benannte Datenkatalogressourcen aus.

    3. Für Datenbanken sollte die lakeformation_cloudtrail Datenbank bereits ausgewählt sein.

    4. Wählen Sie für Tabellen die Optioncloudtrailtest-cloudtrail.

    5. Wählen Sie unter Tabellen- und Spaltenberechtigungen die Option Auswählen aus.

  4. Wählen Sie Gewähren.

Der nächste Schritt wird als Datenanalyst ausgeführt.

Schritt 11: Fragen Sie den Data Lake ab mit Amazon Athena

Verwenden Sie die Amazon Athena Konsole, um die CloudTrail Daten in Ihrem Data Lake abzufragen.

  1. Öffnen Sie die Athena-Konsole unter https://console.aws.amazon.com/athena/und melden Sie sich als Datenanalyst, Benutzer datalake_user an.

  2. Falls erforderlich, wählen Sie Get Started, um zum Athena-Abfrage-Editor zu gelangen.

  3. Wählen Sie für Datenquelle AwsDataCatalog aus.

  4. Wählen Sie unter Database (Datenbank) Option lakeformation_cloudtrail aus.

    Die Tabellenliste wird aufgefüllt.

  5. Wählen Sie im Überlaufmenü (3 horizontal angeordnete Punkte) neben der Tabelle cloudtrailtest-cloudtrail die Option Tabellenvorschau und anschließend Ausführen aus.

    Die Abfrage wird ausgeführt und zeigt 10 Datenzeilen an.

    Wenn Sie Athena noch nicht verwendet haben, müssen Sie zunächst einen Amazon S3 S3-Standort in der Athena-Konsole zum Speichern der Abfrageergebnisse konfigurieren. Sie datalake_user müssen über die erforderlichen Berechtigungen für den Zugriff auf den von Ihnen Amazon S3 S3-Bucket verfügen.

Anmerkung

Nachdem Sie das Tutorial abgeschlossen haben, gewähren Sie den Prinzipalen in Ihrer Organisation Datenberechtigungen und Datenspeicherberechtigungen.