Sono disponibili altri esempi AWS SDK nel repository AWS Doc SDK
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. Sebbene le operazioni mostrino come richiamare le singole funzioni del servizio, è possibile visualizzarle contestualizzate 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-tagscomando seguente 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, vedere AddTags
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzarecreate-subscription.
- AWS CLI
-
Per creare e configurare AWS le risorse per un percorso
Il
create-subscriptioncomando seguente crea un nuovo bucket S3 e un argomento SNS per.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-
Per i dettagli sull'API, consulta Command CreateSubscription
Reference AWS CLI .
-
Il seguente esempio di codice mostra come utilizzarecreate-trail.
- AWS CLI
-
Per creare un percorso
L'
create-trailesempio seguente crea un percorso multiregionale 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
Command Reference.AWS CLI
-
Il seguente esempio di codice mostra come utilizzaredelete-trail.
- AWS CLI
-
Per eliminare una traccia
Il
delete-trailcomando seguente elimina una traccia denominataTrail1:aws cloudtrail delete-trail --nameTrail1-
Per i dettagli sull'API, vedere DeleteTrail
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzaredescribe-trails.
- AWS CLI
-
Per descrivere un percorso
L'
describe-trailsesempio seguente 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, 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-selectorscomando seguente 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, 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-statuscomando seguente restituisce i dettagli di consegna 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, 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-keyscomando 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-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
-
Per elencare i tag di un percorso
Il
list-tagscomando seguente 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, 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-eventscomando seguente cerca gli eventi di 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, 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'
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 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 relativi ai 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'
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
-
Per rimuovere i tag da un percorso
Il
remove-tagscomando seguente 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, 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-loggingcomando seguente attiva la registrazione per:Trail1aws 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
-
Per interrompere la registrazione di un percorso
Il
stop-loggingcomando seguente disattiva la registrazione per:Trail1aws cloudtrail stop-logging --nameTrail1-
Per i dettagli sull'API, 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
L'
update-subscriptionesempio seguente aggiorna il percorso per specificare 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 Command UpdateSubscription
Reference AWS CLI .
-
Il seguente esempio di codice mostra come utilizzareupdate-trail.
- AWS CLI
-
Per aggiornare una traccia
L'
update-trailesempio seguente aggiorna un trail per utilizzare un bucket esistente per la consegna 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
-
Per convalidare un file di registro
Il
validate-logscomando seguente convalida i log per:Trail1aws 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, vedere ValidateLogs
in AWS CLI Command Reference.
-