

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

# Buat integrasi khusus dengan konsol
<a name="query-event-data-store-integration-custom"></a>

Anda dapat menggunakan CloudTrail untuk mencatat dan menyimpan data aktivitas pengguna dari sumber apa pun di lingkungan hybrid Anda, seperti aplikasi internal atau SaaS yang dihosting di tempat atau di cloud, mesin virtual, atau kontainer. Lakukan paruh pertama prosedur ini di konsol CloudTrail Lake, lalu panggil [https://docs.aws.amazon.com/awscloudtraildata/latest/APIReference/API_PutAuditEvents.html](https://docs.aws.amazon.com/awscloudtraildata/latest/APIReference/API_PutAuditEvents.html)API untuk menelan peristiwa, menyediakan ARN saluran dan muatan acara Anda. Setelah Anda menggunakan `PutAuditEvents` API untuk menyerap aktivitas aplikasi Anda CloudTrail, Anda dapat menggunakan CloudTrail Lake untuk mencari, menanyakan, dan menganalisis data yang dicatat dari aplikasi Anda.

1. Masuk ke Konsol Manajemen AWS dan buka CloudTrail konsol di [https://console.aws.amazon.com/cloudtrail/](https://console.aws.amazon.com/cloudtrail/).

1.  Dari panel navigasi, di bawah **Danau**, pilih **Integrasi**. 

1. Pada halaman **Tambahkan integrasi**, masukkan nama untuk saluran Anda. Namanya bisa 3-128 karakter. Hanya huruf, angka, titik, garis bawah, dan tanda hubung yang diizinkan.

1. Pilih **Integrasi kustom saya**.

1. Dari **lokasi pengiriman acara**, pilih untuk mencatat peristiwa aktivitas yang sama ke penyimpanan data acara yang ada, atau buat penyimpanan data acara baru.

   Jika Anda memilih untuk membuat penyimpanan data acara baru, masukkan nama untuk penyimpanan data acara dan tentukan periode retensi dalam beberapa hari. **Anda dapat menyimpan data acara di penyimpanan data acara hingga 3.653 hari (sekitar 10 tahun) jika Anda memilih opsi **harga retensi yang dapat diperpanjang satu tahun, atau hingga 2.557 hari (sekitar 7 tahun) jika Anda memilih opsi harga retensi** tujuh tahun.**

   Jika Anda memilih untuk mencatat peristiwa aktivitas ke satu atau beberapa penyimpanan data peristiwa yang ada, pilih penyimpanan data acara dari daftar. Penyimpanan data acara hanya dapat menyertakan peristiwa aktivitas. Jenis acara di konsol harus **Peristiwa dari integrasi.** Di API, `eventCategory` nilainya harus`ActivityAuditLog`.

1. Dalam **Kebijakan sumber daya**, konfigurasikan kebijakan sumber daya untuk saluran integrasi. Kebijakan sumber daya adalah dokumen kebijakan JSON yang menentukan tindakan apa yang dapat dilakukan oleh principal tertentu pada sumber daya dan dalam kondisi tertentu. Akun yang didefinisikan sebagai prinsipal dalam kebijakan sumber daya dapat memanggil `PutAuditEvents` API untuk mengirimkan peristiwa ke channel Anda.
**catatan**  
Jika Anda tidak membuat kebijakan sumber daya untuk saluran, hanya pemilik saluran yang dapat memanggil `PutAuditEvents` API di saluran.

   1. (Opsional) Masukkan ID eksternal yang unik untuk memberikan lapisan perlindungan tambahan. ID eksternal adalah string unik seperti ID akun atau string yang dihasilkan secara acak, untuk mencegah wakil bingung. 
**catatan**  
Jika kebijakan resource menyertakan ID eksternal, semua panggilan ke `PutAuditEvents` API harus menyertakan ID eksternal. Namun, jika kebijakan tidak menentukan ID eksternal, Anda masih dapat memanggil `PutAuditEvents` API dan menentukan `externalId` parameter.

   1. Pilih **Tambah AWS akun** untuk menentukan setiap ID AWS akun yang akan ditambahkan sebagai prinsipal dalam kebijakan sumber daya untuk saluran tersebut.

1. (Opsional) Di area **Tag**, Anda dapat menambahkan hingga 50 kunci tag dan pasangan nilai untuk membantu Anda mengidentifikasi, mengurutkan, dan mengontrol akses ke penyimpanan dan saluran data acara Anda. Untuk informasi selengkapnya tentang cara menggunakan kebijakan IAM untuk mengotorisasi akses ke penyimpanan data peristiwa berdasarkan tag, lihat. [Contoh: Menolak akses untuk membuat atau menghapus penyimpanan data acara berdasarkan tag](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-eds-tags) Untuk informasi selengkapnya tentang cara menggunakan tag AWS, lihat [Menandai AWS sumber daya Anda](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html) di. *Referensi Umum AWS*

1. Saat Anda siap untuk membuat integrasi baru, pilih **Tambahkan integrasi**. Tidak ada halaman ulasan. CloudTrail membuat integrasi, tetapi untuk mengintegrasikan peristiwa kustom Anda, Anda harus menentukan saluran ARN dalam permintaan. [https://docs.aws.amazon.com/awscloudtraildata/latest/APIReference/API_PutAuditEvents.html](https://docs.aws.amazon.com/awscloudtraildata/latest/APIReference/API_PutAuditEvents.html)

1. Panggil `PutAuditEvents` API untuk memasukkan acara aktivitas Anda ke dalam CloudTrail. Anda dapat menambahkan hingga 100 acara aktivitas (atau hingga 1 MB) per `PutAuditEvents` permintaan. Anda memerlukan saluran ARN yang Anda buat pada langkah sebelumnya, muatan peristiwa yang ingin Anda tambahkan, dan ID eksternal (jika ditentukan CloudTrail untuk kebijakan sumber daya Anda). Pastikan bahwa tidak ada informasi sensitif atau identifikasi pribadi dalam muatan acara sebelum menelannya. CloudTrail Peristiwa yang Anda konsumsi CloudTrail harus mengikuti. [CloudTrail Skema acara integrasi danau](query-integration-event-schema.md)
**Tip**  
Gunakan [AWS CloudShell](https://docs.aws.amazon.com/cloudshell/latest/userguide/welcome.html)untuk memastikan Anda menjalankan yang terbaru AWS APIs.

   Contoh berikut menunjukkan cara menggunakan perintah **put-audit-events** CLI. Parameter **--audit-events** dan **--channel-arn** diperlukan. Anda memerlukan ARN saluran yang Anda buat pada langkah-langkah sebelumnya, yang dapat Anda salin dari halaman detail integrasi. Nilai dari **--audit-events** adalah array JSON dari objek acara. `--audit-events`menyertakan ID yang diperlukan dari acara, muatan acara yang diperlukan sebagai nilai`EventData`, dan [checksum opsional](#event-data-store-integration-custom-checksum) untuk membantu memvalidasi integritas acara setelah masuk ke dalam. CloudTrail

   ```
   aws cloudtrail-data put-audit-events \
   --region {{region}} \
   --channel-arn $ChannelArn \
   --audit-events \
   id="{{event_ID}}",eventData='"{{{event_payload}}}"' \
   id="{{event_ID}}",eventData='"{{{event_payload}}}"',eventDataChecksum="{{optional_checksum}}"
   ```

   Berikut ini adalah contoh perintah dengan dua contoh acara.

   ```
   aws cloudtrail-data put-audit-events \
   --region us-east-1 \
   --channel-arn arn:aws:cloudtrail:us-east-1:01234567890:channel/EXAMPLE8-0558-4f7e-a06a-43969EXAMPLE \
   --audit-events \
   id="EXAMPLE3-0f1f-4a85-9664-d50a3EXAMPLE",eventData='"{\"eventVersion\":\0.01\",\"eventSource\":\"custom1.domain.com\", ...
   \}"' \
   id="EXAMPLE7-a999-486d-b241-b33a1EXAMPLE",eventData='"{\"eventVersion\":\0.02\",\"eventSource\":\"custom2.domain.com\", ...
   \}"',eventDataChecksum="EXAMPLE6e7dd61f3ead...93a691d8EXAMPLE"
   ```

   Contoh perintah berikut menambahkan `--cli-input-json` parameter untuk menentukan file JSON (`custom-events.json`) dari payload acara.

   ```
   aws cloudtrail-data put-audit-events \
   --channel-arn $channelArn \
   --cli-input-json file://custom-events.json \
   --region us-east-1
   ```

   Berikut ini adalah contoh isi dari contoh file JSON,`custom-events.json`.

   ```
   {
       "auditEvents": [
         {
           "eventData": "{\"version\":\"eventData.version\",\"UID\":\"UID\",
           \"userIdentity\":{\"type\":\"CustomUserIdentity\",\"principalId\":\"principalId\",
           \"details\":{\"key\":\"value\"}},\"eventTime\":\"2021-10-27T12:13:14Z\",\"eventName\":\"eventName\",
           \"userAgent\":\"userAgent\",\"eventSource\":\"eventSource\",
           \"requestParameters\":{\"key\":\"value\"},\"responseElements\":{\"key\":\"value\"},
           \"additionalEventData\":{\"key\":\"value\"},
           \"sourceIPAddress\":\"{{source_IP_address}}\",\"recipientAccountId\":\"{{recipient_account_ID}}\"}",
           "id": "1"
         }
      ]
   }
   ```

## (Opsional) Hitung nilai checksum
<a name="event-data-store-integration-custom-checksum"></a>

Checksum yang Anda tentukan sebagai nilai `EventDataChecksum` dalam `PutAuditEvents` permintaan membantu Anda memverifikasi bahwa CloudTrail menerima peristiwa yang cocok dengan checksum; ini membantu memverifikasi integritas peristiwa. Nilai checksum adalah SHA256 algoritma base64- yang Anda hitung dengan menjalankan perintah berikut.

```
printf %s "{"eventData": "{\"version\":\"eventData.version\",\"UID\":\"UID\",
        \"userIdentity\":{\"type\":\"CustomUserIdentity\",\"principalId\":\"principalId\",
        \"details\":{\"key\":\"value\"}},\"eventTime\":\"2021-10-27T12:13:14Z\",\"eventName\":\"eventName\",
        \"userAgent\":\"userAgent\",\"eventSource\":\"eventSource\",
        \"requestParameters\":{\"key\":\"value\"},\"responseElements\":{\"key\":\"value\"},
        \"additionalEventData\":{\"key\":\"value\"},
        \"sourceIPAddress\":\"{{source_IP_address}}\",
        \"recipientAccountId\":\"{{recipient_account_ID}}\"}",
        "id": "1"}" \
 | openssl dgst -binary -sha256 | base64
```

Perintah mengembalikan checksum. Berikut adalah contohnya.

```
EXAMPLEHjkI8iehvCUCWTIAbNYkOgO/t0YNw+7rrQE=
```

Nilai checksum menjadi nilai `EventDataChecksum` dalam `PutAuditEvents` permintaan Anda. Jika checksum tidak cocok dengan checksum untuk acara yang disediakan, CloudTrail tolak acara dengan kesalahan`InvalidChecksum`.