メニュー
AWS CloudFormation
ユーザーガイド (API Version 2010-05-15)

AWS::CloudTrail::Trail

AWS::CloudTrail::Trail リソースを使用して、証跡を作成し、ログの発行先を指定します。AWS CloudTrail (CloudTrail) 証跡は、AWS アカウントによる AWS API コールをキャプチャして、Amazon S3 バケットにログを発行します。詳細については、「AWS CloudTrail とは何ですか?」を参照してください。」 (AWS CloudTrail User Guide) を参照してください。

構文

AWS CloudFormation テンプレートでこのエンティティを宣言するには、次の構文を使用します。

JSON

Copy
{ "Type" : "AWS::CloudTrail::Trail", "Properties" : { "CloudWatchLogsLogGroupArn" : String, "CloudWatchLogsRoleArn" : String, "EnableLogFileValidation" : Boolean, "EventSelectors" : [ EventSelector, ... ], "IncludeGlobalServiceEvents" : Boolean, "IsLogging" : Boolean, "IsMultiRegionTrail" : Boolean, "KMSKeyId" : String, "S3BucketName" : String, "S3KeyPrefix" : String, "SnsTopicName" : String, "Tags" : [ Resource Tag, ... ], "TrailName" : String } }

YAML

Copy
Type: "AWS::CloudTrail::Trail" Properties: CloudWatchLogsLogGroupArn: String CloudWatchLogsRoleArn: String EnableLogFileValidation: Boolean EventSelectors: - EventSelector IncludeGlobalServiceEvents: Boolean IsLogging: Boolean IsMultiRegionTrail: Boolean KMSKeyId: String S3BucketName: String S3KeyPrefix: String SnsTopicName: String Tags: - Resource Tag TrailName: String

プロパティ

詳細とプロパティの制約については、AWS CloudTrail API ReferenceCreateTrail を参照してください。

CloudWatchLogsLogGroupArn

CloudTrail ログが配信されるロググループの Amazon リソースネーム (ARN)。

Required: Conditional。このプロパティは、CloudWatchLogsRoleArn プロパティを指定した場合に必要になります。

Type: String

更新に伴う要件: 中断はありません。

CloudWatchLogsRoleArn

Amazon CloudWatch Logs (CloudWatch Logs) がロググループにログを書き込むために取得するロール ARN。詳細については、AWS CloudTrail User Guideの「CloudTrail がモニタリングに CloudWatch ログを使用するためのロールポリシードキュメント」を参照してください。

Required: No

Type: String

更新に伴う要件: 中断はありません。

EnableLogFileValidation

ログファイルの整合性を CloudTrail が検証するかどうかを示します。デフォルトでは、AWS CloudFormation はこの値を false に設定します。ログファイルの整合性の検証を無効にすると、CloudTrail はダイジェストファイルの作成を停止します。詳細については、AWS CloudTrail API Referenceの「CreateTrail」を参照してください。

Required: No

Type: Boolean

更新に伴う要件: 中断はありません。

EventSelectors

管理イベントとデータイベントのログ記録を設定します。

Required: No

: 以下のリスト CloudTrail Trail EventSelector

更新に伴う要件: 中断はありません。

IncludeGlobalServiceEvents

グローバルサービス (IAM など) からのイベントをログファイルに発行するかどうかを示します。デフォルトでは、AWS CloudFormation はこの値を false に設定します。

Required: No

Type: Boolean

更新に伴う要件: 中断はありません。

IsLogging

CloudTrail の証跡で現在 AWS API 呼び出しが記録されているかどうかを示します。

Required: Yes

Type: Boolean

更新に伴う要件: 中断はありません。

IsMultiRegionTrail

スタックを作成する特定のリージョン (false) またはすべてのリージョン (true) で CloudTrail 証跡を作成するかどうかを指定します。デフォルトでは、AWS CloudFormation はこの値を false に設定します。詳細については、「How Does CloudTrail Behave Regionally and Globally?」 (AWS CloudTrail User Guide) を参照してください。

Required: No

Type: Boolean

更新に伴う要件: 中断はありません。

KMSKeyId

CloudTrail ログの暗号化に使用する AWS Key Management Service (AWS KMS) キー ID。エイリアス名 (プレフィックス alias/ を付けます)、エイリアス ARN、キー ARN、またはグローバル一意識別子を指定できます。

Required: No

Type: String

更新に伴う要件: 中断はありません。

S3BucketName

CloudTrail がログファイルを発行する Amazon S3 バケットの名前。

Required: Yes

Type: String

更新に伴う要件: 中断はありません。

S3KeyPrefix

すべてのログファイル名に付加される Amazon S3 オブジェクトキープレフィックス。

Required: No

Type: String

更新に伴う要件: 中断はありません。

SnsTopicName

新しいログファイルが発行されたときに通知される Amazon SNS トピックの名前。

Required: No

Type: String

更新に伴う要件: 中断はありません。

Tags

この証跡に対する任意のタグのセット (キーと値のペア)。

Required: No

Type: AWS CloudFormation Resource Tags

更新に伴う要件: 中断はありません。

TrailName

証跡の名前。制約の詳細については、AWS CloudTrail API Reference の「CreateTrail」を参照してください。

Required: No

Type: String

更新に伴う要件: 置換

戻り値

参照番号

このリソースの論理 ID が Ref 組み込み関数に提供されると、Ref によりリソース名が返されます。

Ref 関数の使用方法の詳細については、「Ref」を参照してください。

