AWS CloudTrail
用户指南 (版本 1.0)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

使用 AWS Command Line Interface 为组织创建跟踪

可通过使用 AWS CLI 创建组织跟踪。会用其他功能和命令定期更新 AWS CLI。为了帮助确保成功,请确保您已安装或更新至最新的 AWS CLI 版本,然后再开始。

注意

本节中的示例特定于创建和更新组织跟踪。有关使用 AWS CLI 管理跟踪的示例,请参阅使用 AWS CLI 管理跟踪。当使用 AWS CLI 创建或更新组织跟踪时,必须使用主账户中的 AWS CLI 配置文件且必须拥有足够的权限。

您必须具有足够的权限以配置用于组织跟踪的 Amazon S3 存储桶。

创建或更新 Amazon S3 存储桶以用于存储组织跟踪的日志文件

您必须指定一个 Amazon S3 存储桶以接收组织跟踪的日志文件。此存储桶必须具有允许 CloudTrail 将组织的日志文件放入存储桶的策略。

下面是名为 my-organization-bucket 的 Amazon S3 存储桶的策略示例。此存储桶位于 ID 为 111111111111 的 AWS 账户中,此账户是 ID 为 o-exampleorgid 的组织的主账户,允许记录组织跟踪的日志。如果跟踪仅从组织跟踪更改为该账户的跟踪,则它还允许 111111111111 账户的日志记录。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSCloudTrailAclCheck20150319", "Effect": "Allow", "Principal": { "Service": [ "cloudtrail.amazonaws.com" ] }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::my-organization-bucket" }, { "Sid": "AWSCloudTrailWrite20150319", "Effect": "Allow", "Principal": { "Service": [ "cloudtrail.amazonaws.com" ] }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::my-organization-bucket/AWSLogs/111111111111/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } } }, { "Sid": "AWSCloudTrailWrite20150319", "Effect": "Allow", "Principal": { "Service": [ "cloudtrail.amazonaws.com" ] }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::my-organization-bucket/AWSLogs/o-exampleorgid/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } } } ] }

此示例策略不允许来自成员账户的任何用户访问为组织创建的日志文件。默认情况下,组织日志文件只能由主账户访问。有关如何允许成员账户中的 IAM 用户对 Amazon S3 存储桶进行读取访问的信息,请参阅在 AWS 账户之间共享 CloudTrail 日志文件

将 CloudTrail 作为 AWS Organizations 中的可信服务启用

在创建组织跟踪之前,必须先启用 组织 中的所有功能。有关更多信息,请参阅启用组织中的所有功能,或使用主账户中具有足够权限的配置文件运行以下命令:

aws organizations enable-all-features

在启用所有功能后,您必须将 组织 配置为信任 CloudTrail 作为可信服务。

要在 AWS Organizations 和 CloudTrail 之间创建可信服务关系,请打开终端或命令行并使用主账户中的配置文件。运行 aws organizations enable-aws-service-access 命令,如下例所示。

aws organizations enable-aws-service-access --service-principal cloudtrail.amazonaws.com

使用 create-trail

创建应用到所有区域的组织跟踪

要创建应用到所有区域的组织跟踪,请使用 --is-organization-trail--is-multi-region-trail 选项。

注意

当使用 AWS CLI 创建或更新组织跟踪时,必须使用主账户中的 AWS CLI 配置文件且必须拥有足够的权限。

下面示例中创建的组织跟踪将所有区域的日志交付到名为 my-bucket 的现有存储桶中:

aws cloudtrail create-trail --name my-trail --s3-bucket-name my-bucket --is-organization-trail --is-multi-region-trail

要确认您的跟踪是否存在于所有区域中,输出中的 IsOrganizationTrailIsMultiRegionTrail 元素均会显示 true

{ "IncludeGlobalServiceEvents": true, "Name": "my-trail", "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail", "LogFileValidationEnabled": false, "IsMultiRegionTrail": true, "IsOrganizationTrail": true, "S3BucketName": "my-bucket" }

注意

使用 start-logging 命令可以为您的跟踪启动日志记录操作。有关更多信息,请参阅停止和启动跟踪的日志记录

将组织跟踪创建为单区域跟踪

以下命令会创建仅在单个 AWS 区域中记录事件的组织跟踪,也称为单区域跟踪。将记录事件的 AWS 区域是 AWS CLI 的配置文件中指定的区域。

aws cloudtrail create-trail --name my-trail --s3-bucket-name my-bucket --is-organization-trail

有关更多信息,请参阅 CloudTrail 跟踪命名要求

示例输出:

{ "IncludeGlobalServiceEvents": true, "Name": "my-trail", "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail", "LogFileValidationEnabled": false, "IsMultiRegionTrail": false, "IsOrganizationTrail": true, "S3BucketName": "my-bucket" }

默认情况下,create-trail 命令将创建一个单区域跟踪,此跟踪不启用日志文件验证。

注意

使用 start-logging 命令可以为您的跟踪启动日志记录操作。

使用 update-trail 更新组织跟踪

您可以使用 update-trail 命令更改组织跟踪的配置设置,或将单个 AWS 账户的现有跟踪应用于整个组织。执行此操作时,请记住,您只能从在其中创建跟踪的区域中运行 update-trail 命令。

注意

如果您使用 AWS CLI 或某个 AWS 开发工具包修改跟踪,请确保跟踪的存储桶策略处于最新状态。有关更多信息,请参阅 使用 AWS Command Line Interface 为组织创建跟踪

当使用 AWS CLI 创建或更新组织跟踪时,必须使用主账户中的 AWS CLI 配置文件且必须拥有足够的权限。

将现有跟踪应用于组织

要更改现有跟踪以使其也应用于组织而不是单个 AWS 账户,请使用 --is-organization-trail 选项:

aws cloudtrail update-trail --name my-trail --is-organization-trail

要确认跟踪此时只应用于相应组织,输出中的 IsOrganizationTrail 元素会显示 true

{ "IncludeGlobalServiceEvents": true, "Name": "my-trail", "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail", "LogFileValidationEnabled": false, "IsMultiRegionTrail": true, "IsOrganizationTrail": true, "S3BucketName": "my-bucket" }

在上面的示例中,之前已将跟踪配置为应用于所有地区 ("IsMultiRegionTrail": true)。如果该跟踪过去一直仅应用于单个区域,则输出将显示 "IsMultiRegionTrail": false

将应用到一个区域的组织跟踪转换为应用于所有区域

要更改现有组织跟踪以使其应用于所有区域,请使用 --is-multi-region-trail 选项:

aws cloudtrail update-trail --name my-trail --is-multi-region-trail

要确认跟踪现已应用到所有区域,请验证输出中的 IsMultiRegionTrail 元素是否为 true

{ "IncludeGlobalServiceEvents": true, "Name": "my-trail", "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail", "LogFileValidationEnabled": false, "IsMultiRegionTrail": true, "IsOrganizationTrail": true, "S3BucketName": "my-bucket" }