Buat, perbarui, dan kelola integrasi CloudTrail Lake dengan AWS CLI - AWS CloudTrail

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

Buat, perbarui, dan kelola integrasi CloudTrail Lake dengan AWS CLI

Anda dapat menggunakan AWS CLI untuk membuat, memperbarui, dan mengelola integrasi CloudTrail Lake Anda. Saat menggunakan AWS CLI, ingatlah bahwa perintah Anda berjalan di Wilayah AWS konfigurasi untuk profil Anda. Jika Anda ingin menjalankan perintah di Wilayah yang berbeda, ubah Wilayah default untuk profil Anda, atau gunakan parameter --region bersama perintah tersebut.

Perintah yang tersedia untuk integrasi CloudTrail Lake

Perintah untuk membuat, memperbarui, dan mengelola integrasi di CloudTrail Lake meliputi:

Untuk daftar perintah yang tersedia untuk penyimpanan data acara CloudTrail Lake, lihatPerintah yang tersedia untuk penyimpanan data acara.

Untuk daftar perintah yang tersedia untuk kueri CloudTrail Lake, lihatPerintah yang tersedia untuk kueri CloudTrail Lake.

Buat integrasi untuk mencatat peristiwa dari luar AWS dengan AWS CLI

Di dalam AWS CLI, Anda membuat integrasi yang mencatat peristiwa dari luar AWS dalam empat perintah (tiga jika Anda sudah memiliki penyimpanan data peristiwa yang memenuhi kriteria). Penyimpanan data peristiwa yang Anda gunakan sebagai tujuan integrasi harus untuk satu Wilayah dan akun tunggal; mereka tidak dapat multi-wilayah, mereka tidak dapat mencatat peristiwa untuk organisasi AWS Organizations, dan mereka hanya dapat menyertakan peristiwa aktivitas. Jenis acara di konsol harus Peristiwa dari integrasi. Di API, eventCategory nilainya harusActivityAuditLog. Untuk informasi selengkapnya tentang integrasi, lihatBuat integrasi dengan sumber acara di luar AWS.

  1. Jalankan create-event-data-storeuntuk membuat penyimpanan data acara, jika Anda belum memiliki satu atau lebih penyimpanan data acara yang dapat Anda gunakan untuk integrasi.

    AWS CLI Perintah contoh berikut membuat penyimpanan data peristiwa yang mencatat peristiwa dari luar AWS. Untuk peristiwa aktivitas, nilai pemilih eventCategory bidang adalahActivityAuditLog. Penyimpanan data acara memiliki periode retensi 90 hari yang ditetapkan. Secara default, penyimpanan data acara mengumpulkan peristiwa dari semua Wilayah, tetapi karena ini mengumpulkan AWS non-peristiwa, atur ke satu Wilayah dengan menambahkan --no-multi-region-enabled opsi. Perlindungan penghentian diaktifkan secara default, dan penyimpanan data acara tidak mengumpulkan peristiwa untuk akun di organisasi.

    aws cloudtrail create-event-data-store \ --name my-event-data-store \ --no-multi-region-enabled \ --retention-period 90 \ --advanced-event-selectors '[ { "Name": "Select all external events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["ActivityAuditLog"] } ] } ]'

    Berikut ini adalah contoh respons.

    { "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLEf852-4e8f-8bd1-bcf6cEXAMPLE", "Name": "my-event-data-store", "AdvancedEventSelectors": [ { "Name": "Select all external events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "ActivityAuditLog" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": false, "BillingMode": "EXTENDABLE_RETENTION_PRICING", "RetentionPeriod": 90, "TerminationProtectionEnabled": true, "CreatedTimestamp": "2023-10-27T10:55:55.384000-04:00", "UpdatedTimestamp": "2023-10-27T10:57:05.549000-04:00" }

    Anda memerlukan ID penyimpanan data peristiwa (akhiran ARN, EXAMPLEf852-4e8f-8bd1-bcf6cEXAMPLE atau contoh respons sebelumnya) untuk melanjutkan ke langkah berikutnya dan membuat saluran Anda.

  2. Jalankan create-channelperintah untuk membuat saluran yang memungkinkan mitra atau aplikasi sumber untuk mengirim acara ke penyimpanan data acara di CloudTrail.

    Saluran memiliki komponen-komponen berikut:

    Sumber

    CloudTrail menggunakan informasi ini untuk menentukan mitra yang mengirimkan data acara atas nama Anda. CloudTrail Sumber diperlukan, dan dapat berupa Custom untuk semua AWS non-acara yang valid, atau nama sumber acara mitra. Maksimal satu saluran diperbolehkan per sumber.

    Untuk informasi tentang Source nilai untuk mitra yang tersedia, lihatInformasi tambahan tentang mitra integrasi.

    Status konsumsi

    Status saluran menunjukkan kapan peristiwa terakhir diterima dari sumber saluran.

    Destinasi

    Tujuannya adalah penyimpanan data acara CloudTrail Danau yang menerima acara dari saluran. Anda dapat mengubah penyimpanan data acara tujuan untuk saluran.

    Untuk berhenti menerima acara dari sumber, hapus saluran.

    Anda memerlukan ID setidaknya satu penyimpanan data acara tujuan untuk menjalankan perintah ini. Jenis tujuan yang valid adalahEVENT_DATA_STORE. Anda dapat mengirim peristiwa yang dicerna ke lebih dari satu penyimpanan data acara. Perintah contoh berikut membuat saluran yang mengirimkan peristiwa ke dua penyimpanan data peristiwa, diwakili oleh ID mereka dalam Location atribut --destinations parameter. Diperlukan --destinations--name,, dan --source parameter. Untuk menelan acara dari CloudTrail pasangan, tentukan nama mitra sebagai nilai. --source Untuk menelan peristiwa dari aplikasi Anda sendiri di luar AWS, tentukan Custom sebagai nilai. --source

    aws cloudtrail create-channel \ --region us-east-1 \ --destinations '[{"Type": "EVENT_DATA_STORE", "Location": "EXAMPLEf852-4e8f-8bd1-bcf6cEXAMPLE"}, {"Type": "EVENT_DATA_STORE", "Location": "EXAMPLEg922-5n2l-3vz1- apqw8EXAMPLE"}]' --name my-partner-channel \ --source $partnerSourceName \

    Dalam menanggapi create-channel perintah Anda, salin ARN dari saluran baru. Anda memerlukan ARN untuk menjalankan put-audit-events perintah put-resource-policy dan di langkah selanjutnya.

  3. Jalankan put-resource-policyperintah untuk melampirkan kebijakan sumber daya ke saluran. Kebijakan sumber daya adalah dokumen kebijakan JSON yang menentukan tindakan apa yang dapat dilakukan oleh prinsipal tertentu pada sumber daya dan dalam kondisi apa. Akun yang didefinisikan sebagai prinsipal dalam kebijakan sumber daya saluran dapat memanggil PutAuditEvents API untuk mengirimkan peristiwa.

    catatan

    Jika Anda tidak membuat kebijakan sumber daya untuk saluran, hanya pemilik saluran yang dapat memanggil PutAuditEvents API di saluran.

    Informasi yang diperlukan untuk kebijakan ditentukan oleh jenis integrasi.

    • Untuk integrasi arah, CloudTrail kebijakan harus berisi ID AWS akun mitra, dan mengharuskan Anda memasukkan ID eksternal unik yang disediakan oleh mitra. CloudTrail secara otomatis menambahkan ID AWS akun mitra ke kebijakan sumber daya saat Anda membuat integrasi menggunakan CloudTrail konsol. Lihat dokumentasi mitra untuk mempelajari cara mendapatkan nomor AWS akun yang diperlukan untuk kebijakan tersebut.

    • Untuk integrasi solusi, Anda harus menentukan setidaknya satu ID AWS akun sebagai prinsipal, dan secara opsional dapat memasukkan ID eksternal untuk mencegah wakil yang bingung.

    Berikut ini adalah persyaratan untuk kebijakan sumber daya:

    • Sumber daya ARN yang didefinisikan dalam kebijakan harus sesuai dengan saluran ARN yang dilampirkan kebijakan tersebut.

    • Kebijakan ini hanya berisi satu tindakan: cloudtrail-data: PutAuditEvents

    • Kebijakan tersebut berisi setidaknya satu pernyataan. Kebijakan tersebut dapat memiliki maksimal 20 pernyataan.

    • Setiap pernyataan berisi setidaknya satu prinsipal. Sebuah pernyataan dapat memiliki maksimal 50 kepala sekolah.

    aws cloudtrail put-resource-policy \ --resource-arn "channelARN" \ --policy "{ "Version": "2012-10-17", "Statement": [ { "Sid": "ChannelPolicy", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::444455556666:root", "arn:aws:iam::123456789012:root" ] }, "Action": "cloudtrail-data:PutAuditEvents", "Resource": "arn:aws:cloudtrail:us-east-1:777788889999:channel/EXAMPLE-80b5-40a7-ae65-6e099392355b", "Condition": { "StringEquals": { "cloudtrail:ExternalId": "UniqueExternalIDFromPartner" } } } ] }"

    Untuk informasi selengkapnya tentang kebijakan sumber daya, lihatAWS CloudTrail contoh kebijakan berbasis sumber daya.

  4. Jalankan PutAuditEventsAPI untuk memasukkan peristiwa aktivitas Anda ke dalam CloudTrail. Anda memerlukan muatan acara yang CloudTrail ingin Anda tambahkan. Pastikan bahwa tidak ada informasi sensitif atau pengenal pribadi dalam muatan acara sebelum menelannya. CloudTrail Perhatikan bahwa PutAuditEvents API menggunakan titik akhir cloudtrail-data CLI, bukan titik akhir. cloudtrail

    Contoh berikut menunjukkan cara menggunakan perintah put-audit-events CLI. Parameter --audit-events dan --channel-arn diperlukan. --external-idParameter diperlukan jika ID eksternal didefinisikan dalam kebijakan sumber daya. Anda memerlukan ARN dari saluran yang Anda buat pada langkah sebelumnya. Nilai dari --audit-events adalah array JSON dari objek acara. --audit-eventsmenyertakan ID yang diperlukan dari acara, muatan acara yang diperlukan sebagai nilaiEventData, dan checksum opsional untuk membantu memvalidasi integritas acara setelah masuk ke dalam. CloudTrail

    aws cloudtrail-data put-audit-events \ --channel-arn $ChannelArn \ --external-id $UniqueExternalIDFromPartner \ --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 \ --channel-arn arn:aws:cloudtrail:us-east-1:123456789012:channel/EXAMPLE8-0558-4f7e-a06a-43969EXAMPLE \ --external-id UniqueExternalIDFromPartner \ --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 --external-id $UniqueExternalIDFromPartner --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\":\"12.34.56.78\",\"recipientAccountId\":\"152089810396\"}", "id": "1" } ] }

