View a markdown version of this page

CloudTrail contoh menggunakan AWS CLI - AWS Command Line Interface

Dokumentasi ini AWS CLI hanya untuk Versi 1.

Kami mengumumkan akhir dukungan yang akan datang untuk AWS CLI versi 1. Kami menyarankan Anda bermigrasi ke AWS CLI versi 2. Untuk tanggal, detail tambahan, dan informasi tentang cara bermigrasi, lihat pengumuman. Untuk dokumentasi yang terkait dengan Versi 2 AWS CLI, lihat Panduan Pengguna Versi 2.

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

CloudTrail contoh menggunakan AWS CLI

Contoh kode berikut menunjukkan cara melakukan tindakan dan menerapkan skenario umum dengan menggunakan AWS Command Line Interface with CloudTrail.

Tindakan merupakan kutipan kode dari program yang lebih besar dan harus dijalankan dalam konteks. Sementara tindakan menunjukkan cara memanggil fungsi layanan individual, Anda dapat melihat tindakan dalam konteks dalam skenario terkait.

Setiap contoh menyertakan tautan ke kode sumber lengkap, di mana Anda dapat menemukan instruksi tentang cara mengatur dan menjalankan kode dalam konteks.

Tindakan

Contoh kode berikut menunjukkan cara menggunakanadd-tags.

AWS CLI

Untuk menambahkan tag ke jejak

Per add-tags intah berikut menambahkan tag untukTrail1:

aws cloudtrail add-tags --resource-id arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1 --tags-list Key=name,Value=Alice Key=location,Value=us
  • Untuk detail API, lihat AddTags di Refer AWS CLI ensi Perintah.

Contoh kode berikut menunjukkan cara menggunakancreate-subscription.

AWS CLI

Untuk membuat dan mengkonfigurasi AWS sumber daya untuk jejak

Per create-subscription intah berikut membuat bucket S3 baru dan topik SNS untukTrail1.

aws cloudtrail create-subscription \ --name Trail1 \ --s3-new-bucket amzn-s3-demo-bucket \ --sns-new-topic my-topic

Output:

Setting up new S3 bucket amzn-s3-demo-bucket... Setting up new SNS topic my-topic... Creating/updating CloudTrail configuration... CloudTrail configuration: { "trailList": [ { "IncludeGlobalServiceEvents": true, "Name": "Trail1", "TrailARN": "arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1", "LogFileValidationEnabled": false, "IsMultiRegionTrail": false, "S3BucketName": "amzn-s3-demo-bucket", "SnsTopicName": "my-topic", "HomeRegion": "us-east-1" } ], "ResponseMetadata": { "HTTPStatusCode": 200, "RequestId": "f39e51f6-c615-11e5-85bd-d35ca21ee3e2" } } Starting CloudTrail service... Logs will be delivered to my-bucket

Contoh kode berikut menunjukkan cara menggunakancreate-trail.

AWS CLI

Untuk membuat jejak

create-trailContoh berikut membuat jejak multi-wilayah bernama Trail1 dan menentukan bucket S3.

aws cloudtrail create-trail \ --name Trail1 \ --s3-bucket-name amzn-s3-demo-bucket \ --is-multi-region-trail

Output:

{ "IncludeGlobalServiceEvents": true, "Name": "Trail1", "TrailARN": "arn:aws:cloudtrail:us-west-2:123456789012:trail/Trail1", "LogFileValidationEnabled": false, "IsMultiRegionTrail": true, "S3BucketName": "amzn-s3-demo-bucket" }
  • Untuk detail API, lihat CreateTrail di Refer AWS CLI ensi Perintah.

Contoh kode berikut menunjukkan cara menggunakandelete-trail.

AWS CLI

Untuk menghapus jejak

Per delete-trail intah berikut menghapus jejak bernama: Trail1

aws cloudtrail delete-trail --name Trail1
  • Untuk detail API, lihat DeleteTrail di Refer AWS CLI ensi Perintah.

Contoh kode berikut menunjukkan cara menggunakandescribe-trails.

AWS CLI

Untuk menggambarkan jejak

describe-trailsContoh berikut mengembalikan pengaturan untuk Trail1 danTrail2.

aws cloudtrail describe-trails \ --trail-name-list Trail1 Trail2

Output:

