Ada lebih banyak contoh AWS SDK yang tersedia di repo Contoh SDK AWS Doc
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 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.
Topik
Tindakan
Contoh kode berikut menunjukkan cara menggunakanadd-tags.
- AWS CLI
-
Untuk menambahkan tag ke jejak
add-tagsPerintah berikut menambahkan tag untukTrail1:aws cloudtrail add-tags --resource-idarn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1--tags-listKey=name,Value=AliceKey=location,Value=us-
Untuk detail API, 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-subscriptionPerintah berikut membuat bucket S3 baru dan topik SNS untuk.Trail1aws cloudtrail create-subscription \ --nameTrail1\ --s3-new-bucketamzn-s3-demo-bucket\ --sns-new-topicmy-topicOutput:
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-
Untuk detail API, lihat CreateSubscription
di Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakancreate-trail.
- AWS CLI
-
Untuk membuat jejak
create-trailContoh berikut membuat jejak multi-wilayah bernamaTrail1dan menentukan bucket S3.aws cloudtrail create-trail \ --nameTrail1\ --s3-bucket-nameamzn-s3-demo-bucket\ --is-multi-region-trailOutput:
{ "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 Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakandelete-trail.
- AWS CLI
-
Untuk menghapus jejak
delete-trailPerintah berikut menghapus jejak bernamaTrail1:aws cloudtrail delete-trail --nameTrail1-
Untuk detail API, lihat DeleteTrail
di Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakandescribe-trails.
- AWS CLI
-
Untuk menggambarkan jejak
describe-trailsContoh berikut mengembalikan pengaturan untukTrail1danTrail2.aws cloudtrail describe-trails \ --trail-name-listTrail1Trail2Output:
{ "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" } ] }-
Untuk detail API, 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-selectorsPerintah berikut mengembalikan pengaturan untukTrail1:aws cloudtrail get-event-selectors --trail-nameTrail1Output:
{ "EventSelectors": [ { "IncludeManagementEvents": true, "DataResources": [], "ReadWriteType": "All" } ], "TrailARN": "arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1" }-
Untuk detail API, lihat GetEventSelectors
di Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanget-trail-status.
- AWS CLI
-
Untuk mendapatkan status jejak
get-trail-statusPerintah berikut mengembalikan detail pengiriman dan pencatatan untukTrail1:aws cloudtrail get-trail-status --nameTrail1Output:
{ "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 detail API, 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-keysPerintah berikut mengembalikan semua kunci publik yang kunci pribadinya digunakan untuk menandatangani file intisari dalam rentang waktu yang ditentukan:aws cloudtrail list-public-keys --start-time2016-01-01T20:30:00.000ZOutput:
{ "PublicKeyList": [ { "ValidityStartTime": 1453076702.0, "ValidityEndTime": 1455668702.0, "Value": "MIIBCgKCAQEAlSS3cl92HDycr/MTj0moOhas8habjrraXw+KzlWF0axSI2tcF+3iJ9BKQAVSKxGwxwu3m0wG3J+kUl1xboEcEPHYoIYMbgfSw7KGnuDKwkLzsQWhUJ0cIbOHASox1vv/5fNXkrHhGbDCHeVXm804c83nvHUEFYThr1PfyP/8HwrCtR3FX5OANtQCP61C1nJtSSkC8JSQUOrIP4CuwJjc+4WGDk+BGH5m9iuiAKkipEHWmUl8/P7XpfpWQuk4h8g3pXZOrNXr08lbh4d39svj7UqdhvOXoBISp9t/EXYuePGEtBdrKD9Dz+VHwyUPtBQvYr9BnkF88qBnaPNhS44rzwIDAQAB", "Fingerprint": "7f3f401420072e50a65a141430817ab3" } ] }-
Untuk detail API, lihat ListPublicKeys
di Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanlist-tags.
- AWS CLI
-
Untuk membuat daftar tag untuk jejak
list-tagsPerintah berikut mencantumkan tag untukTrail1danTrail2:aws cloudtrail list-tags --resource-id-listarn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail2Output:
{ "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 Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanlookup-events.
- AWS CLI
-
Untuk mencari acara untuk jejak
lookup-eventsPerintah berikut mencari peristiwa aktivitas API berdasarkan atributEventName:aws cloudtrail lookup-events --lookup-attributesAttributeKey=EventName,AttributeValue=ConsoleLoginOutput:
{ "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 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 pemilih 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.
put-event-selectorsContoh berikut membuat pemilih peristiwa lanjutan untuk jejak bernamamyTrailuntuk 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 Publish API panggilan pada topik SNS bernama.myTopicaws cloudtrail put-event-selectors \ --trail-namemyTrail\ --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 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.
put-event-selectorsContoh berikut membuat pemilih peristiwa untuk jejak bernamaTrailNameuntuk menyertakan semua peristiwa manajemen, peristiwa data untuk dua kombinasi Amazon bucket/prefix S3, dan peristiwa data untuk satu fungsi AWS Lambda bernama.hello-world-python-functionaws cloudtrail put-event-selectors \ --trail-nameTrailName\ --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 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
put-event-selectorsContoh berikut membuat pemilih peristiwa untuk jejak bernamaTrailName2yang 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-nameTrailName2\ --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 detail API, lihat PutEventSelectors
di Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanremove-tags.
- AWS CLI
-
Untuk menghapus tag untuk jejak
remove-tagsPerintah berikut menghapus tag yang ditentukan untukTrail1:aws cloudtrail remove-tags --resource-idarn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1--tags-listKey=nameKey=location-
Untuk detail API, lihat RemoveTags
di Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanstart-logging.
- AWS CLI
-
Untuk memulai pencatatan untuk jalan setapak
start-loggingPerintah berikut mengaktifkan logging untukTrail1:aws cloudtrail start-logging --nameTrail1-
Untuk detail API, lihat StartLogging
di Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanstop-logging.
- AWS CLI
-
Untuk berhenti mencatat jejak
stop-loggingPerintah berikut mematikan logging untukTrail1:aws cloudtrail stop-logging --nameTrail1-
Untuk detail API, lihat StopLogging
di Referensi AWS CLI 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 \ --nameTrail1\ --s3-new-bucketamzn-s3-demo-bucket\ --sns-new-topicmy-topic-newOutput:
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" } }-
Untuk detail API, lihat UpdateSubscription
di Referensi AWS CLI Perintah.
-
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 \ --nameTrail1\ --s3-bucket-nameamzn-s3-demo-bucketOutput:
{ "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 Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanvalidate-logs.
- AWS CLI
-
Untuk memvalidasi file log
validate-logsPerintah berikut memvalidasi log untukTrail1:aws cloudtrail validate-logs --trail-arnarn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1--start-time20160129T19:00:00ZOutput:
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 Referensi AWS CLI Perintah.
-