View a markdown version of this page

Protokollieren AWS Lake Formation Formation-API-Aufrufen mit AWS CloudTrail - 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.

Protokollieren AWS Lake Formation Formation-API-Aufrufen mit AWS CloudTrail

AWS Lake Formation ist in einen Dienst integriert AWS CloudTrail, der eine Aufzeichnung der Aktionen bereitstellt, die von einem Benutzer, einer Rolle oder einem AWS Dienst in Lake Formation ausgeführt wurden. CloudTrail erfasst alle Lake Formation API-Aufrufe als Ereignisse. Zu den erfassten Aufrufen gehören Aufrufe von der Lake Formation Formation-Konsole AWS Command Line Interface, die und Code-Aufrufe der Lake Formation Formation-API-Aktionen. Wenn Sie einen Trail erstellen, können Sie die kontinuierliche Bereitstellung von CloudTrail Ereignissen an einen Amazon S3 S3-Bucket aktivieren, einschließlich Ereignissen für Lake Formation. Wenn Sie keinen Trail konfigurieren, können Sie die neuesten Ereignisse trotzdem in der CloudTrail Konsole im Ereignisverlauf anzeigen. Anhand der von gesammelten Informationen können Sie die Anfrage CloudTrail, die an Lake Formation gestellt wurde, die IP-Adresse, von der aus die Anfrage gestellt wurde, wer die Anfrage gestellt hat, wann sie gestellt wurde, und weitere Details ermitteln.

Weitere Informationen CloudTrail dazu finden Sie im AWS CloudTrail Benutzerhandbuch.

Informationen Lake Formation in CloudTrail

CloudTrail ist standardmäßig aktiviert, wenn Sie ein neues AWS Konto erstellen. Wenn in Lake Formation eine Aktivität auftritt, wird diese Aktivität zusammen mit anderen CloudTrail AWS Serviceereignissen in der Ereignishistorie als Ereignis aufgezeichnet. Ein Ereignis stellt eine einzelne Anfrage aus einer beliebigen Quelle dar und enthält unter anderem Informationen über die angeforderte Aktion, das Datum und die Uhrzeit der Aktion sowie über die Anfrageparameter. Darüber hinaus enthält jedes Ereignis oder jeder Protokolleintrag Informationen darüber, wer die Anfrage generiert hat. Die Identitätsinformationen unterstützen Sie bei der Ermittlung der folgenden Punkte:

  • Ob die Anfrage mit Root- oder AWS Identity and Access Management (IAM-) Benutzeranmeldedaten gestellt wurde.

  • Gibt an, ob die Anforderung mit temporären Sicherheitsanmeldeinformationen für eine Rolle oder einen Verbundbenutzer gesendet wurde.

  • Ob die Anfrage von einem anderen AWS Dienst gestellt wurde.

Weitere Informationen finden Sie unter CloudTrail -Element userIdentity.

Sie können aktuelle Ereignisse für Ihr AWS Konto ansehen, suchen und herunterladen. Weitere Informationen finden Sie unter Ereignisse mit dem CloudTrail Ereignisverlauf anzeigen.

Für eine fortlaufende Aufzeichnung der Ereignisse in Ihrem AWS Konto, einschließlich der Ereignisse für Lake Formation, erstellen Sie einen Trail. Ein Trail ermöglicht CloudTrail die Übermittlung von Protokolldateien an einen Amazon S3 S3-Bucket. Standardmäßig gilt ein in der Konsole erstellter Trail für alle AWS -Regionen. Der Trail protokolliert Ereignisse aus allen Regionen der AWS Partition und übermittelt die Protokolldateien an den von Ihnen angegebenen Amazon S3 S3-Bucket. Darüber hinaus können Sie weitere AWS Dienste konfigurieren, z. B. Amazon Athena um die in den CloudTrail Protokollen gesammelten Ereignisdaten weiter zu analysieren und darauf zu reagieren. CloudTrail kann auch Protokolldateien an Amazon CloudWatch Logs and CloudWatch Events liefern.

Weitere Informationen finden Sie hier:

Lake Formation Formation-Ereignisse verstehen

Alle Lake Formation API-Aktionen werden vom Developer Guide protokolliert CloudTrail und sind im AWS Lake Formation Developer Guide dokumentiert. Beispielsweise generieren Aufrufe der RevokePermissions Aktionen PutDataLakeSettingsGrantPermissions, und Einträge in den CloudTrail Protokolldateien.

Das folgende Beispiel zeigt ein CloudTrail Ereignis für die GrantPermissions Aktion. Der Eintrag enthält den Benutzer, der die Berechtigung erteilt hat (datalake_admin), den Prinzipal, dem die Berechtigung erteilt wurde (datalake_user1), und die erteilte Berechtigung (CREATE_TABLE). Der Eintrag zeigt auch, dass die Erteilung fehlgeschlagen ist, weil die Zieldatenbank im resource Argument nicht angegeben wurde.

{ "eventVersion": "1.08", "userIdentity": { "type": "IAMUser", "principalId": "AIDAZKE67KM3P775X74U2", "arn": "arn:aws:iam::111122223333:user/datalake_admin", "accountId": "111122223333", "accessKeyId": "...", "userName": "datalake_admin" }, "eventTime": "2021-02-06T00:43:21Z", "eventSource": "lakeformation.amazonaws.com", "eventName": "GrantPermissions", "awsRegion": "us-east-1", "sourceIPAddress": "72.21.198.65", "userAgent": "aws-cli/1.19.0 Python/3.6.12 Linux/4.9.230-0.1.ac.223.84.332.metal1.x86_64 botocore/1.20.0", "errorCode": "InvalidInputException", "errorMessage": "Resource must have one of the have either the catalog, table or database field populated.", "requestParameters": { "principal": { "dataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/datalake_user1" }, "resource": {}, "permissions": [ "CREATE_TABLE" ] }, "responseElements": null, "requestID": "b85e863f-e75d-4fc0-9ff0-97f943f706e7", "eventID": "8d2ccef0-55f3-42d3-9ede-3a6faedaa5c1", "readOnly": false, "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "111122223333" }

Das nächste Beispiel zeigt einen CloudTrail Protokolleintrag für die GetDataAccess Aktion. Prinzipale rufen diese API nicht direkt auf. Wird vielmehr protokolliert, GetDataAccess wenn ein Principal oder ein integrierter AWS Dienst temporäre Anmeldeinformationen für den Zugriff auf Daten an einem Data Lake-Standort anfordert, der bei Lake Formation registriert ist.

{ "eventVersion": "1.05", "userIdentity": { "type": "AWSAccount", "principalId": "AROAQGFTBBBGOBWV2EMZA:GlueJobRunnerSession", "accountId": "111122223333" }, "eventSource": "lakeformation.amazonaws.com", "eventName": "GetDataAccess", ... ... "additionalEventData": { "requesterService": "GLUE_JOB", "lakeFormationPrincipal": "arn:aws:iam::111122223333:role/ETL-Glue-Role", "lakeFormationRoleSessionName": "AWSLF-00-GL-111122223333-G13T0Rmng2" }, ... }

Rückverfolgung des Datenzugriffs CloudTrail mit Lake Formation

Lake Formation stellt temporäre, detaillierte Anmeldeinformationen für Abfrage-Engines — wie Amazon EMR und AWS Glue— für den Zugriff auf Tabellendatenspeicherorte in Amazon S3 aus. Lake Formation verwendet die IAM-Rolle, die Sie angeben, wenn Sie einen Datenstandort bei Lake Formation registrieren, für den Verkauf dieser Anmeldeinformationen.

Änderung des CloudTrail Protokollierungsverhaltens (Februar 2026)

Vor Februar 2026, als eine Abfrage-Engine einen s3:GetObject Aufruf zum Abrufen von Abfragedaten tätigte, wurde in den CloudTrail Protokollen die IAM-Rolle für die Registrierung von Lake Formation als Principal angezeigt.

Ab Februar 2026 enthalten die CloudTrail Protokolle für s3:GetObject Anrufe auch die eindeutige IAM-ID (beginnend mitAROA) der IAM-Rolle, die die Abfrage initiiert hat. Diese ID entspricht der IAM-Rolle, die die Abfrage, den Amazon EMR-Job oder den AWS Glue ETL-Job initiiert hat.

Nachverfolgung des Datenzugriffs von der Abfrageauslösung bis Amazon S3

Jeder s3:GetObject eingehende Anruf CloudTrail entspricht einem lakeformation:GetDataAccess Anruf. Sie können die IAM-Rollen-ID, die in beiden Protokolleinträgen enthalten ist, verwenden, um die IAM-Rolle des Anrufers von der Initiierung der Anfrage bis zum Datenzugriff in Amazon S3 nachzuverfolgen.

Gehen Sie wie folgt vor, um die Informationen zur Quellidentität in den Amazon S3 CloudTrail S3-Datenereignisprotokollen zu aktivieren. Informationen zur Aktivierung von Amazon S3 S3-Datenereignissen finden Sie unter Aktivieren der CloudTrail Ereignisprotokollierung für Amazon S3 S3-Buckets und -Objekte. CloudTrail

Wichtig

Für die Aktivierung von Amazon S3 S3-Datenereignissen CloudTrail fallen zusätzliche Gebühren an.

Um die Identitätsverfolgung von Quellen in CloudTrail Protokollen zu aktivieren
  1. Führen Sie den get-data-lake-settings Befehl mithilfe von aus. Bearbeiten Sie in der Antwort das hinzuzufügende Parameters Feld"SET_SOURCE_IDENTITY": "TRUE".

    Führen Sie den Befehl put-data-lake-settings aus.

    "Parameters": { "CROSS_ACCOUNT_VERSION": "4", "SET_SOURCE_IDENTITY": "TRUE" },
  2. Fügen Sie in der Vertrauensrichtlinie der IAM-Rolle, die zur Registrierung Ihres Amazon S3 S3-Datenstandorts bei Lake Formation verwendet wurde, Folgendes hinzusts:SetSourceIdentity:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "lakeformation.amazonaws.com" ] }, "Action": [ "sts:AssumeRole", "sts:SetSourceIdentity" ] } ] }

Das folgende Protokoll zeigt die Quell-Identitätsinformationen in einem s3:GetObject CloudTrail Beispielprotokoll.

"sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROA2EXAMPLEXYZ3AB6CDKLM", "arn": "arn:aws:iam::111122223333:role/LFRegistrationRole", "accountId": "111122223333", "userName": "LFRegistrationRole" }, "sourceIdentity": "V2.111122223333.AROA3EXAMPLEPQR7ST9UVWXY" }, "invokedBy": "glue.amazonaws.com"
Weitere Informationen finden Sie unter:
Überwachung des Verbundkatalogzugriffs mit Amazon Redshift

Verbundkataloge von Amazon Redshift in den Protokollen generieren AWS Glue Data Catalog keine GetDataAccess Ereignisse in Lake Formation Formation-Protokollen. CloudTrail Um den Datenzugriff für Amazon Redshift Redshift-Tabellen im Datenkatalog zu verfolgen, überwachen GetTable und BatchGetTable Ereignisse, die Metadaten-Zugriffsmuster für Redshift-Verbundtabellen erfassen, einschließlich Tabellenname, Datenbankname und Katalog-ID-Informationen.

Weitere Informationen finden Sie unter: