Pencatatan API panggilan RDS Data 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.

Pencatatan API panggilan RDS Data dengan AWS CloudTrail

RDSData API (DataAPI) terintegrasi dengan AWS CloudTrail, layanan yang menyediakan catatan tindakan yang diambil oleh pengguna, peran, atau AWS layanan dalam DataAPI. CloudTrail menangkap semua API panggilan untuk Data API sebagai peristiwa, termasuk panggilan dari RDS konsol Amazon dan dari panggilan kode ke API operasi Data. Jika Anda membuat jejak, Anda dapat mengaktifkan pengiriman CloudTrail acara secara terus menerus 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 ke DataAPI, alamat IP tempat permintaan dibuat, siapa yang membuat permintaan, kapan dibuat, dan detail tambahan.

Untuk mempelajari selengkapnya CloudTrail, lihat Panduan AWS CloudTrail Pengguna.

Bekerja dengan API informasi Data di CloudTrail

CloudTrail diaktifkan di AWS akun Anda saat Anda membuat akun. Ketika aktivitas yang didukung (peristiwa manajemen) terjadi di DataAPI, 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 DataAPI, 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 API operasi Data dicatat oleh CloudTrail dan didokumentasikan dalam APIreferensi layanan RDS data Amazon. Misalnya, panggilan keBatchExecuteStatement, BeginTransactionCommitTransaction, dan ExecuteStatement operasi menghasilkan entri dalam file CloudTrail log.

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

  • Baik permintaan tersebut dibuat dengan kredensial pengguna atau root.

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

  • Apakah permintaan itu dibuat oleh AWS layanan lain.

Untuk informasi lebih lanjut, lihat CloudTrail userIdentityelemen.

Termasuk dan mengecualikan API peristiwa Data dari jejak AWS CloudTrail

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

Termasuk API peristiwa Data dalam AWS CloudTrail jejak

Untuk Aurora Postgre SQL Serverless v2 dan database yang disediakan, operasi Data berikut dicatat sebagai peristiwa data. API AWS CloudTrail Peristiwa data adalah API operasi bidang data 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 konsol,AWS CLI, atau CloudTrail API operasi untuk mencatat API operasi Data ini. Di CloudTrail konsol, pilih RDSData API - DB Cluster untuk tipe peristiwa Data. Untuk informasi selengkapnya, lihat Mencatat peristiwa data dengan AWS Management Console di Panduan AWS CloudTrail Pengguna.

Menggunakan AWS CLI, jalankan aws cloudtrail put-event-selectors perintah untuk mencatat API operasi Data ini untuk jejak Anda. Untuk mencatat semua API peristiwa Data pada cluster DB, tentukan AWS::RDS::DBCluster jenis sumber daya. Contoh berikut mencatat semua API peristiwa Data 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 API peristiwa Data dari AWS CloudTrail jejak (Aurora Serverless v1 hanya)

Untuk Aurora Serverless v1, API Peristiwa data adalah peristiwa manajemen. Secara default, semua API peristiwa Data 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 Kecualikan API peristiwa RDS Data Amazon mengecualikan semua API peristiwa Data dari jejak. Anda tidak dapat mengecualikan API peristiwa Data tertentu.

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

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

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

Awas

Mengecualikan API peristiwa Data dari CloudTrail log dapat mengaburkan tindakan Data. API 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 merekam API peristiwa Data. Namun, itu tidak dapat memulihkan API peristiwa Data yang terjadi saat pengecualian efektif.

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

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

Memahami entri file API log 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 API panggilan publik, sehingga tidak muncul dalam urutan tertentu.

Aurora Postgre SQL Tanpa Server v2 dan disediakan

Contoh berikut menunjukkan entri CloudTrail log yang menunjukkan ExecuteStatement operasi untuk Aurora SQL Postgre Serverless v2 dan database yang disediakan. Untuk database ini, semua peristiwa Data adalah API peristiwa data di mana sumber acara 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. Untuk Aurora Serverless v1, semua acara adalah acara manajemen di mana sumber acara adalah rdsdata.amazonaws.com dan jenis acaranya. 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" }