Mencatat panggilan API Data RDS dengan AWS CloudTrail - Amazon Aurora

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

Mencatat panggilan API Data RDS dengan AWS CloudTrail

RDS Data API (Data API) terintegrasi dengan AWS CloudTrail, layanan yang menyediakan catatan tindakan yang diambil oleh pengguna, peran, atau AWS layanan di Data API. CloudTrail menangkap semua panggilan API untuk Data API sebagai peristiwa, termasuk panggilan dari konsol Amazon RDS dan dari panggilan kode ke operasi API Data. Jika Anda membuat jejak, Anda dapat mengaktifkan pengiriman CloudTrail peristiwa secara berkelanjutan ke bucket Amazon S3, termasuk peristiwa untuk Data API. Dengan menggunakan data yang dikumpulkan oleh CloudTrail, Anda dapat menentukan banyak informasi. Informasi ini mencakup permintaan yang dibuat untuk API Data, alamat IP asal permintaan, siapa yang membuat permintaan, kapan permintaan tersebut dibuat, dan detail tambahan.

Untuk mempelajari selengkapnya CloudTrail, lihat Panduan AWS CloudTrail Pengguna.

Bekerja dengan informasi API Data di CloudTrail

CloudTrail diaktifkan di AWS akun Anda saat Anda membuat akun. Ketika aktivitas yang didukung (peristiwa manajemen) terjadi di Data API, aktivitas tersebut direkam dalam suatu CloudTrail peristiwa bersama dengan peristiwa AWS layanan lainnya dalam riwayat Acara. Anda dapat melihat, mencari, dan mengunduh acara manajemen terbaru di AWS akun Anda. Untuk informasi selengkapnya, lihat Bekerja dengan riwayat CloudTrail Acara di Panduan AWS CloudTrail Pengguna.

Untuk catatan peristiwa yang sedang berlangsung di AWS akun Anda, termasuk peristiwa untuk Data API, buat jejak. Jejak memungkinkan CloudTrail untuk mengirimkan file log ke bucket Amazon S3. Secara default, saat Anda membuat jejak di konsol, jejak tersebut berlaku untuk semua AWS Wilayah. Jejak mencatat peristiwa dari semua AWS Wilayah di AWS partisi dan mengirimkan file log ke bucket Amazon S3 yang Anda tentukan. Selain itu, Anda dapat mengonfigurasi AWS layanan lain untuk menganalisis lebih lanjut dan menindaklanjuti data peristiwa yang dikumpulkan dalam CloudTrail log. Untuk informasi selengkapnya, lihat topik berikut di Panduan Pengguna AWS CloudTrail :

Semua operasi API Data dicatat oleh CloudTrail dan didokumentasikan dalam referensi API layanan data Amazon RDS. Misalnya, panggilan keBatchExecuteStatement, BeginTransactionCommitTransaction, dan ExecuteStatement operasi menghasilkan entri dalam file CloudTrail log.

Setiap peristiwa atau entri log berisi informasi tentang siapa yang membuat permintaan tersebut. Informasi identitas membantu Anda menentukan hal berikut:

  • Baik permintaan tersebut dibuat dengan kredensial pengguna root atau pengguna.

  • Apakah permintaan dibuat dengan kredensial keamanan sementara untuk suatu peran atau pengguna gabungan.

  • Apakah permintaan itu dibuat oleh AWS layanan lain.

Untuk informasi selengkapnya, lihat Elemen userIdentity CloudTrail .

Menyertakan dan mengecualikan peristiwa API Data dari jejak AWS CloudTrail

Sebagian besar pengguna API Data mengandalkan peristiwa dalam AWS CloudTrail jejak untuk menyediakan catatan operasi API Data. Data peristiwa tidak mengungkapkan nama database, nama skema, atau pernyataan SQL dalam permintaan ke Data API. Namun, mengetahui pengguna mana yang membuat jenis panggilan terhadap cluster DB tertentu pada waktu tertentu dapat membantu mendeteksi pola akses anomali.

Menyertakan peristiwa API Data dalam suatu AWS CloudTrail jejak