{ "trailList": [ { "IncludeGlobalServiceEvents": true, "Name": "Trail1", "TrailARN": "arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1", "LogFileValidationEnabled": false, "IsMultiRegionTrail": false, "S3BucketName": "amzn-s3-demo-bucket", "CloudWatchLogsRoleArn": "arn:aws:iam::123456789012:role/CloudTrail_CloudWatchLogs_Role", "CloudWatchLogsLogGroupArn": "arn:aws:logs:us-east-1:123456789012:log-group:CloudTrail:*", "SnsTopicName": "my-topic", "HomeRegion": "us-east-1" }, { "IncludeGlobalServiceEvents": true, "Name": "Trail2", "S3KeyPrefix": "my-prefix", "TrailARN": "arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail2", "LogFileValidationEnabled": false, "IsMultiRegionTrail": false, "S3BucketName": "amzn-s3-demo-bucket2", "KmsKeyId": "arn:aws:kms:us-east-1:123456789012:key/4c5ae5ac-3c13-421e-8335-c7868ef6a769", "HomeRegion": "us-east-1" } ] }

Contoh kode berikut menunjukkan cara menggunakanget-event-selectors.

AWS CLI

Untuk melihat pengaturan pemilih acara untuk trek

Per get-event-selectors intah berikut mengembalikan pengaturan untukTrail1:

aws cloudtrail get-event-selectors --trail-name Trail1

Output:

{ "EventSelectors": [ { "IncludeManagementEvents": true, "DataResources": [], "ReadWriteType": "All" } ], "TrailARN": "arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1" }

Contoh kode berikut menunjukkan cara menggunakanget-trail-status.

AWS CLI

Untuk mendapatkan status jejak

Per get-trail-status intah berikut mengembalikan detail pengiriman dan pencatatan untukTrail1:

aws cloudtrail get-trail-status --name Trail1

Output:

{ "LatestNotificationTime": 1454022144.869, "LatestNotificationAttemptSucceeded": "2016-01-28T23:02:24Z", "LatestDeliveryAttemptTime": "2016-01-28T23:02:24Z", "LatestDeliveryTime": 1454022144.869, "TimeLoggingStarted": "2015-11-06T18:36:38Z", "LatestDeliveryAttemptSucceeded": "2016-01-28T23:02:24Z", "IsLogging": true, "LatestCloudWatchLogsDeliveryTime": 1454022144.918, "StartLoggingTime": 1446834998.695, "StopLoggingTime": 1446834996.933, "LatestNotificationAttemptTime": "2016-01-28T23:02:24Z", "TimeLoggingStopped": "2015-11-06T18:36:36Z" }

Contoh kode berikut menunjukkan cara menggunakanlist-public-keys.

AWS CLI

Untuk mencantumkan semua kunci publik untuk jejak

Per list-public-keys intah berikut mengembalikan semua kunci publik yang kunci pribadinya digunakan untuk menandatangani file ringkasan dalam rentang waktu yang ditentukan:

aws cloudtrail list-public-keys --start-time 2016-01-01T20:30:00.000Z

Output:

{ "PublicKeyList": [ { "ValidityStartTime": 1453076702.0, "ValidityEndTime": 1455668702.0, "Value": "MIIBCgKCAQEAlSS3cl92HDycr/MTj0moOhas8habjrraXw+KzlWF0axSI2tcF+3iJ9BKQAVSKxGwxwu3m0wG3J+kUl1xboEcEPHYoIYMbgfSw7KGnuDKwkLzsQWhUJ0cIbOHASox1vv/5fNXkrHhGbDCHeVXm804c83nvHUEFYThr1PfyP/8HwrCtR3FX5OANtQCP61C1nJtSSkC8JSQUOrIP4CuwJjc+4WGDk+BGH5m9iuiAKkipEHWmUl8/P7XpfpWQuk4h8g3pXZOrNXr08lbh4d39svj7UqdhvOXoBISp9t/EXYuePGEtBdrKD9Dz+VHwyUPtBQvYr9BnkF88qBnaPNhS44rzwIDAQAB", "Fingerprint": "7f3f401420072e50a65a141430817ab3" } ] }

Contoh kode berikut menunjukkan cara menggunakanlist-tags.

AWS CLI

Untuk membuat daftar tag untuk jejak

Per list-tags intah berikut mencantumkan tag untuk Trail1 danTrail2:

aws cloudtrail list-tags --resource-id-list arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1 arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail2

Output:

