Ada lebih banyak AWS SDK contoh yang tersedia di GitHub repo SDKContoh AWS Dokumen
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 mengimplementasikan skenario umum dengan menggunakan AWS Command Line Interface with CloudTrail.
Tindakan adalah 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.
Topik
Tindakan
Contoh kode berikut menunjukkan cara menggunakanadd-tags
.
- AWS CLI
-
Untuk menambahkan tag ke jejak
add-tags
Perintah berikut menambahkan tag untukTrail1
:aws cloudtrail add-tags --resource-id
arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1
--tags-listKey=name,Value=Alice
Key=location,Value=us
-
Untuk API detailnya, lihat AddTags
di Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakancreate-subscription
.
- AWS CLI
-
Untuk membuat dan mengonfigurasi AWS sumber daya untuk jejak
create-subscription
Perintah berikut membuat bucket dan SNS topik S3 baru untukTrail1
:aws cloudtrail create-subscription --name
Trail1
--s3-new-bucketmy-bucket
--sns-new-topicmy-topic
Output:
Setting up new S3 bucket my-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": "my-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
-
Untuk API detailnya, lihat CreateSubscription
di Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakancreate-trail
.
- AWS CLI
-
Untuk membuat jejak
create-trail
Perintah berikut membuat jejak multi-wilayah bernamaTrail1
dan menentukan bucket S3:aws cloudtrail create-trail --name
Trail1
--s3-bucket-namemy-bucket
--is-multi-region-trailOutput:
{ "IncludeGlobalServiceEvents": true, "Name": "Trail1", "TrailARN": "arn:aws:cloudtrail:us-west-2:123456789012:trail/Trail1", "LogFileValidationEnabled": false, "IsMultiRegionTrail": true, "S3BucketName": "my-bucket" }
-
Untuk API detailnya, lihat CreateTrail
di Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakandelete-trail
.
- AWS CLI
-
Untuk menghapus jejak
delete-trail
Perintah berikut menghapus jejak bernamaTrail1
:aws cloudtrail delete-trail --name
Trail1
-
Untuk API detailnya, lihat DeleteTrail
di Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakandescribe-trails
.
- AWS CLI
-
Untuk menggambarkan jejak
describe-trails
Perintah berikut mengembalikan pengaturan untukTrail1
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": "my-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": "my-bucket", "KmsKeyId": "arn:aws:kms:us-east-1:123456789012:key/4c5ae5ac-3c13-421e-8335-c7868ef6a769", "HomeRegion": "us-east-1" } ] }
-
Untuk API detailnya, lihat DescribeTrails
di Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanget-event-selectors
.
- AWS CLI
-
Untuk melihat setelan pemilih acara untuk jejak
get-event-selectors
Perintah 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" }
-
Untuk API detailnya, lihat GetEventSelectors
di Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanget-trail-status
.
- AWS CLI
-
Untuk mendapatkan status jejak
get-trail-status
Perintah 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" }
-
Untuk API detailnya, lihat GetTrailStatus
di Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanlist-public-keys
.
- AWS CLI
-
Untuk membuat daftar semua kunci publik untuk jejak
list-public-keys
Perintah berikut mengembalikan semua kunci publik yang kunci pribadinya digunakan untuk menandatangani file intisari 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" } ] }
-
Untuk API detailnya, lihat ListPublicKeys
di Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanlist-tags
.
- AWS CLI
-
Untuk membuat daftar tag untuk jejak
list-tags
Perintah berikut mencantumkan tag untukTrail1
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 API detailnya, lihat ListTags
di Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanlookup-events
.
- AWS CLI
-
Untuk mencari acara untuk jejak
lookup-events
Perintah berikut mencari peristiwa API aktivitas 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 API detailnya, lihat LookupEvents
di Referensi AWS CLI 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 acara lanjutan
Anda dapat menambahkan pemilih acara lanjutan, dan kondisi untuk pemilih acara lanjutan Anda, hingga maksimum 500 nilai untuk semua kondisi dan penyeleksi di jalur. Anda dapat menggunakan pemilih acara lanjutan untuk mencatat semua jenis peristiwa data yang tersedia. Anda dapat menggunakan penyeleksi acara lanjutan atau pemilih acara dasar, tetapi tidak keduanya. Jika Anda menerapkan penyeleksi acara lanjutan ke jejak, pemilih acara dasar apa pun yang ada akan ditimpa.
Contoh berikut membuat pemilih peristiwa lanjutan untuk jejak bernama
myTrail
untuk mencatat semua peristiwa manajemen, log S3 PutObject dan DeleteObject API panggilan untuk semua kecuali satu bucket S3, API panggilan data log untuk fungsi Lambda bernamamyFunction
, dan log Publish API panggilan pada topik bernama. SNSmyTopic
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:::sample_bucket_name/"] }]},{"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:::sample_bucket_name/" ] } ] }, { "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 menggunakan pemilih peristiwa lanjutan di Panduan AWS CloudTrail Pengguna.
Contoh 2: Konfigurasikan penyeleksi acara untuk jejak untuk mencatat semua peristiwa manajemen dan peristiwa data
Anda dapat mengonfigurasi hingga 5 penyeleksi acara untuk jejak dan hingga 250 sumber daya data untuk jejak. Penyeleksi 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 lainnya, Anda harus menggunakan pemilih acara lanjutan.
Contoh berikut membuat pemilih peristiwa untuk jejak bernama untuk menyertakan semua peristiwa manajemen, peristiwa data
TrailName
untuk dua kombinasi bucket/awalan Amazon S3, dan peristiwa data untuk satu fungsi Lambda bernama. AWShello-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:::mybucket/prefix","arn:aws:s3:::mybucket2/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:::mybucket/prefix", "arn:aws:s3:::mybucket2/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 menggunakan pemilih acara dasar di Panduan AWS CloudTrail Pengguna.
Contoh 3: Konfigurasikan penyeleksi peristiwa untuk jejak untuk mencatat peristiwa manajemen, semua peristiwa data S3 pada objek S3, dan semua peristiwa data Lambda pada fungsi di akun Anda
Contoh berikut membuat pemilih peristiwa untuk jejak bernama
TrailName2
yang mencakup semua peristiwa manajemen, dan semua peristiwa data untuk semua bucket Amazon S3 AWS dan fungsi Lambda di akun. AWSaws 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 menggunakan pemilih acara dasar di Panduan AWS CloudTrail Pengguna.
-
Untuk API detailnya, lihat PutEventSelectors
di Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanremove-tags
.
- AWS CLI
-
Untuk menghapus tag untuk jejak
remove-tags
Perintah berikut menghapus tag yang ditentukan untukTrail1
:aws cloudtrail remove-tags --resource-id
arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1
--tags-listKey=name
Key=location
-
Untuk API detailnya, lihat RemoveTags
di Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanstart-logging
.
- AWS CLI
-
Untuk memulai pencatatan untuk jalan setapak
start-logging
Perintah berikut mengaktifkan logging untukTrail1
:aws cloudtrail start-logging --name
Trail1
-
Untuk API detailnya, lihat StartLogging
di Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanstop-logging
.
- AWS CLI
-
Untuk berhenti mencatat jejak
stop-logging
Perintah berikut mematikan logging untukTrail1
:aws cloudtrail stop-logging --name
Trail1
-
Untuk API detailnya, lihat StopLogging
di Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanupdate-subscription
.
- AWS CLI
-
Untuk memperbarui pengaturan konfigurasi untuk jejak
update-subscription
Perintah berikut memperbarui jejak untuk menentukan bucket dan SNS topik S3 baru:aws cloudtrail update-subscription --name
Trail1
--s3-new-bucketmy-bucket-new
--sns-new-topicmy-topic-new
Output:
Setting up new S3 bucket my-bucket-new... 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": "my-bucket-new", "SnsTopicName": "my-topic-new", "HomeRegion": "us-east-1" } ], "ResponseMetadata": { "HTTPStatusCode": 200, "RequestId": "31126f8a-c616-11e5-9cc6-2fd637936879" } }
-
Untuk API detailnya, lihat UpdateSubscription
di Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanupdate-trail
.
- AWS CLI
-
Untuk memperbarui jejak
update-trail
Perintah berikut memperbarui jejak untuk menggunakan bucket yang ada untuk pengiriman log:aws cloudtrail update-trail --name
Trail1
--s3-bucket-namemy-bucket
Output:
{ "IncludeGlobalServiceEvents": true, "Name": "Trail1", "TrailARN": "arn:aws:cloudtrail:us-west-2:123456789012:trail/Trail1", "LogFileValidationEnabled": false, "IsMultiRegionTrail": true, "S3BucketName": "my-bucket" }
-
Untuk API detailnya, lihat UpdateTrail
di Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanvalidate-logs
.
- AWS CLI
-
Untuk memvalidasi file log
validate-logs
Perintah berikut memvalidasi log untukTrail1
:aws cloudtrail validate-logs --trail-arn
arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1
--start-time20160129T19: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 API detailnya, lihat ValidateLogs
di Referensi AWS CLI Perintah.
-