Untuk Aurora PostgreSQL Serverless v2 dan database yang disediakan, operasi API Data berikut dicatat sebagai peristiwa data. AWS CloudTrail Peristiwa data adalah operasi API data-plane volume tinggi yang CloudTrail tidak masuk secara default. Biaya tambahan berlaku untuk peristiwa data. Untuk informasi tentang CloudTrail harga, lihat AWS CloudTrail Harga.

Anda dapat menggunakan CloudTrail konsolAWS CLI, atau operasi CloudTrail API untuk mencatat operasi API Data ini. Di CloudTrail konsol, pilih RDS Data API - DB Cluster untuk tipe peristiwa Data. Untuk informasi selengkapnya, lihat Mencatat peristiwa data dengan AWS Management Console di Panduan AWS CloudTrail Pengguna.

Dengan menggunakan AWS CLI, jalankan aws cloudtrail put-event-selectors perintah untuk mencatat operasi Data API ini untuk jejak Anda. Untuk mencatat semua peristiwa Data API pada kluster DB, AWS::RDS::DBCluster tentukan jenis sumber daya. Contoh berikut mencatat semua peristiwa Data API pada cluster DB. Untuk informasi selengkapnya, lihat Mencatat peristiwa data dengan AWS Command Line Interface di Panduan AWS CloudTrail Pengguna.

aws cloudtrail put-event-selectors --trail-name trail_name --advanced-event-selectors \ '{ "Name": "RDS Data API Selector", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Data" ] }, { "Field": "resources.type", "Equals": [ "AWS::RDS::DBCluster" ] } ] }'

Anda dapat mengonfigurasi pemilih acara lanjutan untuk memfilter tambahan padareadOnly, eventName, dan resources.ARN bidang. Untuk informasi lebih lanjut tentang bidang ini, lihat AdvancedFieldSelector.

Mengecualikan peristiwa Data API dari AWS CloudTrail jejak (Aurora Serverless v1hanya)

UntukAurora Serverless v1, peristiwa Data API adalah peristiwa manajemen. Secara default, semua peristiwa Data API disertakan dalam AWS CloudTrail jejak. Namun, karena Data API dapat menghasilkan sejumlah besar peristiwa, Anda mungkin ingin mengecualikan peristiwa ini dari CloudTrail jejak Anda. Setelan peristiwa Exclude Amazon RDS Data API mengecualikan semua peristiwa Data API dari jejak. Anda tidak dapat mengecualikan peristiwa API Data tertentu.

Untuk mengecualikan peristiwa API Data dari jejak, lakukan hal berikut:

  • Di CloudTrail konsol, pilih setelan Kecualikan peristiwa Amazon RDS Data API saat Anda membuat jejak atau memperbarui jejak.

  • Di CloudTrail API, gunakan PutEventSelectorsoperasi. Jika Anda menggunakan pemilih peristiwa lanjutan, Anda dapat mengecualikan peristiwa API Data dengan menyetel eventSource bidang yang tidak sama denganrdsdata.amazonaws.com. Jika Anda menggunakan pemilih acara dasar, Anda dapat mengecualikan peristiwa Data API dengan menyetel nilai ExcludeManagementEventSources atribut kerdsdata.amazonaws.com. Untuk informasi selengkapnya, lihat Mencatat peristiwa dengan AWS Command Line Interface di Panduan AWS CloudTrail Pengguna.

Awas

Mengecualikan peristiwa Data API dari CloudTrail log dapat mengaburkan tindakan API Data. Berhati-hatilah saat memberikan cloudtrail:PutEventSelectors kepada pengguna utama yang diperlukan untuk melakukan operasi ini.

Anda dapat mematikan pengecualian ini kapan saja dengan mengubah pengaturan konsol atau pemilih peristiwa untuk jejak. Jejak kemudian akan mulai mencatat peristiwa API Data. Namun, jejak tidak dapat memulihkan peristiwa API Data yang terjadi sedangkan pengecualian tersebut sedang berlaku.

Saat Anda mengecualikan peristiwa Data API dengan menggunakan konsol atau API, operasi CloudTrail PutEventSelectors API yang dihasilkan juga dicatat di CloudTrail log Anda. Jika peristiwa Data API tidak muncul di CloudTrail log Anda, cari PutEventSelectors peristiwa dengan ExcludeManagementEventSources atribut yang disetel kerdsdata.amazonaws.com.

Untuk informasi lebih lanjut, lihat Mencatat peristiwa manajemen untuk jejak di Panduan Pengguna AWS CloudTrail .

Memahami entri file log API Data

Trail adalah konfigurasi yang memungkinkan pengiriman peristiwa sebagai file log ke bucket Amazon S3 yang Anda tentukan. CloudTrail file log berisi satu atau lebih entri log. Peristiwa mewakili permintaan tunggal dari sumber manapun dan mencakup informasi tentang tindakan yang diminta, tanggal dan waktu tindakan, parameter permintaan, dan sebagainya. CloudTrail file log bukanlah jejak tumpukan yang diurutkan dari panggilan API publik, jadi file tersebut tidak muncul dalam urutan tertentu.

Aurora PostgreSQL Serverless v2 dan disediakan

Contoh berikut menunjukkan entri CloudTrail log yang menunjukkan ExecuteStatement operasi untuk Aurora PostgreSQL Serverless v2 dan database yang disediakan. Untuk database ini, semua peristiwa Data API adalah peristiwa data di mana sumber peristiwa adalah rdsdataapi.amazonaws.com dan jenis acara adalah Rds Data Service.

{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "AKIAIOSFODNN7EXAMPLE", "arn": "arn:aws:iam::123456789012:user/johndoe", "accountId": "123456789012", "accessKeyId": "AKIAI44QH8DHBEXAMPLE", "userName": "johndoe" }, "eventTime": "2019-12-18T00:49:34Z", "eventSource": "rdsdataapi.amazonaws.com", "eventName": "ExecuteStatement", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.0", "userAgent": "aws-cli/1.16.102 Python/3.7.2 Windows/10 botocore/1.12.92", "requestParameters": { "continueAfterTimeout": false, "database": "**********", "includeResultMetadata": false, "parameters": [], "resourceArn": "arn:aws:rds:us-east-1:123456789012:cluster:my-database-1", "schema": "**********", "secretArn": "arn:aws:secretsmanager:us-east-1:123456789012:secret:dataapisecret-ABC123", "sql": "**********" }, "responseElements": null, "requestID": "6ba9a36e-b3aa-4ca8-9a2e-15a9eada988e", "eventID": "a2c7a357-ee8e-4755-a0d0-aed11ed4253a", "eventType": "Rds Data Service", "recipientAccountId": "123456789012" }

Aurora Serverless v1

Contoh berikut menunjukkan bagaimana entri CloudTrail log contoh sebelumnya muncul untuk. Aurora Serverless v1 UntukAurora Serverless v1, semua acara adalah acara manajemen di mana sumber acara adalah rdsdata.amazonaws.com dan jenis acaranya adalah. AwsApiCall

{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "AKIAIOSFODNN7EXAMPLE", "arn": "arn:aws:iam::123456789012:user/johndoe", "accountId": "123456789012", "accessKeyId": "AKIAI44QH8DHBEXAMPLE", "userName": "johndoe" }, "eventTime": "2019-12-18T00:49:34Z", "eventSource": "rdsdata.amazonaws.com", "eventName": "ExecuteStatement", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.0", "userAgent": "aws-cli/1.16.102 Python/3.7.2 Windows/10 botocore/1.12.92", "requestParameters": { "continueAfterTimeout": false, "database": "**********", "includeResultMetadata": false, "parameters": [], "resourceArn": "arn:aws:rds:us-east-1:123456789012:cluster:my-database-1", "schema": "**********", "secretArn": "arn:aws:secretsmanager:us-east-1:123456789012:secret:dataapisecret-ABC123", "sql": "**********" }, "responseElements": null, "requestID": "6ba9a36e-b3aa-4ca8-9a2e-15a9eada988e", "eventID": "a2c7a357-ee8e-4755-a0d0-aed11ed4253a", "eventType": "AwsApiCall", "recipientAccountId": "123456789012" }