Usar CreateTrail com o AWS SDK ou a CLI - Exemplos de código do AWS SDK

Há mais exemplos do AWS SDK disponíveis no repositório do GitHub Documento de Exemplos do AWS SDK.

Usar CreateTrail com o AWS SDK ou a CLI

Os exemplos de código a seguir mostram como usar o CreateTrail.

C++
SDK para C++
nota

Há mais no GitHub. Encontre o exemplo completo e veja como configurar e executar no AWS Code Examples Repository.

// Routine which creates an AWS CloudTrail trail. /*! \param trailName: The name of the CloudTrail trail. \param bucketName: The Amazon S3 bucket designate for publishing logs. \param clientConfig: Aws client configuration. \return bool: Function succeeded. */ bool AwsDoc::CloudTrail::createTrail(const Aws::String trailName, const Aws::String bucketName, const Aws::Client::ClientConfiguration &clientConfig) { Aws::CloudTrail::CloudTrailClient trailClient(clientConfig); Aws::CloudTrail::Model::CreateTrailRequest request; request.SetName(trailName); request.SetS3BucketName(bucketName); Aws::CloudTrail::Model::CreateTrailOutcome outcome = trailClient.CreateTrail( request); if (outcome.IsSuccess()) { std::cout << "Successfully created trail " << trailName << std::endl; } else { std::cerr << "Failed to create trail " << trailName << ": " << outcome.GetError().GetMessage() << std::endl; } return outcome.IsSuccess(); }
  • Consulte detalhes da API em CreateTrail na Referência de API do AWS SDK para C++.

CLI
AWS CLI

Para criar uma trilha

O comando create-trail a seguir cria uma trilha multirregional chamada Trail1 e especifica um bucket do S3.

aws cloudtrail create-trail \ --name Trail1 \ --s3-bucket-name amzn-s3-demo-bucket \ --is-multi-region-trail

Saí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 ver detalhes da API, consulte CreateTrail na Referência de comandos da AWS CLI.

PowerShell
Ferramentas para PowerShell V4

Exemplo 1: cria uma trilha que usará o bucket “amzn-s3-demo-bucket” para armazenamento de arquivos de log.

New-CTTrail -Name "awscloudtrail-example" -S3BucketName "amzn-s3-demo-bucket"

Exemplo 2: cria uma trilha que usará o bucket “amzn-s3-demo-bucket” para armazenamento de arquivos de log. Os objetos do S3 que representam os logs terão um prefixo de chave comum de “mylogs”. Quando novos registros forem entregues ao bucket, uma notificação será enviada para o tópico do SNS “mlog-deliverytopic”. Este exemplo usa o nivelamento para fornecer os valores dos parâmetros ao cmdlet.

$params = @{ Name="awscloudtrail-example" S3BucketName="amzn-s3-demo-bucket" S3KeyPrefix="mylogs" SnsTopicName="mlog-deliverytopic" } New-CTTrail @params
  • Consulte detalhes da API em CreateTrail na Referência de cmdlet do Ferramentas da AWS para PowerShell (V4).

Ferramentas para PowerShell V5

Exemplo 1: cria uma trilha que usará o bucket “amzn-s3-demo-bucket” para armazenamento de arquivos de log.

New-CTTrail -Name "awscloudtrail-example" -S3BucketName "amzn-s3-demo-bucket"

Exemplo 2: cria uma trilha que usará o bucket “amzn-s3-demo-bucket” para armazenamento de arquivos de log. Os objetos do S3 que representam os logs terão um prefixo de chave comum de “mylogs”. Quando novos registros forem entregues ao bucket, uma notificação será enviada para o tópico do SNS “mlog-deliverytopic”. Este exemplo usa o nivelamento para fornecer os valores dos parâmetros ao cmdlet.

$params = @{ Name="awscloudtrail-example" S3BucketName="amzn-s3-demo-bucket" S3KeyPrefix="mylogs" SnsTopicName="mlog-deliverytopic" } New-CTTrail @params
  • Consulte detalhes da API em CreateTrail na Referência de cmdlet do Ferramentas da AWS para PowerShell (V5).

Ruby
SDK para Ruby
nota

Há mais no GitHub. Encontre o exemplo completo e veja como configurar e executar no AWS Code Examples Repository.

require 'aws-sdk-cloudtrail' # v2: require 'aws-sdk' require 'aws-sdk-s3' require 'aws-sdk-sts' def create_trail_example(s3_client, sts_client, cloudtrail_client, trail_name, bucket_name) resp = sts_client.get_caller_identity({}) account_id = resp.account # Attach policy to an Amazon Simple Storage Service (S3) bucket. s3_client.create_bucket(bucket: bucket_name) begin policy = { 'Version' => '2012-10-17', 'Statement' => [ { 'Sid' => 'AWSCloudTrailAclCheck20150319', 'Effect' => 'Allow', 'Principal' => { 'Service' => 'cloudtrail.amazonaws.com' }, 'Action' => 's3:GetBucketAcl', 'Resource' => "arn:aws:s3:::#{bucket_name}" }, { 'Sid' => 'AWSCloudTrailWrite20150319', 'Effect' => 'Allow', 'Principal' => { 'Service' => 'cloudtrail.amazonaws.com' }, 'Action' => 's3:PutObject', 'Resource' => "arn:aws:s3:::#{bucket_name}/AWSLogs/#{account_id}/*", 'Condition' => { 'StringEquals' => { 's3:x-amz-acl' => 'bucket-owner-full-control' } } } ] }.to_json s3_client.put_bucket_policy( bucket: bucket_name, policy: policy ) puts "Successfully added policy to bucket #{bucket_name}" end begin cloudtrail_client.create_trail({ name: trail_name, # required s3_bucket_name: bucket_name # required }) puts "Successfully created trail: #{trail_name}." rescue StandardError => e puts "Got error trying to create trail #{trail_name}:\n #{e}" puts e exit 1 end
  • Consulte detalhes da API em CreateTrail na Referência de API do AWS SDK para Ruby.