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:
-
create-event-data-store
untuk membuat penyimpanan data acara untuk acara di luar AWS. -
delete-channel
untuk menghapus saluran yang digunakan untuk integrasi. -
delete-resource-policy
untuk menghapus kebijakan sumber daya yang dilampirkan ke saluran untuk integrasi CloudTrail Lake. -
get-channel
untuk mengembalikan informasi tentang CloudTrail saluran. -
get-resource-policy
untuk mengambil teks JSON dari dokumen kebijakan berbasis sumber daya yang dilampirkan ke saluran. CloudTrail -
list-channels
untuk membuat daftar saluran di akun saat ini, dan nama sumbernya. -
put-audit-events
untuk menelan acara aplikasi Anda ke CloudTrail Danau. Parameter yang diperlukanauditEvents
,, menerima catatan JSON (juga disebut payload) dari peristiwa yang ingin CloudTrail Anda konsumsi. Anda dapat menambahkan hingga 100 acara ini (atau hingga 1 MB) perPutAuditEvents
permintaan. -
put-resource-policy
untuk melampirkan kebijakan izin berbasis sumber daya ke CloudTrail saluran yang digunakan untuk integrasi dengan sumber peristiwa di luar. AWSUntuk informasi selengkapnya tentang kebijakan berbasis sumber daya, lihat AWS CloudTrail contoh kebijakan berbasis sumber daya. -
update-channel
untuk memperbarui saluran yang ditentukan oleh saluran ARN atau UUID yang diperlukan.
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.
-
Jalankan create-event-data-store
untuk 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. -
Jalankan create-channel
perintah 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 adalah
EVENT_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 dalamLocation
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, tentukanCustom
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
perintahput-resource-policy
dan di langkah selanjutnya. -
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.
-
-
Jalankan
PutAuditEvents
API 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 bahwaPutAuditEvents
API menggunakan titik akhircloudtrail-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-events
menyertakan ID yang diperlukan dari acara, muatan acara yang diperlukan sebagai nilaiEventData
, dan checksum opsional untuk membantu memvalidasi integritas acara setelah masuk ke dalam. CloudTrailaws 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-channel
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