View a markdown version of this page

Memfilter peristiwa data dengan menggunakan pemilih acara lanjutan - AWS CloudTrail

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

Memfilter peristiwa data dengan menggunakan pemilih acara lanjutan

Bagian ini menjelaskan cara Anda dapat menggunakan pemilih peristiwa lanjutan untuk membuat pemilih berbutir halus untuk mencatat peristiwa data, yang dapat membantu Anda mengontrol biaya dengan hanya mencatat peristiwa data tertentu yang menarik.

Contoh:

  • Anda dapat menyertakan atau mengecualikan panggilan API tertentu dengan menambahkan filter di eventName bidang.

  • Anda dapat menyertakan atau mengecualikan logging untuk sumber daya tertentu dengan menambahkan filter pada resources.ARN bidang. Misalnya, jika Anda mencatat peristiwa data S3, Anda dapat mengecualikan logging untuk bucket S3 untuk jejak Anda.

  • Anda dapat memilih untuk mencatat hanya peristiwa tulis saja atau peristiwa baca-saja dengan menambahkan filter pada bidang. readOnly

Tabel berikut menjelaskan bidang yang didukung untuk memfilter peristiwa data. Untuk daftar bidang yang didukung untuk setiap jenis CloudTrail acara, lihat AdvancedEventSelector di Refer AWS CloudTrail ensi API.

Bidang Diperlukan Operator yang valid Deskripsi

eventCategory

Ya

Equals

Bidang ini diatur Data untuk mencatat peristiwa data.

resources.type

Ya

Equals

Bidang ini digunakan untuk memilih jenis sumber daya yang ingin Anda catat peristiwa data. Tabel peristiwa Data menunjukkan nilai yang mungkin.

readOnly

Tidak

Equals

Ini adalah bidang opsional yang digunakan untuk memasukkan atau mengecualikan peristiwa data berdasarkan readOnly nilai. Nilai true log hanya membaca peristiwa. Nilai false log hanya menulis peristiwa. Jika Anda tidak menambahkan bidang ini, CloudTrail log acara baca dan tulis.

eventName

Tidak

EndsWith

Equals

NotEndsWith

NotEquals

NotStartsWith

StartsWith

Ini adalah file opsional yang digunakan untuk menyaring atau memfilter setiap peristiwa data yang dicatat CloudTrail, seperti atau. PutBucket GetSnapshotBlock

Jika Anda menggunakan AWS CLI, Anda dapat menentukan beberapa nilai dengan memisahkan setiap nilai dengan koma.

Jika Anda menggunakan konsol, Anda dapat menentukan beberapa nilai dengan membuat kondisi untuk setiap nilai yang ingin eventName Anda filter.

resources.ARN

Tidak

EndsWith

Equals

NotEndsWith

NotEquals

NotStartsWith

StartsWith

Ini adalah bidang opsional yang digunakan untuk mengecualikan atau menyertakan peristiwa data untuk sumber daya tertentu dengan menyediakanresources.ARN. Anda dapat menggunakan operator apa pun denganresources.ARN, tetapi jika Anda menggunakan Equals atauNotEquals, nilainya harus sama persis dengan ARN dari sumber daya yang valid untuk yang telah resources.type Anda tentukan. Untuk mencatat semua peristiwa data untuk semua objek dalam bucket S3 tertentu, gunakan StartsWith operator, dan sertakan hanya bucket ARN sebagai nilai yang cocok.

Jika Anda menggunakan AWS CLI, Anda dapat menentukan beberapa nilai dengan memisahkan setiap nilai dengan koma.

Jika Anda menggunakan konsol, Anda dapat menentukan beberapa nilai dengan membuat kondisi untuk setiap nilai yang ingin resources.ARN Anda filter.

eventSource

Tidak

EndsWith

Equals

NotEndsWith

NotEquals

NotStartsWith

StartsWith

Anda dapat menggunakannya untuk memasukkan atau mengecualikan sumber peristiwa tertentu. Biasanya eventSource merupakan bentuk pendek dari nama layanan tanpa spasi plus.amazonaws.com. Misalnya, Anda dapat mengatur eventSource Equals ec2.amazonaws.com agar hanya mencatat peristiwa data Amazon EC2.

eventType

Tidak

EndsWith

Equals

NotEndsWith

NotEquals

NotStartsWith

StartsWith

EventType untuk disertakan atau dikecualikan. Misalnya, Anda dapat mengatur bidang ini untuk NotEquals AwsServiceEvent mengecualikan Layanan AWS peristiwa.

sessionCredentialFromConsole

Tidak

Equals

NotEquals

Sertakan atau mengecualikan acara yang berasal dari Konsol Manajemen AWS sesi. Bidang ini dapat diatur ke Equals atau NotEquals dengan nilaitrue.

userIdentity.arn

Tidak

EndsWith

Equals

NotEndsWith

NotEquals

NotStartsWith

StartsWith

Sertakan atau kecualikan peristiwa untuk tindakan yang diambil oleh identitas IAM tertentu. Untuk informasi selengkapnya, lihat elemen CloudTrail userIdentity.

Untuk mencatat peristiwa data menggunakan CloudTrail konsol, Anda memilih opsi Peristiwa data dan kemudian memilih jenis Sumber daya yang menarik saat Anda membuat atau memperbarui penyimpanan data jejak atau peristiwa. Tabel peristiwa data menunjukkan kemungkinan jenis sumber daya yang dapat Anda pilih di CloudTrail konsol.

Pemilihan jenis sumber daya topik SNS di konsol.

Untuk mencatat peristiwa data dengan AWS CLI, konfigurasikan --advanced-event-selector parameter untuk menyet eventCategory el sama dengan Data dan resources.type nilai sama dengan nilai jenis sumber daya yang ingin Anda catat peristiwa datanya. Tabel peristiwa Data mencantumkan jenis sumber daya yang tersedia.

Misalnya, jika Anda ingin mencatat peristiwa data untuk semua kumpulan Identitas Cognito, Anda harus mengonfigurasi --advanced-event-selectors parameter agar terlihat seperti ini:

--advanced-event-selectors '[ { "Name": "Log Cognito data events on Identity pools", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::Cognito::IdentityPool"] } ] } ]'

Contoh sebelumnya mencatat semua peristiwa data Cognito di kumpulan Identity. Anda dapat lebih menyempurnakan pemilih acara lanjutan untuk memfiltereventName,readOnly, dan resources.ARN bidang untuk mencatat peristiwa tertentu yang menarik atau mengecualikan peristiwa yang tidak menarik.

Anda dapat mengonfigurasi pemilih acara lanjutan untuk memfilter peristiwa data berdasarkan beberapa bidang. Misalnya, Anda dapat mengonfigurasi pemilih peristiwa lanjutan untuk mencatat semua panggilan Amazon S3 PutObject dan DeleteObject API tetapi mengecualikan pencatatan peristiwa untuk bucket S3 tertentu seperti yang ditunjukkan pada contoh berikut. Ganti amzn-s3-demo-bucket dengan nama bucket Anda.

--advanced-event-selectors '[ { "Name": "Log PutObject and DeleteObject events for all but one bucket", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::S3::Object"] }, { "Field": "eventName", "Equals": ["PutObject","DeleteObject"] }, { "Field": "resources.ARN", "NotStartsWith": ["arn:aws:s3:::amzn-s3-demo-bucket/"] } ] } ]'

Anda juga dapat menyertakan beberapa kondisi untuk bidang. Untuk informasi tentang bagaimana beberapa kondisi dievaluasi, lihatBagaimana CloudTrail mengevaluasi beberapa kondisi untuk bidang.

Anda dapat menggunakan pemilih peristiwa lanjutan untuk mencatat peristiwa manajemen dan data. Untuk mencatat peristiwa data untuk beberapa jenis sumber daya, tambahkan pernyataan pemilih bidang untuk setiap jenis sumber daya yang ingin Anda catat peristiwa datanya.

catatan

Jalur dapat menggunakan pemilih acara dasar atau pemilih acara lanjutan, tetapi tidak keduanya. Jika Anda menerapkan pemilih acara lanjutan ke trek, semua pemilih peristiwa dasar yang ada akan diganti.

Selektor tidak mendukung penggunaan wildcard seperti. * Untuk mencocokkan beberapa nilai dengan satu kondisi, Anda dapat menggunakanStartsWith,EndsWith,NotStartsWith, atau NotEndsWith untuk secara eksplisit mencocokkan awal atau akhir bidang acara.

