Há mais exemplos de AWS SDK disponíveis no repositório AWS Doc SDK Examples
As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
CloudTrail exemplos usando AWS CLI
Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando o AWS Command Line Interface with CloudTrail.
Ações são trechos de código de programas maiores e devem ser executadas em contexto. Embora as ações mostrem como chamar perfis de serviço individuais, você pode ver as ações no contexto em seus cenários relacionados.
Cada exemplo inclui um link para o código-fonte completo, em que você pode encontrar instruções sobre como configurar e executar o código.
Tópicos
Ações
O código de exemplo a seguir mostra como usar add-tags.
- AWS CLI
- 
             
                    Para adicionar tags à trilha O comando add-tagsa seguir adiciona tags àTrail1:aws cloudtrail add-tags --resource-idarn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1--tags-listKey=name,Value=AliceKey=location,Value=us- 
                    Para obter detalhes da API, consulte AddTags em Referência de AWS CLI Comandos. 
 
- 
                    
O código de exemplo a seguir mostra como usar create-subscription.
- AWS CLI
- 
             
                    Para criar e configurar AWS recursos para uma trilha O comando create-subscriptiona seguir cria um bucket do S3 e um tópico do SNS paraTrail1.aws cloudtrail create-subscription \ --nameTrail1\ --s3-new-bucketamzn-s3-demo-bucket\ --sns-new-topicmy-topicSaída: 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- 
                    Para obter detalhes da API, consulte CreateSubscription em Referência de AWS CLI Comandos. 
 
- 
                    
O código de exemplo a seguir mostra como usar create-trail.
- AWS CLI
- 
             
                    Para criar uma trilha O comando create-traila seguir cria uma trilha multirregional chamadaTrail1e especifica um bucket do S3.aws cloudtrail create-trail \ --nameTrail1\ --s3-bucket-nameamzn-s3-demo-bucket\ --is-multi-region-trailSaída: { "IncludeGlobalServiceEvents": true, "Name": "Trail1", "TrailARN": "arn:aws:cloudtrail:us-west-2:123456789012:trail/Trail1", "LogFileValidationEnabled": false, "IsMultiRegionTrail": true, "S3BucketName": "amzn-s3-demo-bucket" }- 
                    Para obter detalhes da API, consulte CreateTrail em Referência de AWS CLI Comandos. 
 
- 
                    
O código de exemplo a seguir mostra como usar delete-trail.
- AWS CLI
- 
             
                    Como para excluir uma trilha O comando delete-traila seguir cria uma trilha chamadaTrail1:aws cloudtrail delete-trail --nameTrail1- 
                    Para obter detalhes da API, consulte DeleteTrail em Referência de AWS CLI Comandos. 
 
- 
                    
O código de exemplo a seguir mostra como usar describe-trails.
- AWS CLI
- 
             
                    Para descrever uma trilha O exemplo de describe-trailsa seguir retorna as configurações deTrail1eTrail2.aws cloudtrail describe-trails \ --trail-name-listTrail1Trail2Saída: { "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" } ] }- 
                    Para obter detalhes da API, consulte DescribeTrails em Referência de AWS CLI Comandos. 
 
- 
                    
O código de exemplo a seguir mostra como usar get-event-selectors.
- AWS CLI
- 
             
                    Como visualizar as configurações do seletor de eventos de uma trilha O comando get-event-selectorsa seguir retorna as configurações daTrail1:aws cloudtrail get-event-selectors --trail-nameTrail1Saída: { "EventSelectors": [ { "IncludeManagementEvents": true, "DataResources": [], "ReadWriteType": "All" } ], "TrailARN": "arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1" }- 
                    Para obter detalhes da API, consulte GetEventSelectors em Referência de AWS CLI Comandos. 
 
- 
                    
O código de exemplo a seguir mostra como usar get-trail-status.
- AWS CLI
- 
             
                    Para obter o status de uma trilha O comando get-trail-statusa seguir retorna os detalhes de entrega e registro em log daTrail1:aws cloudtrail get-trail-status --nameTrail1Saída: { "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" }- 
                    Para obter detalhes da API, consulte GetTrailStatus em Referência de AWS CLI Comandos. 
 
- 
                    
