

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
<a name="filtering-data-events"></a>

Bagian ini menjelaskan bagaimana Anda dapat menggunakan penyeleksi peristiwa tingkat lanjut untuk membuat penyeleksi 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 pencatatan untuk sumber daya tertentu dengan menambahkan filter di `resources.ARN` bidang. Misalnya, jika Anda mencatat peristiwa data S3, Anda dapat mengecualikan pencatatan untuk bucket S3 untuk jejak Anda.
+ Anda dapat memilih untuk mencatat hanya peristiwa hanya-tulis atau peristiwa hanya-baca 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 peristiwa, lihat [AdvancedEventSelector](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedEventSelector.html)di *Referensi AWS CloudTrail 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 log peristiwa data. Tabel [peristiwa Data](logging-data-events-with-cloudtrail.md#logging-data-events) menunjukkan nilai yang mungkin.  | 
|  **`readOnly`**  |  Tidak  |  `Equals`  |  Ini adalah bidang opsional yang digunakan untuk menyertakan atau mengecualikan peristiwa data berdasarkan `readOnly` nilainya. 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 menyaring peristiwa data apa pun 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 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 menyediakan`resources.ARN`. Anda dapat menggunakan operator mana pun dengan`resources.ARN`, tetapi jika Anda menggunakan `Equals` atau`NotEquals`, nilainya harus sama persis dengan ARN sumber daya yang valid untuk yang `resources.type` Anda tentukan. Untuk mencatat semua peristiwa data untuk semua objek dalam bucket S3 tertentu, gunakan `StartsWith` operator, dan sertakan hanya ARN bucket 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 yang ingin `resources.ARN` Anda filter.  | 
|  **`eventSource`**  |  Tidak  |  `EndsWith` `Equals` `NotEndsWith` `NotEquals` `NotStartsWith` `StartsWith`  |  Anda dapat menggunakannya untuk menyertakan atau mengecualikan sumber acara tertentu. Biasanya `eventSource` merupakan bentuk pendek dari nama layanan tanpa spasi plus`.amazonaws.com`. Misalnya, Anda dapat mengatur `eventSource` `Equals` `ec2.amazonaws.com` untuk hanya mencatat peristiwa data Amazon EC2.  | 
|  **`eventType`**  |  Tidak  |  `EndsWith` `Equals` `NotEndsWith` `NotEquals` `NotStartsWith` `StartsWith`  |  [EventType](cloudtrail-event-reference-record-contents.md#ct-event-type) untuk menyertakan atau mengecualikan. Misalnya, Anda dapat mengatur bidang ini `NotEquals` `AwsServiceEvent` untuk mengecualikan [Layanan AWS peristiwa](non-api-aws-service-events.md).  | 
|  **`sessionCredentialFromConsole`**  |  Tidak  |  `Equals` `NotEquals`  |  Sertakan atau kecualikan acara yang berasal dari Konsol Manajemen AWS sesi. Bidang ini dapat diatur ke `Equals` atau `NotEquals` dengan nilai`true`.  | 
|  **`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](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html).  | 

Untuk mencatat peristiwa data menggunakan CloudTrail konsol, Anda memilih opsi **Peristiwa data**, lalu pilih **jenis sumber daya** yang diminati saat Anda membuat atau memperbarui penyimpanan data jejak atau peristiwa. Tabel [peristiwa data](logging-data-events-with-cloudtrail.md#logging-data-events) menunjukkan kemungkinan jenis sumber daya yang dapat Anda pilih di CloudTrail konsol.

![\[Pemilihan jenis sumber daya topik SNS di konsol.\]](http://docs.aws.amazon.com/id_id/awscloudtrail/latest/userguide/images/cloudtrail-data-event-type.png)


Untuk mencatat peristiwa data dengan AWS CLI, konfigurasikan `--advanced-event-selector` parameter untuk mengatur `eventCategory` sama dengan `Data` dan `resources.type` nilai sama dengan nilai tipe sumber daya yang ingin Anda log peristiwa data. Tabel [peristiwa Data](logging-data-events-with-cloudtrail.md#logging-data-events) mencantumkan jenis sumber daya yang tersedia.

Misalnya, jika Anda ingin mencatat peristiwa data untuk semua kumpulan Identitas Cognito, Anda akan 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 lanjut menyempurnakan pemilih acara lanjutan untuk memfilter pada`eventName`,`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 penyeleksi peristiwa lanjutan untuk mencatat semua panggilan Amazon `PutObject` S3 `DeleteObject` dan 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, lihat[Bagaimana CloudTrail mengevaluasi beberapa kondisi untuk suatu bidang](#filtering-data-events-conditions).

Anda dapat menggunakan pemilih acara 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 log peristiwa data.

**catatan**  
Trails dapat menggunakan penyeleksi acara dasar atau pemilih acara lanjutan, tetapi tidak keduanya. Jika Anda menerapkan penyeleksi acara lanjutan ke jejak, pemilih acara dasar apa pun yang ada akan ditimpa.  
Selector tidak mendukung penggunaan wildcard seperti. `*` Untuk mencocokkan beberapa nilai dengan satu kondisi, Anda dapat menggunakan`StartsWith`,`EndsWith`,`NotStartsWith`, atau `NotEndsWith` untuk secara eksplisit mencocokkan awal atau akhir bidang acara.

**Topics**
+ [Bagaimana CloudTrail mengevaluasi beberapa kondisi untuk suatu bidang](#filtering-data-events-conditions)
+ [AWS CLI contoh untuk memfilter peristiwa data](#filtering-data-events-examples)

## Bagaimana CloudTrail mengevaluasi beberapa kondisi untuk suatu bidang
<a name="filtering-data-events-conditions"></a>

Untuk penyeleksi acara tingkat lanjut, CloudTrail evaluasi beberapa kondisi untuk bidang sebagai berikut:
+ Operator DESELECT adalah DAN akan bersama-sama. Jika salah satu kondisi operator DESELECT terpenuhi, acara tidak dikirimkan. Ini adalah operator DESELECT yang valid untuk pemilih acara lanjutan:
  + `NotEndsWith`
  + `NotEquals`
  + `NotStartsWith`
+ Operator SELECT adalah ATAU akan bersama-sama. Ini adalah operator SELECT yang valid untuk pemilih acara tingkat lanjut:
  + `EndsWith`
  + `Equals`
  + `StartsWith`
+ Kombinasi operator SELECT dan DESELECT mengikuti aturan di atas dan kedua grup adalah AND 'd bersama-sama.

### Contoh yang menunjukkan beberapa kondisi untuk `resources.ARN` bidang
<a name="filtering-data-events-conditions-ex"></a>

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

```
{
    "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 sumber daya akan `AWS::S3::Object` dikirimkan jika: 

1. Tak satu pun dari kondisi operator DESELECT ini terpenuhi:
   + `resources.ARN`bidang `NotStartsWith` nilainya `arn:aws:s3:::amzn-s3-demo-bucket/deselect`
   + `resources.ARN`bidang `NotEndsWith` nilainya `object5`
   + `resources.ARN`bidang `NotEquals` nilainya `arn:aws:s3:::amzn-s3-demo-bucket/object6`

1. Setidaknya satu dari kondisi operator SELECT ini terpenuhi: 
   + `resources.ARN`bidang `Equals` nilainya `arn:aws:s3:::amzn-s3-demo-bucket/object1`
   + `resources.ARN`bidang `StartsWith` nilainya `arn:aws:s3:::amzn-s3-demo-bucket/`
   + `resources.ARN`bidang `EndsWith` nilainya `object3`

Berdasarkan logika evaluasi:

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

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

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

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

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

1. Peristiwa data untuk tidak `arn:aws:s3:::amzn-s3-demo-bucket/object6` akan terkirim karena sesuai dengan kondisi `NotEquals` operator meskipun sesuai dengan kondisi `StartsWith` operator.

## AWS CLI contoh untuk memfilter peristiwa data
<a name="filtering-data-events-examples"></a>

Bagian ini memberikan AWS CLI contoh yang menunjukkan cara memfilter peristiwa data pada bidang yang berbeda. Untuk AWS CLI contoh tambahan, lihat [Log peristiwa data untuk jejak dengan menggunakan pemilih acara tingkat lanjut](logging-data-events-with-cloudtrail.md#creating-data-event-selectors-advanced) dan[Logging peristiwa data untuk menyimpan data acara dengan AWS CLI](logging-data-events-with-cloudtrail.md#logging-data-events-CLI-eds-examples).

Untuk informasi tentang cara mencatat peristiwa data menggunakan konsol, lihat[Mencatat peristiwa data dengan Konsol Manajemen AWS](logging-data-events-with-cloudtrail.md#logging-data-events-console).

**Topics**
+ [Contoh 1: Pemfilteran di lapangan `eventName`](#filtering-data-events-eventname)
+ [Contoh 2: Memfilter pada `resources.ARN` dan bidang `userIdentity.arn`](#filtering-data-events-useridentityarn)
+ [Contoh 3: Memfilter pada `resources.type` dan `eventName` bidang untuk mengecualikan objek individual yang dihapus oleh peristiwa Amazon DeleteObjects S3](#filtering-data-events-deleteobjects)

### Contoh 1: Pemfilteran di lapangan `eventName`
<a name="filtering-data-events-eventname"></a>

Pada contoh pertama, `--advanced-event-selectors` for a trail dikonfigurasi untuk mencatat hanya panggilan`GetObject`,`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 APIs tetapi mengecualikan panggilan `ListChangedBlocks` API. Anda dapat menggunakan [https://docs.aws.amazon.com/cli/latest/reference/cloudtrail/update-event-data-store.html](https://docs.aws.amazon.com/cli/latest/reference/cloudtrail/update-event-data-store.html)perintah untuk memperbarui penyimpanan data acara 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 `resources.ARN` dan bidang `userIdentity.arn`
<a name="filtering-data-events-useridentityarn"></a>

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-role` `userIdentity` Nilai untuk acara S3 untuk `resources.type` bidang tersebut adalah`AWS::S3::Object`. Karena nilai ARN untuk objek S3 dan bucket S3 sedikit berbeda, Anda harus menambahkan operator untuk. `StartsWith` `resources.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 `resources.type` dan `eventName` bidang untuk mengecualikan objek individual yang dihapus oleh peristiwa Amazon DeleteObjects S3
<a name="filtering-data-events-deleteobjects"></a>

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 operasi. `DeleteObject` Nilai untuk acara S3 untuk `resources.type` bidang tersebut adalah`AWS::S3::Object`. Nilai untuk nama acara adalah`DeleteObject`. 

```
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)
```