Logging AWS Lake Formation API Calls Menggunakan AWS CloudTrail - AWS Lake Formation

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Logging AWS Lake Formation API Calls Menggunakan AWS CloudTrail

AWS Lake Formation terintegrasi dengan AWS CloudTrail, layanan yang menyediakan catatan tindakan yang diambil oleh pengguna, peran, atau AWS layanan di Lake Formation. CloudTrail menangkap semua panggilan Lake Formation API sebagai peristiwa. Panggilan yang diambil termasuk panggilan dari konsol Lake Formation, panggilan AWS Command Line Interface, dan kode ke tindakan Lake Formation API. Jika Anda membuat jejak, Anda dapat mengaktifkan pengiriman CloudTrail acara secara terus menerus ke bucket Amazon S3, termasuk acara untuk Lake Formation. Jika Anda tidak mengonfigurasi jejak, Anda masih dapat melihat peristiwa terbaru di CloudTrail konsol dalam Riwayat acara. Dengan menggunakan informasi yang dikumpulkan oleh CloudTrail, Anda dapat menentukan permintaan yang dibuat untuk Lake Formation, alamat IP dari mana permintaan itu dibuat, siapa yang membuat permintaan, kapan dibuat, dan detail tambahan.

Untuk mempelajari selengkapnya CloudTrail, lihat Panduan AWS CloudTrail Pengguna.

Informasi Lake Formation di CloudTrail

CloudTrail diaktifkan secara default saat Anda membuat AWS akun baru. Ketika aktivitas terjadi di Lake Formation, aktivitas tersebut dicatat sebagai CloudTrail peristiwa bersama dengan peristiwa AWS layanan lainnya dalam sejarah Peristiwa. Peristiwa mewakili permintaan tunggal dari sumber manapun dan mencakup informasi tentang tindakan yang diminta, tanggal dan waktu tindakan, dan parameter permintaan. Selain itu, setiap acara atau entri log berisi informasi tentang siapa yang membuat permintaan. Informasi identitas membantu Anda menentukan berikut ini:

  • Apakah permintaan itu dibuat dengan kredenal pengguna root atau AWS Identity and Access Management (IAM).

  • Apakah permintaan tersebut dibuat dengan kredensial keamanan sementara untuk satu peran atau pengguna terfederasi.

  • Apakah permintaan itu dibuat oleh AWS layanan lain.

Untuk informasi selengkapnya, lihat elemen CloudTrail UserIdentity.

Anda dapat melihat, mencari, dan mengunduh acara terbaru untuk AWS akun Anda. Untuk informasi selengkapnya, lihat Melihat peristiwa dengan Riwayat CloudTrail acara.

Untuk catatan acara yang sedang berlangsung di AWS akun Anda, termasuk acara untuk Lake Formation, buat jejak. Jejak memungkinkan CloudTrail untuk mengirimkan file log ke bucket Amazon S3. Secara default, ketika Anda membuat jejak pada konsol tersebut, jejak diterapkan ke semua Wilayah AWS . Jejak mencatat peristiwa dari semua Wilayah di AWS partisi dan mengirimkan file log ke bucket Amazon S3 yang Anda tentukan. Selain itu, Anda dapat mengonfigurasi AWS layanan lain, seperti Amazon Athena, untuk menganalisis lebih lanjut dan menindaklanjuti data peristiwa yang dikumpulkan dalam CloudTrail log. CloudTrail juga dapat mengirimkan file log ke Amazon CloudWatch Logs and CloudWatch Events.

Untuk informasi selengkapnya, lihat berikut:

Memahami Peristiwa Lake Formation

Semua tindakan Lake Formation API dicatat oleh CloudTrail dan didokumentasikan dalam Panduan AWS Lake Formation Pengembang. Misalnya, panggilan kePutDataLakeSettings,GrantPermissions, dan RevokePermissions tindakan menghasilkan entri dalam file CloudTrail log.

Contoh berikut menunjukkan CloudTrail peristiwa untuk GrantPermissions tindakan tersebut. Entri termasuk pengguna yang memberikan izin (datalake_admin), kepala sekolah yang izin diberikan kepada (datalake_user1), dan izin yang diberikan (CREATE_TABLE). Entri juga menunjukkan bahwa hibah gagal karena database target tidak ditentukan dalam resource argumen.

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

Contoh berikutnya menunjukkan entri CloudTrail log untuk GetDataAccess tindakan tersebut. Prinsipal tidak langsung memanggil API ini. Sebaliknya, GetDataAccess dicatat setiap kali AWS layanan utama atau terintegrasi meminta kredensi sementara untuk mengakses data di lokasi danau data yang terdaftar di 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" }, ... }