O código de exemplo a seguir mostra como usar list-public-keys.
- AWS CLI
- 
             
                    Para listar todas as chaves públicas de uma trilha O comando list-public-keysa seguir retorna todas as chaves públicas cujas chaves privadas foram usadas para assinar os arquivos de resumo dentro do período especificado:aws cloudtrail list-public-keys --start-time2016-01-01T20:30:00.000ZSaída: { "PublicKeyList": [ { "ValidityStartTime": 1453076702.0, "ValidityEndTime": 1455668702.0, "Value": "MIIBCgKCAQEAlSS3cl92HDycr/MTj0moOhas8habjrraXw+KzlWF0axSI2tcF+3iJ9BKQAVSKxGwxwu3m0wG3J+kUl1xboEcEPHYoIYMbgfSw7KGnuDKwkLzsQWhUJ0cIbOHASox1vv/5fNXkrHhGbDCHeVXm804c83nvHUEFYThr1PfyP/8HwrCtR3FX5OANtQCP61C1nJtSSkC8JSQUOrIP4CuwJjc+4WGDk+BGH5m9iuiAKkipEHWmUl8/P7XpfpWQuk4h8g3pXZOrNXr08lbh4d39svj7UqdhvOXoBISp9t/EXYuePGEtBdrKD9Dz+VHwyUPtBQvYr9BnkF88qBnaPNhS44rzwIDAQAB", "Fingerprint": "7f3f401420072e50a65a141430817ab3" } ] }- 
                    Para obter detalhes da API, consulte ListPublicKeys em Referência de AWS CLI Comandos. 
 
- 
                    
O código de exemplo a seguir mostra como usar list-tags.
- AWS CLI
- 
             
                    Para listar as tags de uma trilha O comando list-tagsa seguir lista as tags deTrail1eTrail2:aws cloudtrail list-tags --resource-id-listarn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail2Saída: { "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" } ] } ] }- 
                    Para obter detalhes da API, consulte ListTags em Referência de AWS CLI Comandos. 
 
- 
                    
O código de exemplo a seguir mostra como usar lookup-events.
- AWS CLI
- 
             
                    Como pesquisar eventos em uma trilha O comando lookup-eventsa seguir pesquisa eventos de atividade da API pelo atributoEventName:aws cloudtrail lookup-events --lookup-attributesAttributeKey=EventName,AttributeValue=ConsoleLoginSaída: { "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": [] } ] }- 
                    Para obter detalhes da API, consulte LookupEvents em Referência de AWS CLI Comandos. 
 
- 
                    
O código de exemplo a seguir mostra como usar put-event-selectors.
- AWS CLI
- 
             
                    Exemplo 1: configurar uma trilha para fazer o log de eventos de gerenciamento e eventos de dados usando seletores de eventos avançados Você pode adicionar seletores de eventos avançados e condições para seus seletores de eventos avançados, até um máximo de 500 valores para todas as condições e seletores em uma trilha. É possível usar seletores de eventos avançados para fazer o log de todos os tipos de eventos de dados. Você pode usar seletores de eventos avançados ou seletores de eventos básicos, mas não ambos. Se você aplicar seletores de eventos avançados a uma trilha, todos os seletores de eventos básicos existentes serão substituídos. O put-event-selectorsexemplo a seguir cria um seletor de eventos avançado para uma trilha chamadamyTrailpara registrar todos os eventos de gerenciamento, registrar chamadas de S3 PutObject e DeleteObject API para todos, exceto um bucket do S3, registrar chamadas de API de dados para uma função Lambda chamada e registrar chamadas de API de publicação em um tópico do SNS chamadomyFunction.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"] }]}]'Saída: { "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" ] } ] } ] }Para obter mais informações, consulte Registrar eventos usando seletores de eventos avançados no Guia do AWS CloudTrail usuário. Exemplo 2: configurar seletores de eventos para uma trilha para fazer o log de todos os eventos de gerenciamento e eventos de dados Você pode configurar até 5 seletores de eventos para uma trilha e até 250 recursos de dados para uma trilha. Os seletores de eventos também são chamados de seletores de eventos básicos. Você pode usar seletores de eventos para fazer o log de eventos de gerenciamento e eventos de dados para objetos do S3, funções do Lambda e tabelas do DynnamoDB. Para fazer o log de eventos de dados em outros tipos de recursos, use seletores de eventos avançados. O put-event-selectorsexemplo a seguir cria um seletor de eventos para uma trilha nomeadaTrailNamepara incluir todos os eventos de gerenciamento, eventos de dados para duas combinações do Amazon bucket/prefix S3 e eventos de dados para uma única função AWS Lambda chamada.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"]}]}]'Saída: { "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" }Para obter mais informações, consulte Registrar eventos usando seletores de eventos básicos no Guia do AWS CloudTrail usuário. Exemplo 3: configurar seletores de eventos para uma trilha para fazer o log de eventos de gerenciamento, todos os eventos de dados do S3 em objetos do S3 e todos os eventos de dados do Lambda em funções em sua conta O put-event-selectorsexemplo a seguir cria um seletor de eventos para uma trilha chamadaTrailName2que inclui todos os eventos de gerenciamento e todos os eventos de dados para todos os buckets do Amazon S3 AWS e funções Lambda na conta. 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"]}]}]'Saída: { "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" }Para obter mais informações, consulte Registrar eventos usando seletores de eventos básicos no Guia do AWS CloudTrail usuário. - 
                    Para obter detalhes da API, consulte PutEventSelectors em Referência de AWS CLI Comandos. 
 
