D’autres exemples de kits AWS SDK sont disponibles dans le référentiel GitHub AWS Doc SDK Examples
Utilisation de CreateTrail avec un kit AWS SDK ou une interface de ligne de commande
Les exemples de code suivants illustrent comment utiliser CreateTrail.
- C++
-
- kit SDK pour C++
-
Note
Il y en a plus sur GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le référentiel d’exemples de code AWS
. // 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(); }-
Pour plus de détails sur l’API, consultez CreateTrail dans la Référence des API du kit AWS SDK pour C++.
-
- CLI
-
- AWS CLI
-
Pour créer un journal de suivi
L’exemple
create-trailsuivant crée un journal de suivi multi-régions nomméTrail1et spécifie un compartiment S3.aws cloudtrail create-trail \ --nameTrail1\ --s3-bucket-nameamzn-s3-demo-bucket\ --is-multi-region-trailSortie :
{ "IncludeGlobalServiceEvents": true, "Name": "Trail1", "TrailARN": "arn:aws:cloudtrail:us-west-2:123456789012:trail/Trail1", "LogFileValidationEnabled": false, "IsMultiRegionTrail": true, "S3BucketName": "amzn-s3-demo-bucket" }-
Pour plus de détails sur l’API, consultez CreateTrail
dans la Référence des commandes de l’AWS CLI.
-
- PowerShell
-
- Outils pour PowerShell V4
-
Exemple 1 : crée un journal de suivi qui utilisera le compartiment « amzn-s3-demo-bucket » pour le stockage des fichiers journaux.
New-CTTrail -Name "awscloudtrail-example" -S3BucketName "amzn-s3-demo-bucket"Exemple 2 : crée un journal de suivi qui utilisera le compartiment « amzn-s3-demo-bucket » pour le stockage des fichiers journaux. Les objets S3 représentant les journaux auront le préfixe de clé commun « mylogs ». Lorsque de nouveaux journaux sont envoyés au compartiment, une notification est envoyée à la rubrique SNS « mlog-deliverytopic ». Cet exemple utilise le splatting pour fournir les valeurs des paramètres à l’applet de commande.
$params = @{ Name="awscloudtrail-example" S3BucketName="amzn-s3-demo-bucket" S3KeyPrefix="mylogs" SnsTopicName="mlog-deliverytopic" } New-CTTrail @params-
Pour plus de détails sur l’API, consultez CreateTrail dans la Référence des applets de commande pour les Outils AWS pour PowerShell (V4).
-
- Outils pour PowerShell V5
-
Exemple 1 : crée un journal de suivi qui utilisera le compartiment « amzn-s3-demo-bucket » pour le stockage des fichiers journaux.
New-CTTrail -Name "awscloudtrail-example" -S3BucketName "amzn-s3-demo-bucket"Exemple 2 : crée un journal de suivi qui utilisera le compartiment « amzn-s3-demo-bucket » pour le stockage des fichiers journaux. Les objets S3 représentant les journaux auront le préfixe de clé commun « mylogs ». Lorsque de nouveaux journaux sont envoyés au compartiment, une notification est envoyée à la rubrique SNS « mlog-deliverytopic ». Cet exemple utilise le splatting pour fournir les valeurs des paramètres à l’applet de commande.
$params = @{ Name="awscloudtrail-example" S3BucketName="amzn-s3-demo-bucket" S3KeyPrefix="mylogs" SnsTopicName="mlog-deliverytopic" } New-CTTrail @params-
Pour plus de détails sur l’API, consultez CreateTrail dans la Référence des applets de commande pour les Outils AWS pour PowerShell (V5).
-
- Ruby
-
- Kit SDK pour Ruby
-
Note
Il y en a plus sur GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le référentiel d’exemples de code AWS
. 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-
Pour plus de détails sur l’API, consultez CreateTrail dans la Référence des API du kit AWS SDK pour Ruby.
-