AWS::CloudTrail::Trail DataResource - AWS CloudFormation
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

AWS::CloudTrail::Trail DataResource

您在事件选择器中为跟踪指定的 Amazon S3 存储桶或 AWS Lambda 函数,用于记录数据事件。数据事件提供有关对资源本身或在资源本身中执行的资源操作的信息。这些也称为数据层面操作。您可以为一个跟踪指定最多 250 个数据资源。

注意

允许的数据资源总数为 250。此数字可以在 1 到 5 个事件选择器之间分配,但所有选择器的总数不能超过 250。

下面的示例演示在为一个名为 bucket-1 的 S3 存储桶中的所有数据事件配置日志记录时日志记录是如何工作的。在此示例中,CloudTrail 用户指定了一个空前缀,以及用于记录 ReadWrite 数据事件的选项。

  1. 用户将图像文件上传到 bucket-1

  2. PutObject API 操作是 Amazon S3 对象级别的 API。它在 CloudTrail 中记录为数据事件。由于 CloudTrail 用户指定带空前缀的 S3 存储桶,因此将记录该存储桶中的任何对象上发生的事件。跟踪将处理和记录事件。

  3. 用户将对象上传到名为 arn:aws:s3:::bucket-2 的 Amazon S3 存储桶。

  4. PutObject API 操作在 CloudTrail 用户未为跟踪指定的 S3 存储桶中的某个对象上发生。跟踪不会记录此事件。

以下示例演示在为名为 MyLambdaFunction 的 Lambda 函数(而非所有 AWS Lambda 函数)的 AWS Lambda 数据事件配置日志记录的情况下日志记录的工作方式。

  1. 用户运行一个脚本,此脚本包含对 MyLambdaFunction 函数和 MyOtherLambdaFunction 函数的调用。

  2. MyLambdaFunction 上的 Invoke API 操作是一个 AWS Lambda API。它在 CloudTrail 中记录为数据事件。由于 CloudTrail 用户为 MyLambdaFunction 指定了日志记录数据事件,因此将记录对该函数的任何调用。跟踪将处理和记录事件。

  3. MyOtherLambdaFunction 上的 Invoke API 操作是一个 AWS Lambda API。由于 CloudTrail 用户没有为所有 Lambda 函数指定日志记录数据事件,因此 MyOtherLambdaFunctionInvoke 操作不会匹配为跟踪指定的函数。跟踪不会记录此事件。

语法

要在 AWS CloudFormation 模板中声明此实体,请使用以下语法:

JSON

{ "Type" : String, "Values" : [ String, ... ] }

YAML

Type: String Values: - String

属性

Type

要在其中记录数据事件的资源类型。您可以指定 AWS::S3::ObjectAWS::Lambda::Function 资源。

必需:是

类型:字符串

Update requires: No interruption

Values

指定对象的 Amazon 资源名称 (ARN) 字符串或部分 ARN 字符串的数组。

  • 要记录您的 AWS 账户中全部 S3 存储桶中的所有对象的数据事件,请将前缀指定为 arn:aws:s3:::

    注意

    这还将为由 AWS 账户中的任何用户或角色执行的数据事件活动启用日志记录,即使该活动是对属于其他 AWS 账户的存储桶执行的。

  • 要记录一个 S3 存储桶中所有对象的数据事件,请指定该存储桶和一个空对象前缀,例如 arn:aws:s3:::bucket-1/。跟踪将记录此 S3 存储桶中所有对象的数据事件。

  • 要记录特定对象的数据事件,可指定 S3 存储桶和对象前缀,例如 arn:aws:s3:::bucket-1/example-images。跟踪将记录此 S3 存储桶中与该前缀匹配的对象的数据事件。

  • 要记录您的 AWS 账户中所有函数的数据事件,请将前缀指定为 arn:aws:lambda

    注意

    这也将为由 AWS 账户中的任何用户或角色执行的 Invoke 活动启用日志记录,即使该活动是对属于其他 AWS 账户的函数执行的。

  • 要记录特定 Lambda 函数的数据事件,请指定函数 ARN。

    注意

    Lambda 函数 ARN 是准确的。例如,如果您指定函数 ARN arn:aws:lambda:us-west-2:111111111111:function:helloworld,则仅为 arn:aws:lambda:us-west-2:111111111111:function:helloworld 记录数据事件。不会为 arn:aws:lambda:us-west-2:111111111111:function:helloworld2 记录数据事件。

必需:否

类型:字符串列表

Update requires: No interruption