View a markdown version of this page

Registrazione delle chiamate all'API AWS Lake Formation utilizzando AWS CloudTrail - AWS Lake Formation

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Registrazione delle chiamate all'API AWS Lake Formation utilizzando AWS CloudTrail

AWS Lake Formation è integrato con AWS CloudTrail, un servizio che fornisce una registrazione delle azioni intraprese da un utente, ruolo o AWS servizio in Lake Formation. CloudTrail acquisisce tutte le chiamate API Lake Formation come eventi. Le chiamate acquisite includono le chiamate dalla console di Lake Formation e AWS Command Line Interface le chiamate in codice alle azioni dell'API Lake Formation. Se crei un trail, puoi abilitare la distribuzione continua di CloudTrail eventi a un bucket Amazon S3, inclusi gli eventi per Lake Formation. Se non configuri un percorso, puoi comunque visualizzare gli eventi più recenti nella CloudTrail console nella cronologia degli eventi. Utilizzando le informazioni raccolte da CloudTrail, è possibile determinare la richiesta che è stata effettuata a Lake Formation, l'indirizzo IP da cui è stata effettuata la richiesta, chi ha effettuato la richiesta, quando è stata effettuata e dettagli aggiuntivi.

Per ulteriori informazioni CloudTrail, consulta la Guida AWS CloudTrail per l'utente.

Informazioni su Lake Formation in CloudTrail

CloudTrail è abilitato per impostazione predefinita quando si crea un nuovo AWS account. Quando si verifica un'attività in Lake Formation, tale attività viene registrata come CloudTrail evento insieme ad altri eventi AWS di servizio nella cronologia degli eventi. Un evento rappresenta una singola richiesta da un'origine e include informazioni sull'operazione, la data e l'ora dell'operazione e i parametri della richiesta. Inoltre, ogni evento o voce di registro contiene informazioni su chi ha generato la richiesta. Le informazioni di identità consentono di determinare quanto segue:

  • Se la richiesta è stata effettuata con credenziali utente root o AWS Identity and Access Management (IAM).

  • Se la richiesta è stata effettuata con le credenziali di sicurezza temporanee per un ruolo o un utente federato.

  • Se la richiesta è stata effettuata da un altro AWS servizio.

Per ulteriori informazioni, consulta Elemento CloudTrail userIdentity.

Puoi visualizzare, cercare e scaricare gli eventi recenti relativi al tuo AWS account. Per ulteriori informazioni, consulta Visualizzazione degli eventi con la cronologia degli CloudTrail eventi.

Per una registrazione continua degli eventi nel tuo AWS account, inclusi gli eventi per Lake Formation, crea un percorso. Un trail consente di CloudTrail inviare file di log a un bucket Amazon S3. Per impostazione predefinita, quando crei un trail nella console, il trail si applica a tutte le regioni AWS . Il trail registra gli eventi di tutte le regioni della AWS partizione e consegna i file di log al bucket Amazon S3 specificato. Inoltre, puoi configurare altri AWS servizi, ad esempio analizzare ulteriormente i Amazon Athena dati sugli eventi raccolti nei log e agire in base a essi. CloudTrail CloudTrail può anche inviare file di log ad Amazon CloudWatch Logs and CloudWatch Events.

Per ulteriori informazioni, consulta gli argomenti seguenti:

Comprendere gli eventi di Lake Formation

Tutte le azioni dell'API Lake Formation vengono registrate CloudTrail e sono documentate nella AWS Lake Formation Developer Guide. Ad esempio, le chiamate alle PutDataLakeSettings RevokePermissions azioni e generano voci nei file di CloudTrail registro. GrantPermissions

L'esempio seguente mostra un CloudTrail evento per l'GrantPermissionsazione. La voce include l'utente che ha concesso l'autorizzazione (datalake_admin), il principale a cui è stata concessa l'autorizzazione (datalake_user1) e l'autorizzazione concessa (CREATE_TABLE). La voce mostra anche che la concessione non è riuscita perché il database di destinazione non è stato specificato nell'resourceargomento.

{ "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" }

L'esempio successivo mostra una voce di CloudTrail registro per l'GetDataAccessazione. I principali non chiamano direttamente questa API. Piuttosto, GetDataAccess viene registrato ogni volta che un AWS servizio principale o integrato richiede credenziali temporanee per accedere ai dati in una posizione di data lake registrata con Lake Formation.

{ "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" }, ... }

Tracciamento dell'accesso ai dati CloudTrail con Lake Formation

Lake Formation rilascia credenziali temporanee e limitate ai motori di query, come Amazon EMR AWS Glue e, per accedere alle posizioni dei dati delle tabelle in Amazon S3. Lake Formation utilizza il ruolo IAM specificato quando registri una posizione dati con Lake Formation per vendere queste credenziali.

Modifica del comportamento di CloudTrail registrazione (febbraio 2026)

Prima di febbraio 2026, quando un motore di query effettuava una s3:GetObject chiamata per recuperare i dati delle query, i CloudTrail log mostravano il ruolo IAM della registrazione di Lake Formation come principale.

A partire da febbraio 2026, CloudTrail i registri delle s3:GetObject chiamate includono anche l'identificatore univoco IAM (che inizia conAROA) del ruolo IAM che ha avviato la query. Questo identificatore corrisponde al ruolo IAM che ha avviato la query, al job Amazon EMR o al job ETL. AWS Glue

Tracciamento dell'accesso ai dati dall'avvio della query ad Amazon S3

Ogni s3:GetObject chiamata in entrata CloudTrail corrisponde a una chiamata. lakeformation:GetDataAccess Puoi utilizzare l'identificatore di ruolo IAM presente in entrambe le voci di registro per tracciare il ruolo IAM del chiamante dall'avvio della query fino all'accesso ai dati in Amazon S3.

Per abilitare le informazioni sull'identità di origine nei CloudTrail log degli eventi dei dati di Amazon S3, procedi nel seguente modo. Per abilitare gli eventi relativi ai dati in Amazon S3 CloudTrail, consulta Abilitazione CloudTrail della registrazione degli eventi per i bucket e gli oggetti Amazon S3.

Importante

L'attivazione degli eventi relativi ai dati di Amazon S3 CloudTrail comporta costi aggiuntivi.

Per abilitare il tracciamento dell'identità di origine nei log CloudTrail
  1. Utilizzando, esegui il get-data-lake-settings comando. Nella risposta, modifica il Parameters campo da aggiungere"SET_SOURCE_IDENTITY": "TRUE".

    Esegui il comando put-data-lake-settings.

    "Parameters": { "CROSS_ACCOUNT_VERSION": "4", "SET_SOURCE_IDENTITY": "TRUE" },
  2. Nella policy di fiducia del ruolo IAM utilizzato per registrare la posizione dei dati di Amazon S3 con Lake Formation, aggiungi: sts:SetSourceIdentity

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

Il registro seguente mostra le informazioni sull'identità di origine in un s3:GetObject CloudTrail registro di esempio.

"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"
Vedi anche
Monitoraggio dell'accesso al catalogo federato di Amazon Redshift

I cataloghi federati di Amazon Redshift nei log di GetDataAccess Lake Formation AWS Glue Data Catalog non generano eventi. CloudTrail Per tracciare l'accesso ai dati per le tabelle Amazon Redshift nel Data Catalog, monitora GetTable ed BatchGetTable events, che acquisiscono i modelli di accesso ai metadati per le tabelle federate di Redshift, tra cui il nome della tabella, il nome del database e le informazioni sull'ID del catalogo.