Ci sono altri AWS SDK esempi disponibili nel repository AWS Doc SDK Examples
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
CloudTrail esempi che utilizzano AWS CLI
I seguenti esempi di codice mostrano come eseguire azioni e implementare scenari comuni utilizzando AWS Command Line Interface with CloudTrail.
Le operazioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Mentre le azioni mostrano come richiamare le singole funzioni di servizio, è possibile visualizzare le azioni nel loro contesto negli scenari correlati.
Ogni esempio include un collegamento al codice sorgente completo, in cui è possibile trovare istruzioni su come configurare ed eseguire il codice nel contesto.
Argomenti
Azioni
Il seguente esempio di codice mostra come utilizzareadd-tags
.
- AWS CLI
-
Per aggiungere tag al percorso
Il
add-tags
comando seguente aggiunge tag perTrail1
:aws cloudtrail add-tags --resource-id
arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1
--tags-listKey=name,Value=Alice
Key=location,Value=us
-
Per API i dettagli, vedere AddTags
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzarecreate-subscription
.
- AWS CLI
-
Per creare e configurare AWS risorse per un percorso
Il
create-subscription
comando seguente crea un nuovo bucket S3 e un nuovo SNS argomento per:Trail1
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
-
Per API i dettagli, consulta AWS CLI Command CreateSubscription
Reference.
-
Il seguente esempio di codice mostra come utilizzarecreate-trail
.
- AWS CLI
-
Per creare un percorso
Il
create-trail
comando seguente crea un percorso multiregionale denominatoTrail1
e specifica un 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" }
-
Per i API dettagli, consulta CreateTrail
Command Reference.AWS CLI
-
Il seguente esempio di codice mostra come utilizzaredelete-trail
.
- AWS CLI
-
Per eliminare una traccia
Il
delete-trail
comando seguente elimina una traccia denominataTrail1
:aws cloudtrail delete-trail --name
Trail1
-
Per API i dettagli, vedere DeleteTrail
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzaredescribe-trails
.
- AWS CLI
-
Per descrivere un percorso
Il
describe-trails
comando seguente restituisce le impostazioni perTrail1
eTrail2
: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" } ] }
-
Per API i dettagli, vedere DescribeTrails
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzareget-event-selectors
.
- AWS CLI
-
Per visualizzare le impostazioni del selettore di eventi per un percorso
Il
get-event-selectors
comando seguente restituisce le impostazioni perTrail1
: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" }
-
Per API i dettagli, vedere GetEventSelectors
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzareget-trail-status
.
- AWS CLI
-
Per ottenere lo stato di un percorso
Il
get-trail-status
comando seguente restituisce i dettagli di consegna e registrazione perTrail1
: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" }
-
Per API i dettagli, vedere GetTrailStatus
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzarelist-public-keys
.
- AWS CLI
-
Per elencare tutte le chiavi pubbliche di un percorso
Il
list-public-keys
comando seguente restituisce tutte le chiavi pubbliche le cui chiavi private sono state utilizzate per firmare i file digest entro l'intervallo di tempo specificato: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" } ] }
-
Per API i dettagli, vedere ListPublicKeys
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzarelist-tags
.
- AWS CLI
-
Per elencare i tag di un percorso
Il
list-tags
comando seguente elenca i tag perTrail1
eTrail2
: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" } ] } ] }
-
Per API i dettagli, vedere ListTags
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzarelookup-events
.
- AWS CLI
-
Per cercare gli eventi di un percorso
Il
lookup-events
comando seguente cerca gli eventi di API attività in base all'attributoEventName
: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": [] } ] }
-
Per API i dettagli, vedere LookupEvents
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzareput-event-selectors
.
- AWS CLI
-
Esempio 1: configura un percorso per registrare gli eventi di gestione e gli eventi relativi ai dati utilizzando selettori di eventi avanzati
È possibile aggiungere selettori di eventi avanzati e condizioni per i selettori di eventi avanzati, fino a un massimo di 500 valori per tutte le condizioni e i selettori su un percorso. È possibile utilizzare selettori di eventi avanzati per registrare tutti i tipi di eventi di dati disponibili. È possibile utilizzare selettori di eventi avanzati o selettori di eventi di base, ma non entrambi. Se si applicano selettori di eventi avanzati a un percorso, tutti i selettori di eventi di base esistenti vengono sovrascritti.
L'esempio seguente crea un selettore di eventi avanzato per un percorso denominato
myTrail
per registrare tutti gli eventi di gestione, registrare S3 PutObject e le DeleteObject API chiamate per tutti i bucket S3 tranne uno, registrare le chiamate dati API per una funzione Lambda denominata e registrare le chiamate Publish API su un argomento denominatomyFunction
. 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" ] } ] } ] }
Per ulteriori informazioni, consulta Registrare gli eventi utilizzando selettori di eventi avanzati nella Guida per l'utente.AWS CloudTrail
Esempio 2: configura i selettori di eventi per un percorso per registrare tutti gli eventi di gestione e gli eventi relativi ai dati
Per un trail puoi configurare fino a 5 selettori di eventi e un massimo di 250 risorse di dati. I selettori di eventi vengono anche chiamati selettori di eventi di base. Puoi utilizzare i selettori di eventi per registrare gli eventi di gestione e gli eventi di dati per oggetti S3, funzioni Lambda e tabelle DynnamoDB. Per registrare gli eventi relativi ai dati per altri tipi di risorse, è necessario utilizzare selettori di eventi avanzati.
L'esempio seguente crea un selettore di eventi per un percorso denominato
TrailName
per includere tutti gli eventi di gestione, gli eventi di dati per due combinazioni di bucket/prefisso Amazon S3 e gli eventi di dati per una singola funzione Lambda denominata. 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" }
Per ulteriori informazioni, consulta Registrare gli eventi utilizzando selettori di eventi di base nella Guida per l'utente.AWS CloudTrail
Esempio 3: configura i selettori di eventi per un trail per registrare gli eventi di gestione, tutti gli eventi dei dati S3 sugli oggetti S3 e tutti gli eventi dei dati Lambda sulle funzioni del tuo account
L'esempio seguente crea un selettore di eventi per un percorso denominato
TrailName2
che include tutti gli eventi di gestione e tutti gli eventi di dati per tutti i bucket Amazon S3 AWS e le funzioni Lambda nell'account. 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" }
Per ulteriori informazioni, consulta Registrare gli eventi utilizzando selettori di eventi di base nella Guida per l'utente.AWS CloudTrail
-
Per API i dettagli, vedere PutEventSelectors
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzareremove-tags
.
- AWS CLI
-
Per rimuovere i tag da un percorso
Il
remove-tags
comando seguente rimuove i tag specificati perTrail1
:aws cloudtrail remove-tags --resource-id
arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1
--tags-listKey=name
Key=location
-
Per API i dettagli, vedere RemoveTags
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzarestart-logging
.
- AWS CLI
-
Per iniziare a registrare un percorso
Il
start-logging
comando seguente attiva la registrazione per:Trail1
aws cloudtrail start-logging --name
Trail1
-
Per API i dettagli, vedere StartLogging
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzarestop-logging
.
- AWS CLI
-
Per interrompere la registrazione di un percorso
Il
stop-logging
comando seguente disattiva la registrazione per:Trail1
aws cloudtrail stop-logging --name
Trail1
-
Per API i dettagli, vedere StopLogging
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzareupdate-subscription
.
- AWS CLI
-
Per aggiornare le impostazioni di configurazione per un trail
Il
update-subscription
comando seguente aggiorna il percorso per specificare un nuovo bucket S3 e SNS un nuovo argomento: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" } }
-
Per API i dettagli, consulta AWS CLI Command UpdateSubscription
Reference.
-
Il seguente esempio di codice mostra come utilizzareupdate-trail
.
- AWS CLI
-
Per aggiornare una traccia
Il
update-trail
comando seguente aggiorna un trail per utilizzare un bucket esistente per la consegna dei 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" }
-
Per API i dettagli, vedere UpdateTrail
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzarevalidate-logs
.
- AWS CLI
-
Per convalidare un file di registro
Il
validate-logs
comando seguente convalida i log per:Trail1
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
-
Per API i dettagli, vedere ValidateLogs
in AWS CLI Command Reference.
-