{ "ResourceTagList": [ { "ResourceId": "arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1", "TagsList": [ { "Value": "Alice", "Key": "name" }, { "Value": "us", "Key": "location" } ] }, { "ResourceId": "arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail2", "TagsList": [ { "Value": "Bob", "Key": "name" } ] } ] }
  • Untuk detail API, lihat ListTags di Refer AWS CLI ensi Perintah.

Contoh kode berikut menunjukkan cara menggunakanlookup-events.

AWS CLI

Untuk mencari acara untuk sebuah jejak

Per lookup-events intah berikut mencari peristiwa aktivitas API berdasarkan atributEventName:

aws cloudtrail lookup-events --lookup-attributes AttributeKey=EventName,AttributeValue=ConsoleLogin

Output:

{ "Events": [ { "EventId": "654ccbc0-ba0d-486a-9076-dbf7274677a7", "Username": "my-session-name", "EventTime": "2021-11-18T09:41:02-08:00", "CloudTrailEvent": "{\"eventVersion\":\"1.02\",\"userIdentity\":{\"type\":\"AssumedRole\",\"principalId\":\"AROAJIKPFTA72SWU4L7T4:my-session-name\",\"arn\":\"arn:aws:sts::123456789012:assumed-role/my-role/my-session-name\",\"accountId\":\"123456789012\",\"sessionContext\":{\"attributes\":{\"mfaAuthenticated\":\"false\",\"creationDate\":\"2016-01-26T21:42:12Z\"},\"sessionIssuer\":{\"type\":\"Role\",\"principalId\":\"AROAJIKPFTA72SWU4L7T4\",\"arn\":\"arn:aws:iam::123456789012:role/my-role\",\"accountId\":\"123456789012\",\"userName\":\"my-role\"}}},\"eventTime\":\"2016-01-26T21:42:12Z\",\"eventSource\":\"signin.amazonaws.com\",\"eventName\":\"ConsoleLogin\",\"awsRegion\":\"us-east-1\",\"sourceIPAddress\":\"72.21.198.70\",\"userAgent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36\",\"requestParameters\":null,\"responseElements\":{\"ConsoleLogin\":\"Success\"},\"additionalEventData\":{\"MobileVersion\":\"No\",\"MFAUsed\":\"No\"},\"eventID\":\"654ccbc0-ba0d-486a-9076-dbf7274677a7\",\"eventType\":\"AwsConsoleSignIn\",\"recipientAccountId\":\"123456789012\"}", "EventName": "ConsoleLogin", "Resources": [] } ] }
  • Untuk detail API, lihat LookupEvents di Refer AWS CLI ensi Perintah.

Contoh kode berikut menunjukkan cara menggunakanput-event-selectors.

AWS CLI

Contoh 1: Konfigurasikan jejak untuk mencatat peristiwa manajemen dan peristiwa data dengan menggunakan pemilih peristiwa lanjutan

Anda dapat menambahkan pemilih acara lanjutan, dan kondisi untuk pemilih acara lanjutan Anda, hingga maksimum 500 nilai untuk semua kondisi dan pemilih di jalur. Anda dapat menggunakan pemilih acara lanjutan untuk mencatat semua jenis peristiwa data yang tersedia. Anda dapat menggunakan pemilih acara lanjutan atau pemilih acara dasar, tetapi tidak keduanya. Jika Anda menerapkan pemilih acara lanjutan ke trek, semua pemilih peristiwa dasar yang ada akan diganti.

put-event-selectorsContoh berikut membuat pemilih peristiwa lanjutan untuk jejak bernama myTrail untuk mencatat semua peristiwa manajemen, mencatat panggilan S3 PutObject dan DeleteObject API untuk semua kecuali satu bucket S3, panggilan API data log untuk fungsi Lambda bernamamyFunction, dan log panggilan Publish API pada topik SNS bernama. myTopic

aws cloudtrail put-event-selectors \ --trail-name myTrail \ --advanced-event-selectors '[{"Name": "Log all management events", "FieldSelectors": [{ "Field": "eventCategory", "Equals": ["Management"] }] },{"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/"] }]},{"Name": "Log data events for a specific Lambda function","FieldSelectors": [{ "Field": "eventCategory", "Equals": ["Data"] },{ "Field": "resources.type", "Equals": ["AWS::Lambda::Function"] },{ "Field": "resources.ARN", "Equals": ["arn:aws:lambda:us-east-1:123456789012:function:myFunction"] }]},{"Name": "Log all Publish API calls on a specific SNS topic","FieldSelectors": [{ "Field": "eventCategory", "Equals": ["Data"] },{ "Field": "resources.type", "Equals": ["AWS::SNS::Topic"] },{ "Field": "eventName", "Equals": ["Publish"] },{ "Field": "resources.ARN", "Equals": ["arn:aws:sns:us-east-1:123456789012:myTopic.fifo"] }]}]'

Output:

{ "TrailARN": "arn:aws:cloudtrail:us-east-1:123456789012:trail/myTrail", "AdvancedEventSelectors": [ { "Name": "Log all management events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Management" ] } ] }, { "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/" ] } ] }, { "Name": "Log data events for a specific Lambda function", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Data" ] }, { "Field": "resources.type", "Equals": [ "AWS::Lambda::Function" ] }, { "Field": "resources.ARN", "Equals": [ "arn:aws:lambda:us-east-1:123456789012:function:myFunction" ] } ] }, { "Name": "Log all Publish API calls on a specific SNS topic", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Data" ] }, { "Field": "resources.type", "Equals": [ "AWS::SNS::Topic" ] }, { "Field": "eventName", "Equals": [ "Publish" ] }, { "Field": "resources.ARN", "Equals": [ "arn:aws:sns:us-east-1:123456789012:myTopic.fifo" ] } ] } ] }

Untuk informasi selengkapnya, lihat Log peristiwa dengan menggunakan pemilih peristiwa lanj utan di Panduan AWS CloudTrail Pengguna.

Contoh 2: Konfigurasikan pemilih peristiwa untuk jejak untuk mencatat semua peristiwa manajemen dan peristiwa data

Anda dapat mengonfigurasi hingga 5 pemilih acara untuk jejak dan hingga 250 sumber daya data untuk jejak. Pemilih acara juga disebut sebagai pemilih acara dasar. Anda dapat menggunakan pemilih peristiwa untuk mencatat peristiwa manajemen dan peristiwa data untuk objek S3, fungsi Lambda, dan tabel DynnaModb. Untuk mencatat peristiwa data untuk jenis sumber daya lain, Anda harus menggunakan pemilih peristiwa lanjutan.

put-event-selectorsContoh berikut membuat pemilih peristiwa untuk jejak yang diberi nama untuk menyer TrailName takan semua peristiwa manajemen, peristiwa data untuk dua bucket/prefix kombinasi Amazon S3, dan peristiwa data untuk satu fungsi AWS Lambda bernama. hello-world-python-function

aws cloudtrail put-event-selectors \ --trail-name TrailName \ --event-selectors '[{"ReadWriteType": "All","IncludeManagementEvents": true,"DataResources": [{"Type":"AWS::S3::Object", "Values": ["arn:aws:s3:::amzn-s3-demo-bucket/prefix","arn:aws:s3:::amzn-s3-demo-bucket2/prefix2"]},{"Type": "AWS::Lambda::Function","Values": ["arn:aws:lambda:us-west-2:999999999999:function:hello-world-python-function"]}]}]'

Output:

{ "EventSelectors": [ { "IncludeManagementEvents": true, "DataResources": [ { "Values": [ "arn:aws:s3:::amzn-s3-demo-bucket/prefix", "arn:aws:s3:::amzn-s3-demo-bucket2/prefix2" ], "Type": "AWS::S3::Object" }, { "Values": [ "arn:aws:lambda:us-west-2:123456789012:function:hello-world-python-function" ], "Type": "AWS::Lambda::Function" }, ], "ReadWriteType": "All" } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName" }

Untuk informasi selengkapnya, lihat Log peristiwa dengan menggunakan pemilih peristiwa dasar di Panduan AWS CloudTrail Pengguna.

Contoh 3: Konfigurasikan pemilih peristiwa untuk jejak ke peristiwa manajemen log, semua peristiwa data S3 pada objek S3, dan semua peristiwa data Lambda pada fungsi di akun Anda

put-event-selectorsContoh berikut membuat pemilih peristiwa untuk jejak bernama TrailName2 yang mencakup semua peristiwa manajemen, dan semua peristiwa data untuk semua bucket Amazon S3 dan fungsi AWS Lambda di AWS akun.

aws cloudtrail put-event-selectors \ --trail-name TrailName2 \ --event-selectors '[{"ReadWriteType": "All","IncludeManagementEvents": true,"DataResources": [{"Type":"AWS::S3::Object", "Values": ["arn:aws:s3"]},{"Type": "AWS::Lambda::Function","Values": ["arn:aws:lambda"]}]}]'

Output:

{ "EventSelectors": [ { "IncludeManagementEvents": true, "DataResources": [ { "Values": [ "arn:aws:s3" ], "Type": "AWS::S3::Object" }, { "Values": [ "arn:aws:lambda" ], "Type": "AWS::Lambda::Function" }, ], "ReadWriteType": "All" } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName2" }

Untuk informasi selengkapnya, lihat Log peristiwa dengan menggunakan pemilih peristiwa dasar di Panduan AWS CloudTrail Pengguna.

Contoh kode berikut menunjukkan cara menggunakanremove-tags.

AWS CLI

Untuk menghapus tag untuk jejak

Per remove-tags intah berikut menghapus tag yang ditentukan untukTrail1:

aws cloudtrail remove-tags --resource-id arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1 --tags-list Key=name Key=location
  • Untuk detail API, lihat RemoveTags di Refer AWS CLI ensi Perintah.

Contoh kode berikut menunjukkan cara menggunakanstart-logging.

AWS CLI

Untuk mulai mencatat jejak

Per start-logging intah berikut mengaktifkan logging untukTrail1:

aws cloudtrail start-logging --name Trail1
  • Untuk detail API, lihat StartLogging di Refer AWS CLI ensi Perintah.

Contoh kode berikut menunjukkan cara menggunakanstop-logging.

AWS CLI

Untuk menghentikan pencatatan jejak

Per stop-logging intah berikut mematikan logging untukTrail1:

aws cloudtrail stop-logging --name Trail1
  • Untuk detail API, lihat StopLogging di Refer AWS CLI ensi Perintah.

Contoh kode berikut menunjukkan cara menggunakanupdate-subscription.

AWS CLI

Untuk memperbarui pengaturan konfigurasi untuk jejak

update-subscriptionContoh berikut memperbarui jejak untuk menentukan bucket S3 baru dan topik SNS.

aws cloudtrail update-subscription \ --name Trail1 \ --s3-new-bucket amzn-s3-demo-bucket \ --sns-new-topic my-topic-new

Output:

Setting up new S3 bucket amzn-s3-demo-bucket... Setting up new SNS topic my-topic-new... Creating/updating CloudTrail configuration... CloudTrail configuration: { "trailList": [ { "IncludeGlobalServiceEvents": true, "Name": "Trail1", "TrailARN": "arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1", "LogFileValidationEnabled": false, "IsMultiRegionTrail": false, "S3BucketName": "amzn-s3-demo-bucket", "SnsTopicName": "my-topic-new", "HomeRegion": "us-east-1" } ], "ResponseMetadata": { "HTTPStatusCode": 200, "RequestId": "31126f8a-c616-11e5-9cc6-2fd637936879" } }

Contoh kode berikut menunjukkan cara menggunakanupdate-trail.

AWS CLI

Untuk memperbarui jejak

update-trailContoh berikut memperbarui jejak untuk menggunakan bucket yang ada untuk pengiriman log.

aws cloudtrail update-trail \ --name Trail1 \ --s3-bucket-name amzn-s3-demo-bucket

Output:

{ "IncludeGlobalServiceEvents": true, "Name": "Trail1", "TrailARN": "arn:aws:cloudtrail:us-west-2:123456789012:trail/Trail1", "LogFileValidationEnabled": false, "IsMultiRegionTrail": true, "S3BucketName": "amzn-s3-demo-bucket" }
  • Untuk detail API, lihat UpdateTrail di Refer AWS CLI ensi Perintah.

Contoh kode berikut menunjukkan cara menggunakanvalidate-logs.

AWS CLI

Untuk memvalidasi file log

Per validate-logs intah berikut memvalidasi log untuk: Trail1

aws cloudtrail validate-logs --trail-arn arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1 --start-time 20160129T19:00:00Z

Output:

Validating log files for trail arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1 between 2016-01-29T19:00:00Z and 2016-01-29T22:15:43Z Results requested for 2016-01-29T19:00:00Z to 2016-01-29T22:15:43Z Results found for 2016-01-29T19:24:57Z to 2016-01-29T21:24:57Z: 3/3 digest files valid 15/15 log files valid
  • Untuk detail API, lihat ValidateLogs di Refer AWS CLI ensi Perintah.