Anda dapat memverifikasi bahwa integrasi berfungsi, dan CloudTrail menelan peristiwa dari sumber dengan benar, dengan menjalankan get-channelperintah. Output dari get-channel menunjukkan cap waktu terbaru yang CloudTrail menerima acara.

aws cloudtrail get-channel --channel arn:aws:cloudtrail:us-east-1:01234567890:channel/EXAMPLE8-0558-4f7e-a06a-43969EXAMPLE

(Opsional) Hitung nilai checksum

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 algoritma Base64-SHA256 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.

EXAMPLEDHjkI8iehvCUCWTIAbNYkOgO/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 kesalahanInvalidChecksum.

Perbarui saluran dengan AWS CLI

Untuk memperbarui nama saluran atau penyimpanan data peristiwa tujuan, jalankan update-channel perintah. parameter --channel diperlukan. Anda tidak dapat memperbarui sumber saluran. Berikut adalah contohnya.

aws cloudtrail update-channel \ --channel aws:cloudtrail:us-east-1:123456789012:channel/EXAMPLE8-0558-4f7e-a06a-43969EXAMPLE \ --name "new-channel-name" \ --destinations '[{"Type": "EVENT_DATA_STORE", "Location": "EXAMPLEf852-4e8f-8bd1-bcf6cEXAMPLE"}, {"Type": "EVENT_DATA_STORE", "Location": "EXAMPLEg922-5n2l-3vz1- apqw8EXAMPLE"}]'

Hapus saluran untuk menghapus integrasi dengan AWS CLI

Untuk berhenti menelan mitra atau peristiwa aktivitas lain di luar AWS, hapus saluran dengan menjalankan delete-channel perintah. ARN atau ID saluran (akhiran ARN) dari saluran yang ingin Anda hapus diperlukan. Berikut adalah contohnya.

aws cloudtrail delete-channel \ --channel EXAMPLE8-0558-4f7e-a06a-43969EXAMPLE