Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memvalidasi integritas file CloudTrail log dengan AWS CLI
Untuk memvalidasi log dengan AWS Command Line Interface, gunakan CloudTrail validate-logs
perintah. Perintah menggunakan file intisari yang dikirimkan ke bucket Amazon S3 Anda untuk melakukan validasi. Untuk informasi tentang file digest, lihatCloudTrail struktur file digest.
AWS CLI Ini memungkinkan Anda mendeteksi jenis perubahan berikut:
-
Modifikasi atau penghapusan file log CloudTrail
-
Modifikasi atau penghapusan file digest CloudTrail
-
Modifikasi atau penghapusan kedua hal di atas
catatan
AWS CLI Memvalidasi hanya file log yang direferensikan oleh file digest. Untuk informasi selengkapnya, lihat Memeriksa apakah file tertentu telah dikirimkan oleh CloudTrail.
Prasyarat
Untuk memvalidasi integritas file log dengan AWS CLI, kondisi berikut harus dipenuhi:
-
Anda harus memiliki konektivitas online untuk AWS.
-
Anda harus memiliki akses baca ke bucket Amazon S3 yang berisi file intisari dan log.
-
File intisari dan log tidak boleh dipindahkan dari lokasi Amazon S3 asli CloudTrail tempat mengirimkannya.
catatan
File log yang telah diunduh ke disk lokal tidak dapat divalidasi dengan file. AWS CLI Untuk panduan tentang membuat alat Anda sendiri untuk validasi, lihatImplementasi kustom validasi integritas file CloudTrail log.
validasi-log
Sintaks
Berikut ini adalah sintaks untukvalidate-logs
. Parameter opsional ditampilkan dalam tanda kurung.
aws cloudtrail validate-logs --trail-arn <trailARN> --start-time <start-time> [--end-time <end-time>] [--s3-bucket <amzn-s3-demo-bucket>] [--s3-prefix <prefix>] [--account-id <account-id>] [--verbose]
catatan
validate-logs
Perintahnya spesifik Wilayah. Anda harus menentukan opsi --region
global untuk memvalidasi log untuk spesifik Wilayah AWS.
Opsi
Berikut ini adalah opsi baris perintah untuk. validate-logs
--start-time
Pilihan --trail-arn
dan diperlukan. --account-id
Opsi ini juga diperlukan untuk jalur organisasi.
--start-time
-
Menentukan bahwa file log dikirim pada atau setelah nilai UTC timestamp tertentu akan divalidasi. Contoh:
2015-01-08T05:21:42Z
.
--end-time
-
Secara opsional menentukan bahwa file log yang dikirimkan pada atau sebelum nilai UTC stempel waktu yang ditentukan akan divalidasi. Nilai defaultnya adalah current UTC time (
Date.now()
). Contoh:2015-01-08T12:31:41Z
.catatan
Untuk rentang waktu yang ditentukan,
validate-logs
perintah hanya memeriksa file log yang direferensikan dalam file intisari yang sesuai. Tidak ada file log lain di bucket Amazon S3 yang dicentang. Untuk informasi selengkapnya, lihat Memeriksa apakah file tertentu telah dikirimkan oleh CloudTrail.
--s3-bucket
-
Secara opsional menentukan bucket Amazon S3 tempat file digest disimpan. Jika nama bucket tidak ditentukan, AWS CLI maka akan mengambilnya dengan menelepon
DescribeTrails()
.
--s3-prefix
-
Secara opsional menentukan awalan Amazon S3 tempat file intisari disimpan. Jika tidak ditentukan, AWS CLI akan mengambilnya dengan menelepon
DescribeTrails()
.catatan
Anda harus menggunakan opsi ini hanya jika awalan Anda saat ini berbeda dari awalan yang digunakan selama rentang waktu yang Anda tentukan.
--account-id
-
Secara opsional menentukan akun untuk memvalidasi log. Parameter ini diperlukan untuk jejak organisasi untuk memvalidasi log untuk akun tertentu di dalam organisasi.
--trail-arn
-
Menentukan Amazon Resource Name (ARN) dari jejak yang akan divalidasi. Format jejak ARN mengikuti.
arn:aws:cloudtrail:us-east-2:111111111111:trail/MyTrailName
catatan
Untuk mendapatkan jejak jejakARN, Anda dapat menggunakan
describe-trails
perintah sebelum berlarivalidate-logs
.Anda mungkin ingin menentukan nama bucket dan awalan selain jejak ARN jika file log telah dikirim ke lebih dari satu bucket dalam rentang waktu yang Anda tentukan, dan Anda ingin membatasi validasi ke file log hanya di salah satu bucket.
--verbose
-
Secara opsional mengeluarkan informasi validasi untuk setiap file log atau digest dalam rentang waktu yang ditentukan. Output menunjukkan apakah file tetap tidak berubah atau telah dimodifikasi atau dihapus. Dalam mode non-verbose (default), informasi dikembalikan hanya untuk kasus-kasus di mana ada kegagalan validasi.
Contoh
Contoh berikut memvalidasi file log dari waktu mulai yang ditentukan hingga saat ini, menggunakan bucket Amazon S3 yang dikonfigurasi untuk jejak saat ini dan menentukan keluaran verbose.
aws cloudtrail validate-logs --start-time 2015-08-27T00:00:00Z --end-time 2015-08-28T00:00:00Z --trail-arn arn:aws:cloudtrail:us-east-2:111111111111:trail/my-trail-name --verbose
Cara kerja validate-logs
validate-logs
Perintah dimulai dengan memvalidasi file intisari terbaru dalam rentang waktu yang ditentukan. Pertama, ini memverifikasi bahwa file intisari telah diunduh dari lokasi yang diklaimnya. Dengan kata lain, jika CLI unduhan mencerna file df1
dari lokasi S3p1
, validate-logs akan memverifikasi itu. p1 == df1.digestS3Bucket + '/' + df1.digestS3Object
Jika tanda tangan file intisari valid, ia memeriksa nilai hash dari masing-masing log yang direferensikan dalam file intisari. Perintah kemudian kembali ke masa lalu, memvalidasi file intisari sebelumnya dan file log yang direferensikan secara berurutan. Ini berlanjut sampai nilai yang ditentukan untuk start-time
tercapai, atau sampai rantai digest berakhir. Jika file intisari hilang atau tidak valid, rentang waktu yang tidak dapat divalidasi ditunjukkan dalam output.
Hasil validasi
Hasil validasi dimulai dengan header ringkasan dalam format berikut:
Validating log files for trail
trail_ARN
betweentime_stamp
andtime_stamp
Setiap baris output utama berisi hasil validasi untuk satu intisari atau file log dalam format berikut:
<Digest file | Log file> <
S3 path
> <Validation Message
>
Tabel berikut menjelaskan kemungkinan pesan validasi untuk file log dan digest.
Jenis berkas | Pesan Validasi | Deskripsi |
---|---|---|
Digest file |
valid |
Tanda tangan file digest valid. File log yang direferensikannya dapat diperiksa. Pesan ini hanya disertakan dalam mode verbose. |
Digest file |
INVALID: has been moved from its original location |
Bucket S3 atau objek S3 tempat file digest diambil tidak cocok dengan bucket S3 atau lokasi objek S3 yang direkam dalam file digest itu sendiri. |
Digest file |
INVALID: invalid format |
Format file digest tidak valid. File log yang sesuai dengan rentang waktu yang diwakili oleh file intisari tidak dapat divalidasi. |
Digest file |
INVALID: not found |
File digest tidak ditemukan. File log yang sesuai dengan rentang waktu yang diwakili oleh file intisari tidak dapat divalidasi. |
Digest file |
INVALID: public key not found for fingerprint fingerprint |
Kunci publik yang sesuai dengan sidik jari yang direkam dalam file intisari tidak ditemukan. File digest tidak dapat divalidasi. |
Digest file |
INVALID: signature verification failed |
Tanda tangan file digest tidak valid. Karena file digest tidak valid, file log yang direferensikannya tidak dapat divalidasi, dan tidak ada pernyataan yang dapat dibuat tentang aktivitas di API dalamnya. |
Digest file |
INVALID: Unable to load PKCS #1 key with fingerprint
fingerprint |
Karena kunci publik yang DER dikodekan dalam format PKCS #1 yang memiliki sidik jari yang ditentukan tidak dapat dimuat, file intisari tidak dapat divalidasi. |
Log file |
valid |
File log telah divalidasi dan belum dimodifikasi sejak saat pengiriman. Pesan ini hanya disertakan dalam mode verbose. |
Log file |
INVALID: hash value doesn't match |
Hash untuk file log tidak cocok. File log telah dimodifikasi setelah pengiriman oleh CloudTrail. |
Log file |
INVALID: invalid format |
Format file log tidak valid. File log tidak dapat divalidasi. |
Log file |
INVALID: not found |
File log tidak ditemukan dan tidak dapat divalidasi. |
Output mencakup informasi ringkasan tentang hasil yang dikembalikan.
Contoh output
Bertele-tele
Contoh validate-logs
perintah berikut menggunakan --verbose
bendera dan menghasilkan output sampel yang mengikuti. [...]
menunjukkan output sampel telah disingkat.
aws cloudtrail validate-logs --trail-arn arn:aws:cloudtrail:us-east-2:111111111111:trail/example-trail-name --start-time 2015-08-31T22:00:00Z --end-time 2015-09-01T19:17:29Z --verbose
Validating log files for trail arn:aws:cloudtrail:us-east-2:111111111111:trail/example-trail-name between 2015-08-31T22:00:00Z and 2015-09-01T19:17:29Z Digest file s3://amzn-s3-demo-bucket/AWSLogs/111111111111/CloudTrail-Digest/us-east-2/2015/09/01/111111111111_CloudTrail-Digest_us-east-2_example-trail-name_us-east-2_20150901T201728Z.json.gz valid Log file s3://amzn-s3-demo-bucket/AWSLogs/111111111111/CloudTrail/us-east-2/2015/09/01/111111111111_CloudTrail_us-east-2_20150901T1925Z_WZZw1RymnjCRjxXc.json.gz valid Log file s3://amzn-s3-demo-bucket/AWSLogs/111111111111/CloudTrail/us-east-2/2015/09/01/111111111111_CloudTrail_us-east-2_20150901T1915Z_POuvV87nu6pfAV2W.json.gz valid Log file s3://amzn-s3-demo-bucket/AWSLogs/111111111111/CloudTrail/us-east-2/2015/09/01/111111111111_CloudTrail_us-east-2_20150901T1930Z_l2QgXhAKVm1QXiIA.json.gz valid Log file s3://amzn-s3-demo-bucket/AWSLogs/111111111111/CloudTrail/us-east-2/2015/09/01/111111111111_CloudTrail_us-east-2_20150901T1920Z_eQJteBBrfpBCqOqw.json.gz valid Log file s3://amzn-s3-demo-bucket/AWSLogs/111111111111/CloudTrail/us-east-2/2015/09/01/111111111111_CloudTrail_us-east-2_20150901T1950Z_9g5A6qlR2B5KaRdq.json.gz valid Log file s3://amzn-s3-demo-bucket/AWSLogs/111111111111/CloudTrail/us-east-2/2015/09/01/111111111111_CloudTrail_us-east-2_20150901T1920Z_i4DNCC12BuXd6Ru7.json.gz valid Log file s3://amzn-s3-demo-bucket/AWSLogs/111111111111/CloudTrail/us-east-2/2015/09/01/111111111111_CloudTrail_us-east-2_20150901T1915Z_Sg5caf2RH6Jdx0EJ.json.gz valid Digest file s3://amzn-s3-demo-bucket/AWSLogs/111111111111/CloudTrail-Digest/us-east-2/2015/09/01/111111111111_CloudTrail-Digest_us-east-2_example-trail-name_us-east-2_20150901T191728Z.json.gz valid Log file s3://amzn-s3-demo-bucket/AWSLogs/111111111111/CloudTrail/us-east-2/2015/09/01/111111111111_CloudTrail_us-east-2_20150901T1910Z_YYSFiuFQk4nrtnEW.json.gz valid [...] Log file s3://amzn-s3-demo-bucket/AWSLogs/144218288521/CloudTrail/us-east-2/2015/09/01/144218288521_CloudTrail_us-east-2_20150901T1055Z_0Sfy6m9f6iBzmoPF.json.gz valid Log file s3://amzn-s3-demo-bucket/AWSLogs/144218288521/CloudTrail/us-east-2/2015/09/01/144218288521_CloudTrail_us-east-2_20150901T1040Z_lLa3QzVLpOed7igR.json.gz valid Digest file s3://amzn-s3-demo-bucket/AWSLogs/144218288521/CloudTrail-Digest/us-east-2/2015/09/01/144218288521_CloudTrail-Digest_us-east-2_example-trail-name_us-east-2_20150901T101728Z.json.gz INVALID: signature verification failed Digest file s3://amzn-s3-demo-bucketAWSLogs/144218288521/CloudTrail-Digest/us-east-2/2015/09/01/144218288521_CloudTrail-Digest_us-east-2_example-trail-name_us-east-2_20150901T091728Z.json.gz valid Log file s3://amzn-s3-demo-bucket/AWSLogs/144218288521/CloudTrail/us-east-2/2015/09/01/144218288521_CloudTrail_us-east-2_20150901T0830Z_eaFvO3dwHo4NCqqc.json.gz valid Digest file s3://amzn-s3-demo-bucket/AWSLogs/144218288521/CloudTrail-Digest/us-east-2/2015/09/01/144218288521_CloudTrail-Digest_us-east-2_example-trail-name_us-east-2_20150901T081728Z.json.gz valid Digest file s3://amzn-s3-demo-bucket/AWSLogs/144218288521/CloudTrail-Digest/us-east-2/2015/09/01/144218288521_CloudTrail-Digest_us-east-2_example-trail-name_us-east-2_20150901T071728Z.json.gz valid [...] Log file s3://amzn-s3-demo-bucket/AWSLogs/111111111111/CloudTrail/us-east-2/2015/08/31/111111111111_CloudTrail_us-east-2_20150831T2245Z_mbJkEO5kNcDnVhGh.json.gz valid Log file s3://amzn-s3-demo-bucket/AWSLogs/111111111111/CloudTrail/us-east-2/2015/08/31/111111111111_CloudTrail_us-east-2_20150831T2225Z_IQ6kXy8sKU03RSPr.json.gz valid Log file s3://amzn-s3-demo-bucket/AWSLogs/111111111111/CloudTrail/us-east-2/2015/08/31/111111111111_CloudTrail_us-east-2_20150831T2230Z_eRPVRTxHQ5498ROA.json.gz valid Log file s3://amzn-s3-demo-bucket/AWSLogs/111111111111/CloudTrail/us-east-2/2015/08/31/111111111111_CloudTrail_us-east-2_20150831T2255Z_IlWawYZGvTWB5vYN.json.gz valid Digest file s3://amzn-s3-demo-bucket/AWSLogs/111111111111/CloudTrail-Digest/us-east-2/2015/08/31/111111111111_CloudTrail-Digest_us-east-2_example-trail-name_us-east-2_20150831T221728Z.json.gz valid Results requested for 2015-08-31T22:00:00Z to 2015-09-01T19:17:29Z Results found for 2015-08-31T22:17:28Z to 2015-09-01T20:17:28Z: 22/23 digest files valid, 1/23 digest files INVALID 63/63 log files valid
Tidak bertele-tele
Contoh validate-logs
perintah berikut tidak menggunakan --verbose
bendera. Dalam output sampel berikut, satu kesalahan ditemukan. Hanya informasi header, kesalahan, dan ringkasan yang dikembalikan.
aws cloudtrail validate-logs --trail-arn arn:aws:cloudtrail:us-east-2:111111111111:trail/example-trail-name --start-time 2015-08-31T22:00:00Z --end-time 2015-09-01T19:17:29Z
Validating log files for trail arn:aws:cloudtrail:us-east-2:111111111111:trail/example-trail-name between 2015-08-31T22:00:00Z and 2015-09-01T19:17:29Z Digest file s3://amzn-s3-demo-bucket/AWSLogs/144218288521/CloudTrail-Digest/us-east-2/2015/09/01/144218288521_CloudTrail-Digest_us-east-2_example-trail-name_us-east-2_20150901T101728Z.json.gz INVALID: signature verification failed Results requested for 2015-08-31T22:00:00Z to 2015-09-01T19:17:29Z Results found for 2015-08-31T22:17:28Z to 2015-09-01T20:17:28Z: 22/23 digest files valid, 1/23 digest files INVALID 63/63 log files valid
Memeriksa apakah file tertentu telah dikirimkan oleh CloudTrail
Untuk memeriksa apakah file tertentu dalam bucket Anda dikirimkan oleh CloudTrail, jalankan validate-logs
dalam mode verbose untuk periode waktu yang menyertakan file tersebut. Jika file muncul dalam outputvalidate-logs
, maka file dikirim oleh CloudTrail.