Sono disponibili altri esempi di AWS SDK 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 di utilizzo AWS CLI
I seguenti esempi di codice mostrano come eseguire azioni e implementare scenari comuni utilizzando AWS Command Line Interface with CloudTrail.
Le azioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le azioni mostrino come richiamare le singole funzioni del servizio, è possibile visualizzarle contestualizzate negli scenari correlati.
Ogni esempio include un link al codice sorgente completo, in cui vengono fornite le istruzioni su come configurare ed eseguire il codice nel contesto.
Argomenti
Azioni
L’esempio di codice seguente mostra come utilizzare add-tags.
- AWS CLI
-
Come aggiungere tag al trail
Il comando
add-tagsseguente aggiunge tag perTrail1:aws cloudtrail add-tags --resource-idarn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1--tags-listKey=name,Value=AliceKey=location,Value=us-
Per i dettagli sull'API, vedi AddTags
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare create-subscription.
- AWS CLI
-
Per creare e configurare AWS le risorse per un percorso
Il comando
create-subscriptionseguente crea un nuovo bucket S3 e un argomento SNS perTrail1.aws 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-
Per i dettagli sull'API, vedi CreateSubscription
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare create-trail.
- AWS CLI
-
Come creare un trail
L’esempio
create-trailseguente crea un trail multi-Regione denominatoTrail1e specifica un 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" }-
Per i dettagli sull'API, vedi CreateTrail
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare delete-trail.
- AWS CLI
-
Come eliminare un trail
Il comando
delete-trailseguente elimina un trail denominatoTrail1.aws cloudtrail delete-trail --nameTrail1-
Per i dettagli sull'API, vedi DeleteTrail
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare describe-trails.
- AWS CLI
-
Come descrivere un trail
L’esempio
describe-trailsseguente restituisce le impostazioni perTrail1eTrail2.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" } ] }-
Per i dettagli sull'API, vedi DescribeTrails
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare get-event-selectors.
- AWS CLI
-
Come visualizzare le impostazioni del selettore di eventi per un trail
Il seguente
get-event-selectorscomando restituisce le impostazioni perTrail1:aws cloudtrail get-event-selectors --trail-nameTrail1Output:
{ "EventSelectors": [ { "IncludeManagementEvents": true, "DataResources": [], "ReadWriteType": "All" } ], "TrailARN": "arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1" }-
Per i dettagli sull'API, vedi in Command Reference. GetEventSelectors
AWS CLI
-
L’esempio di codice seguente mostra come utilizzare get-trail-status.
- AWS CLI
-
Come ottenere lo stato di un trail
Il comando
get-trail-statusseguente restituisce i dettagli di distribuzione e registrazione perTrail1.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" }-
Per i dettagli sull'API, vedi GetTrailStatus
in Command Reference. AWS CLI
-
L’esempio di codice seguente mostra come utilizzare list-public-keys.
- AWS CLI
-
Come elencare tutte le chiavi pubbliche di un trail
Il comando
list-public-keysseguente restituisce tutte le chiavi pubbliche le cui chiavi private sono state utilizzate per firmare i file digest compresi nell’intervallo di tempo specificato: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" } ] }-
Per i dettagli sull'API, vedi ListPublicKeys
in Command Reference. AWS CLI
-
L’esempio di codice seguente mostra come utilizzare list-tags.
- AWS CLI
-
Come elencare i tag di un trail
Il comando
list-tagsseguente elenca i tag perTrail1eTrail2: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" } ] } ] }-
Per i dettagli sull'API, vedi ListTags
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare lookup-events.
- AWS CLI
-
Come cercare gli eventi relativi a un percorso
Il comando
lookup-eventsseguente cerca gli eventi delle attività dell’API in base all’attributoEventName: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": [] } ] }-
Per i dettagli sull'API, vedi LookupEvents
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare put-event-selectors.
- AWS CLI
-
Esempio 1: configura un trail per registrare eventi di gestione ed eventi di dati utilizzando i 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 trail. È possibile utilizzare selettori di eventi avanzati per registrare tutti i tipi di eventi 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'
put-event-selectorsesempio seguente crea un selettore di eventi avanzato per un percorso denominato per registrare tutti gli eventi di gestione,myTrailregistrare le chiamate S3 PutObject e DeleteObject API per tutti i bucket S3 tranne uno, registrare le chiamate API dei dati per una funzione Lambda denominata e registrare le chiamate API Publish su un argomento SNS denominatomyFunction.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" ] } ] } ] }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 trail 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 eventi di gestione ed eventi di dati per oggetti S3, funzioni DynamoDB e funzioni Lambda. Per registrare eventi di dati per altri tipi di risorsa, è necessario utilizzare selettori di eventi avanzati.
L'
put-event-selectorsesempio seguente crea un selettore di eventi per un percorso denominato inTrailNamemodo da includere tutti gli eventi di gestione, gli eventi di dati per due bucket/prefix combinazioni di Amazon S3 e gli eventi di dati per una singola funzione AWS Lambda denominata.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" }Per ulteriori informazioni, consulta Registra gli eventi utilizzando i 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'
put-event-selectorsesempio seguente crea un selettore di eventi per un percorso denominatoTrailName2che include tutti gli eventi di gestione e tutti gli eventi di dati per tutti i bucket Amazon S3 e le funzioni AWS Lambda nell'account. 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" }Per ulteriori informazioni, consulta Registra gli eventi utilizzando i selettori di eventi di base nella Guida per l'utente. AWS CloudTrail
-
Per i dettagli sull'API, consulta la sezione PutEventSelectors
AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare remove-tags.
- AWS CLI
-
Come rimuovere i tag per un trail
Il comando
remove-tagsseguente rimuove i tag specificati perTrail1:aws cloudtrail remove-tags --resource-idarn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1--tags-listKey=nameKey=location-
Per i dettagli sull'API, vedi RemoveTags
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare start-logging.
- AWS CLI
-
Come avviare la registrazione per un trail
Il comando
start-loggingseguente attiva la registrazione dei log perTrail1:aws cloudtrail start-logging --nameTrail1-
Per i dettagli sull'API, vedi StartLogging
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare stop-logging.
- AWS CLI
-
Come arrestare la registrazione di un trail
Il comando
stop-loggingseguente disattiva la registrazione dei log perTrail1:aws cloudtrail stop-logging --nameTrail1-
Per i dettagli sull'API, vedi StopLogging
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare update-subscription.
- AWS CLI
-
Come aggiornare le impostazioni di configurazione per un trail
L’esempio
update-subscriptionseguente aggiorna il trail in modo che venga specificato un nuovo bucket S3 e un argomento 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" } }-
Per i dettagli sull'API, vedi UpdateSubscription
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare update-trail.
- AWS CLI
-
Come aggiornare un trail
L’esempio
update-trailseguente aggiorna un trail in modo che venga utilizzato un bucket esistente per la distribuzione dei 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" }-
Per i dettagli sull'API, vedi UpdateTrail
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare validate-logs.
- AWS CLI
-
Come convalidare un file di log
Il seguente
validate-logscomando convalida i log perTrail1: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-
Per i dettagli sull'API, vedi ValidateLogs
in AWS CLI Command Reference.
-