Bagaimana CloudTrail mengevaluasi beberapa kondisi untuk bidang

Untuk pemilih acara lanjutan CloudTrail , evaluasi beberapa kondisi untuk bidang sebagai berikut:

  • Operator DESELECT adalah DAN bersama-sama. Jika salah satu kondisi operator DESELECT terpenuhi, acara tidak disampaikan. Ini adalah operator DESELECT yang valid untuk pemilih acara lanjutan:

    • NotEndsWith

    • NotEquals

    • NotStartsWith

  • Operator SELECT adalah OR bersama. Ini adalah operator SELECT yang valid untuk pemilih acara lanjutan:

    • EndsWith

    • Equals

    • StartsWith

  • Kombinasi operator SELECT dan DESELECT mengikuti aturan di atas dan kedua kelompok tersebut dan disatukan.

Contoh menunjukkan beberapa kondisi untuk bidang Resources.arn

Contoh pernyataan pemilih peristiwa berikut mengumpulkan peristiwa data untuk jenis AWS::S3::Object sumber daya dan menerapkan beberapa kondisi pada resources.ARN bidang.

{ "Name": "S3Select", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Data" ] }, { "Field": "resources.type", "Equals": [ "AWS::S3::Object" ] }, { "Field": "resources.ARN", "Equals": [ "arn:aws:s3:::amzn-s3-demo-bucket/object1" ], "StartsWith": [ "arn:aws:s3:::amzn-s3-demo-bucket/" ], "EndsWith": [ "object3" ], "NotStartsWith": [ "arn:aws:s3:::amzn-s3-demo-bucket/deselect" ], "NotEndsWith": [ "object5" ], "NotEquals": [ "arn:aws:s3:::amzn-s3-demo-bucket/object6" ] } ] }

Dalam contoh sebelumnya, peristiwa data Amazon S3 untuk AWS::S3::Object sumber daya akan dikirimkan jika:

  1. Tak satu pun dari kondisi operator DESELECT ini terpenuhi:

    • resources.ARNbidang NotStartsWith nilainya arn:aws:s3:::amzn-s3-demo-bucket/deselect

    • resources.ARNbidang NotEndsWith nilainya object5

    • resources.ARNbidang NotEquals nilainya arn:aws:s3:::amzn-s3-demo-bucket/object6

  2. Setidaknya satu dari kondisi operator SELECT ini terpenuhi:

    • resources.ARNbidang Equals nilainya arn:aws:s3:::amzn-s3-demo-bucket/object1

    • resources.ARNbidang StartsWith nilainya arn:aws:s3:::amzn-s3-demo-bucket/

    • resources.ARNbidang EndsWith nilainya object3

Berdasarkan logika evaluasi:

  1. Peristiwa data untuk amzn-s3-demo-bucket/object1 akan dikirimkan karena cocok dengan nilai Equals operator dan tidak cocok dengan nilai apa pun untuk NotEquals operator NotStartsWithNotEndsWith,, dan.

  2. Peristiwa data untuk amzn-s3-demo-bucket/object2 akan dikirimkan karena cocok dengan nilai StartsWith operator dan tidak cocok dengan nilai apa pun untuk NotEquals operator NotStartsWithNotEndsWith,, dan.

  3. Peristiwa data untuk amzn-s3-demo-bucket1/object3 akan dikirimkan karena cocok EndsWith dengan operator dan tidak cocok dengan nilai apa pun untuk NotEquals operator NotStartsWithNotEndsWith,, dan.

  4. Peristiwa data untuk tidak arn:aws:s3:::amzn-s3-demo-bucket/deselectObject4 akan dikirimkan karena cocok dengan kondisi untuk NotStartsWith meskipun cocok dengan kondisi untuk StartsWith operator.

  5. Peristiwa data untuk tidak arn:aws:s3:::amzn-s3-demo-bucket/object5 akan dikirimkan karena cocok dengan kondisi untuk NotEndsWith meskipun cocok dengan kondisi untuk StartsWith operator.

  6. Peristiwa data untuk tidak arn:aws:s3:::amzn-s3-demo-bucket/object6 akan dikirimkan karena cocok dengan kondisi untuk NotEquals operator meskipun cocok dengan kondisi untuk StartsWith operator.

AWS CLI contoh untuk memfilter peristiwa data

Bagian ini memberikan AWS CLI contoh yang menunjukkan cara memfilter peristiwa data pada bidang yang berbeda. Untuk AWS CLI contoh tambahan, lihat Catatan peristiwa data untuk jalur dengan menggunakan pemilih peristiwa lanjutan danPencatatan peristiwa data untuk penyimpanan data peristiwa dengan AWS CLI.

Untuk informasi tentang cara mencatat peristiwa data menggunakan konsol, lihatPencatatan peristiwa data dengan Konsol Manajemen AWS.

Contoh 1: Memfilter pada bidang EventName

Dalam contoh pertama, --advanced-event-selectors for a trail dikonfigurasi untuk mencatat hanya panggilanGetObject,PutObject, dan DeleteObject API untuk objek Amazon S3 dalam bucket tujuan umum.

aws cloudtrail put-event-selectors \ --trail-name trailName \ --advanced-event-selectors '[ { "Name": "Log GetObject, PutObject and DeleteObject S3 data events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::S3::Object"] }, { "Field": "eventName", "Equals": ["GetObject","PutObject","DeleteObject"] } ] } ]'

Contoh berikutnya membuat penyimpanan data peristiwa baru yang mencatat peristiwa data untuk EBS Direct API tetapi mengecualikan panggilan ListChangedBlocks API. Anda dapat menggunakan update-event-data-store perintah untuk memperbarui penyimpanan data peristiwa yang ada.

aws cloudtrail create-event-data-store \ --name "eventDataStoreName" --advanced-event-selectors '[ { "Name": "Log all EBS Direct API data events except ListChangedBlocks", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::EC2::Snapshot"] }, { "Field": "eventName", "NotEquals": ["ListChangedBlocks"] } ] } ]'

Contoh 2: Memfilter pada bidang Resources.arn dan user Identity.arn

Contoh berikut menunjukkan cara menyertakan semua peristiwa data untuk semua objek Amazon S3 dalam bucket S3 tujuan umum tertentu tetapi mengecualikan peristiwa yang dihasilkan oleh bucket-scanner-roleuserIdentity. Nilai untuk peristiwa S3 untuk resources.type bidang adalahAWS::S3::Object. Karena nilai ARN untuk objek S3 dan bucket S3 sedikit berbeda, Anda harus menambahkan StartsWith operator untukresources.ARN.

aws cloudtrail put-event-selectors \ --trail-name trailName \ --advanced-event-selectors \ '[ { "Name": "S3EventSelector", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::S3::Object"] }, { "Field": "resources.ARN", "StartsWith": ["arn:partition:s3:::amzn-s3-demo-bucket/"] }, { "Field": "userIdentity.arn", "NotStartsWith": ["arn:aws:sts::123456789012:assumed-role/bucket-scanner-role"]} ] } ]'

Contoh 3: Memfilter pada bidang resources.type dan eventName untuk mengecualikan objek individual yang dihapus oleh acara Amazon S3 DeleteObjects

Contoh berikut menunjukkan cara menyertakan semua peristiwa data untuk semua objek Amazon S3 dalam bucket Amazon S3 tujuan umum tertentu tetapi mengecualikan objek individual yang dihapus oleh DeleteObject operasi. Nilai untuk peristiwa S3 untuk resources.type bidang adalahAWS::S3::Object. Nilai untuk nama acara adalahDeleteObject.

aws cloudtrail put-event-selectors \ --trail-name trailName \ --advanced-event-selectors \ { "Name": "Exclude Events for DeleteObject operation", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Data" ] }, { "Field": "resources.type", "Equals": [ "AWS::S3::Object" ] }, { "Field": "eventName", "NotEquals": [ "DeleteObject" ] } ] }, { "Name": "Exclude DeleteObject Events for individual objects deleted by DeleteObjects Operation", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Data" ] }, { "Field": "resources.type", "Equals": [ "AWS::S3::Object" ] }, { "Field": "eventName", "Equals": [ "DeleteObject" ] }, { "Field": "eventType", "NotEquals": [ "AwsServiceEvent" ] } ] } ] (edited)