Fn::GetAtt

Fn::GetAtt は、このタイプの指定された属性の値を返します。以下には、利用可能な属性とサンプル戻り値のリストが示されます。

Arn

CloudTrail 証跡の ARN (arn:aws:cloudtrail:us-east-2:123456789012:trail/myCloudTrail など)。

SnsTopicArn

CloudTrail 証跡に関連付けられる Amazon SNS トピックの ARN (arn:aws:sns:us-east-2:123456789012:mySNSTopic など)。

Fn::GetAtt の使用の詳細については、「Fn::GetAtt」を参照してください。

次の例では、CloudTrail 証跡、ログの発行先となる Amazon S3 バケット、通知の送信先となる Amazon SNS トピックを作成しています。バケットとトピックのポリシーによって、Amazon S3 バケットへのログの発行および指定した E メールへの通知の送信を指定したリージョンの CloudTrailに許可しています。CloudTrail の書き込み先は自動的に bucket_name/AWSLogs/account_ID/ フォルダとなるため、そのプレフィックスに該当する書き込み権限をバケットポリシーによって付与しています。CloudTrail バケットポリシーについては、AWS CloudTrail User Guideの「Amazon S3 バケットポリシー」を参照してください。

CloudTrail がサポートしているリージョンの詳細については、AWS CloudTrail User Guideの「サポートされているリージョン」を参照してください。

JSON

Copy
{ "AWSTemplateFormatVersion" : "2010-09-09", "Parameters" : { "OperatorEmail": { "Description": "Email address to notify when new logs are published.", "Type": "String" } }, "Resources" : { "S3Bucket": { "DeletionPolicy" : "Retain", "Type": "AWS::S3::Bucket", "Properties": { } }, "BucketPolicy" : { "Type" : "AWS::S3::BucketPolicy", "Properties" : { "Bucket" : {"Ref" : "S3Bucket"}, "PolicyDocument" : { "Version": "2012-10-17", "Statement": [ { "Sid": "AWSCloudTrailAclCheck", "Effect": "Allow", "Principal": { "Service":"cloudtrail.amazonaws.com"}, "Action": "s3:GetBucketAcl", "Resource": { "Fn::Join" : ["", ["arn:aws:s3:::", {"Ref":"S3Bucket"}]]} }, { "Sid": "AWSCloudTrailWrite", "Effect": "Allow", "Principal": { "Service":"cloudtrail.amazonaws.com"}, "Action": "s3:PutObject", "Resource": { "Fn::Join" : ["", ["arn:aws:s3:::", {"Ref":"S3Bucket"}, "/AWSLogs/", {"Ref":"AWS::AccountId"}, "/*"]]}, "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } } } ] } } }, "Topic": { "Type": "AWS::SNS::Topic", "Properties": { "Subscription": [ { "Endpoint": { "Ref": "OperatorEmail" }, "Protocol": "email" } ] } }, "TopicPolicy" : { "Type" : "AWS::SNS::TopicPolicy", "Properties" : { "Topics" : [{"Ref":"Topic"}], "PolicyDocument" : { "Version": "2008-10-17", "Statement": [ { "Sid": "AWSCloudTrailSNSPolicy", "Effect": "Allow", "Principal": { "Service":"cloudtrail.amazonaws.com"}, "Resource": "*", "Action": "SNS:Publish" } ] } } }, "myTrail" : { "DependsOn" : ["BucketPolicy", "TopicPolicy"], "Type" : "AWS::CloudTrail::Trail", "Properties" : { "S3BucketName" : {"Ref":"S3Bucket"}, "SnsTopicName" : {"Fn::GetAtt":["Topic","TopicName"]}, "IsLogging" : true } } } }

YAML

Copy
AWSTemplateFormatVersion: "2010-09-09" Parameters: OperatorEmail: Description: "Email address to notify when new logs are published." Type: String Resources: S3Bucket: DeletionPolicy: Retain Type: "AWS::S3::Bucket" Properties: {} BucketPolicy: Type: "AWS::S3::BucketPolicy" Properties: Bucket: Ref: S3Bucket PolicyDocument: Version: "2012-10-17" Statement: - Sid: "AWSCloudTrailAclCheck" Effect: "Allow" Principal: Service: "cloudtrail.amazonaws.com" Action: "s3:GetBucketAcl" Resource: !Sub |- arn:aws:s3:::${S3Bucket} - Sid: "AWSCloudTrailWrite" Effect: "Allow" Principal: Service: "cloudtrail.amazonaws.com" Action: "s3:PutObject" Resource: !Sub |- arn:aws:s3:::${S3Bucket}/AWSLogs/${AWS::AccountId}/* Condition: StringEquals: s3:x-amz-acl: "bucket-owner-full-control" Topic: Type: "AWS::SNS::Topic" Properties: Subscription: - Endpoint: Ref: OperatorEmail Protocol: email TopicPolicy: Type: "AWS::SNS::TopicPolicy" Properties: Topics: - Ref: "Topic" PolicyDocument: Version: "2008-10-17" Statement: - Sid: "AWSCloudTrailSNSPolicy" Effect: "Allow" Principal: Service: "cloudtrail.amazonaws.com" Resource: "*" Action: "SNS:Publish" myTrail: DependsOn: - BucketPolicy - TopicPolicy Type: "AWS::CloudTrail::Trail" Properties: S3BucketName: Ref: S3Bucket SnsTopicName: Fn::GetAtt: - Topic - TopicName IsLogging: true

このページの内容: