使用 AWS 命令行界面为组织创建跟踪 - AWS CloudTrail
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 AWS 命令行界面为组织创建跟踪

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

注意

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

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

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

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

以下是名为的 Amazon S3 存储桶的示例策略。我的组织存储桶。此存储桶位于 AWS 账户中,ID 为1111111111,该帐户是具有 ID 的组织的管理帐户o 示例,允许组织跟踪的日志记录。它还允许日志记录1111111111帐户,以防止跟踪从组织跟踪更改为该账户的跟踪。

{ "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 中的可信服务

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

aws organizations enable-all-features

在启用所有功能后,您必须将 Organizations 配置为信任 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 命令行界面为组织创建跟踪

当您使用 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" }