- 
                    
O código de exemplo a seguir mostra como usar remove-tags.
- AWS CLI
- 
             
                    Para remover etiquetas de uma trilha O comando remove-tagsa seguir marca as tags especificadas daTrail1:aws cloudtrail remove-tags --resource-idarn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1--tags-listKey=nameKey=location- 
                    Para obter detalhes da API, consulte RemoveTags em Referência de AWS CLI Comandos. 
 
- 
                    
O código de exemplo a seguir mostra como usar start-logging.
- AWS CLI
- 
             
                    Para iniciar o registro de uma trilha O comando start-logginga seguir ativa o registro em log daTrail1:aws cloudtrail start-logging --nameTrail1- 
                    Para obter detalhes da API, consulte StartLogging em Referência de AWS CLI Comandos. 
 
- 
                    
O código de exemplo a seguir mostra como usar stop-logging.
- AWS CLI
- 
             
                    Como parar de registrar uma trilha O comando stop-logginga seguir desativa o registro em log daTrail1:aws cloudtrail stop-logging --nameTrail1- 
                    Para obter detalhes da API, consulte StopLogging em Referência de AWS CLI Comandos. 
 
- 
                    
O código de exemplo a seguir mostra como usar update-subscription.
- AWS CLI
- 
             
                    Para atualizar as configurações de uma trilha O exemplo de update-subscriptiona seguir atualiza a trilha para especificar um novo bucket do S3 e um tópico do SNS.aws cloudtrail update-subscription \ --nameTrail1\ --s3-new-bucketamzn-s3-demo-bucket\ --sns-new-topicmy-topic-newSaída: 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" } }- 
                    Para obter detalhes da API, consulte UpdateSubscription em Referência de AWS CLI Comandos. 
 
- 
                    
O código de exemplo a seguir mostra como usar update-trail.
- AWS CLI
- 
             
                    Para atualizar uma trilha O exemplo de update-traila seguir atualiza uma trilha para usar um bucket existente para entrega de logs.aws cloudtrail update-trail \ --nameTrail1\ --s3-bucket-nameamzn-s3-demo-bucketSaída: { "IncludeGlobalServiceEvents": true, "Name": "Trail1", "TrailARN": "arn:aws:cloudtrail:us-west-2:123456789012:trail/Trail1", "LogFileValidationEnabled": false, "IsMultiRegionTrail": true, "S3BucketName": "amzn-s3-demo-bucket" }- 
                    Para obter detalhes da API, consulte UpdateTrail em Referência de AWS CLI Comandos. 
 
- 
                    
O código de exemplo a seguir mostra como usar validate-logs.
- AWS CLI
- 
             
                    Para validar um arquivo de log O comando validate-logsa seguir valida os logs daTrail1:aws cloudtrail validate-logs --trail-arnarn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1--start-time20160129T19:00:00ZSaída: 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- 
                    Para obter detalhes da API, consulte ValidateLogs em Referência de AWS CLI Comandos. 
 
-