Questa documentazione è valida AWS CLI solo per la versione 1. Per la documentazione relativa alla versione 2 di AWS CLI, consulta la Guida per l'utente della versione 2.
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 utilizzando 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
Il seguente esempio di codice mostra come utilizzareadd-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, consulta AddTags 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 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, consulta CreateSubscription AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzarecreate-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, consulta CreateTrail AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzaredelete-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, consulta DeleteTrail AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzaredescribe-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, consulta DescribeTrails AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzareget-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, consulta GetEventSelectors AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzareget-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, consulta GetTrailStatus AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzarelist-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, consulta ListPublicKeys AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzarelist-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, consulta ListTags AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzarelookup-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, consulta LookupEvents AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzareput-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 denominatomyTrailper registrare tutti gli eventi di gestione, registrare le chiamate S3 PutObject e DeleteObject API per tutti i bucket S3 tranne uno, registrare le chiamate API dei dati per una funzione Lambda denominatamyFunctione registrare le chiamate API Publish su un argomento SNS denominato.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 denominatoTrailNameper includere tutti gli eventi di gestione, gli eventi di dati per due combinazioni di Amazon bucket/prefix S3 e gli eventi 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 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'
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 AWS e le funzioni 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 Registrare gli eventi utilizzando selettori di eventi di base nella Guida per l'utente.AWS CloudTrail
-
Per i dettagli sull'API, consulta PutEventSelectors AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzareremove-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, consulta RemoveTags AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzarestart-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, consulta StartLogging AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzarestop-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, consulta StopLogging AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzareupdate-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, consulta UpdateSubscription AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzareupdate-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, consulta UpdateTrail AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzarevalidate-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, consulta ValidateLogs AWS CLI
Command Reference.
-