在控制台中为您的组织创建跟踪
要在 CloudTrail 控制台中创建组织跟踪,您必须使用拥有足够权限的管理账户或委托管理员账户中的用户或角色登录到该控制台。如果您未使用管理账户或委托管理员账户登录,则在 CloudTrail 控制台中创建或编辑跟踪时,不会显示用于将跟踪应用到组织的选项。
使用 Amazon Web Services 管理控制台创建组织跟踪
登录到 Amazon Web Services 管理控制台,然后通过以下网址打开 CloudTrail 控制台:https://console.aws.amazon.com/cloudtrail
。 您必须以拥有足够权限的管理账户或委托管理员账户中的 IAM 身份登录,才能创建组织跟踪。
-
选择 Trails(跟踪记录),然后选择 Create trail(创建跟踪记录)。
-
在 Create Trail 页面上,对于 Trail name,键入一个跟踪名。有关更多信息,请参阅 CloudTrail 资源、S3 存储桶和 KMS 密钥的命名要求。
-
选择 Enable for all accounts in my organization(为我的组织中的所有账户启用)。如果您使用管理账户或委托管理员账户中的用户或角色登录到控制台,则只会看到此选项。要成功创建组织跟踪,请确保相应用户或角色具有足够的权限。
-
对于 Storage location(存储位置,选择 Create new S3 bucket(创建 S3 存储桶)以创建存储桶。在创建存储桶时,CloudTrail 会创建并应用所需的存储桶策略。
注意
如果选择 Use existing S3 bucket(使用现有 S3 存储桶),则在 Trail log bucket name(跟踪日志存储桶名称)中指定一个存储桶,或选择 Browse(浏览)以选择存储桶。您可以选择属于任何账户的桶,但桶策略必须授予 CloudTrail 向其写入的权限。有关手动编辑存储桶策略的信息,请参阅针对 CloudTrail 的 Simple Storage Service(Amazon S3)存储桶策略。
为了更轻松地查找日志,在现有存储桶中创建新文件夹(又称为前缀)来存储您的 CloudTrail 日志。在 Prefix(前缀)字段中输入前缀。
-
对于日志文件 SSE-KMS 加密,如果您希望使用 SSE-KMS 加密(而非 SSE-S3 加密)对您的日志文件和摘要文件进行加密,请选择已启用。默认值为 Enabled(已启用)。如果您未启用 SSE-KMS 加密,则将使用 SSE-S3 加密对您的日志文件和摘要文件进行加密。有关 SSE-KMS 加密的更多信息,请参阅使用具有 Amazon Key Management Service 的服务器端加密(SSE-KMS)。有关 SSE-S3 加密的更多信息,请参阅配合使用服务器端加密与 Amazon S3 托管加密密钥(SSE-S3)。
如果您启用了 SSE-KMS 加密,请选择 New(新建)或 Existing(现有)Amazon KMS key。在 Amazon KMS Alias(Amazon KMS 别名)中,使用
alias/MyAliasName的格式指定别名。有关更多信息,请参阅 通过控制台更新资源以使用 KMS 密钥。注意
您也可以键入其他账户的密钥 ARN。有关更多信息,请参阅 通过控制台更新资源以使用 KMS 密钥。该密钥策略必须允许 CloudTrail 使用密钥加密您的日志文件和摘要文件,并允许您指定的用户读取未加密形式的日志文件或摘要文件。有关手动编辑密钥政策的信息,请参阅为 CloudTrail 配置 Amazon KMS 密钥策略。
-
在 Additional configuration(其他配置)中,请配置以下内容。
-
对于 Log file validation(日志文件验证),选择 Enabled(已启用)以将日志摘要传输到您的 S3 存储桶。您可以使用摘要文件验证日志文件在由 CloudTrail 传送之后没有发生改变。有关更多信息,请参阅 验证 CloudTrail 日志文件完整性。
-
对于 SNS notification delivery(SNS 通知传输),选择 Enabled(已启用)以在每次日志传送到您的存储桶时收到通知。CloudTrail 将多个事件存储在单个日志文件中。SNS 通知针对每个日志文件而不是每个事件发送。有关更多信息,请参阅 为 CloudTrail 配置 Amazon SNS 通知。
如果您启用了 SNS 通知,则对于 Create a new SNS topic(创建新 SNS 主题),选择 New(新建)创建主题,或选择 Existing(现有)使用现有的主题。如果您正在创建多区域跟踪,则来自所有区域的日志文件传输的 SNS 通知将发送到您创建的单个 SNS 主题。
如果选择 New(新建),CloudTrail 会为您指定新主题的名称,您也可以键入名称。如果选择 Existing(现有),则从下拉列表中选择一个 SNS 主题。您还可以输入来自另一个区域或来自一个具有适当权限的账户的主题的 ARN。有关更多信息,请参阅 针对 CloudTrail 的 Amazon SNS 主题策略。
如果您创建一个主题,则必须订阅该主题以便获取日志文件传送的通知。您可通过 Amazon SNS 控制台进行订阅。由于通知的频率,建议您将该订阅配置为使用 Amazon SQS 队列来以编程方式处理通知。有关更多信息,请参阅 Amazon Simple Notification Service 开发人员指南中的 Amazon SNS 入门。
-
-
或者,在 CloudWatch Logs 中选择 Enabled(已启用)以将 CloudTrail 配置将日志文件发送到 CloudWatch Logs。有关更多信息,请参阅 将事件发送到 CloudWatch Logs。
注意
只有管理账户才能使用控制台为组织跟踪配置 CloudWatch Logs 日志组。委托管理员可以使用 Amazon CLI 或 CloudTrail
CreateTrail或者UpdateTrailAPI 操作配置 CloudWatch Logs 日志组。-
如果您启用了与 CloudWatch Logs 的集成,请选择 New(新建)创建新日志组,或选择 Existing(现有)使用现有的日志组。如果选择 New(新建),CloudTrail 会为您指定新日志组的名称,您也可以键入名称。
-
如果选择 Existing(现有),则从下拉列表中选择一个日志组。
-
选择 New(新建)创建新 IAM 角色,以获得将日志发送到 CloudWatch Logs 的权限。选择 Existing(现有)以从下拉列表中选择一个现有 IAM 角色。展开 Policy document(策略文档)时,将显示新角色或现有角色的策略语句。有关该角色的更多信息,请参阅与 CloudTrail 使用 CloudWatch Logs 进行监控对应的角色策略文档。
注意
在您配置跟踪时,可以选择属于另一个账户的 S3 存储桶和 Amazon SNS 主题。但是,如果您希望 CloudTrail 将事件传送至 CloudWatch Logs 日志组,则必须选择当前账户中的日志组。
-
-
对于标签,您最多可以添加 50 个标签键对,以帮助您对跟踪的访问进行识别、排序和控制。标签可帮助您识别 CloudTrail 跟踪记录和包含 CloudTrail 日志文件的 Simple Storage Service(Amazon S3)存储桶。然后,您可以为您的 CloudTrail 资源使用资源组。有关更多信息,请参阅 Amazon Resource Groups 和标签。
-
在 Choose log events(选择日志事件)页面中,选择要记录的事件类型。对于 Management events (管理事件),请执行以下操作。
-
对于 API activity(API 活动),选择您希望跟踪记录 Read(读取)事件、Write(写入)事件,还是记录两者。有关更多信息,请参阅 管理事件。
-
选择 Exclude Amazon KMS events(排除 Amazon KMS 事件)以从跟踪中筛选出 Amazon Key Management Service (Amazon KMS) 事件。默认设置是包含所有 Amazon KMS 事件。
只有当您在跟踪上记录管理事件时,用于记录或排除 Amazon KMS 事件的选项才可用。如果选择不记录管理事件,则不会记录 Amazon KMS 事件,并且您无法更改 Amazon KMS 事件日志记录设置。
Amazon KMS、
Encrypt和Decrypt等GenerateDataKey操作通常会生成大量事件(占比超过 99%)。这些操作现在记录为读取事件。Disable、Delete和ScheduleKey(通常占不到 Amazon KMS 事件量的 0.5%)等少量的相关 Amazon KMS 操作记录为写入事件。如果要排除大批量事件(例如
Encrypt、Decrypt和GenerateDataKey),但仍然记录相关事件(例如Disable、Delete和ScheduleKey),选择记录 Write(写入)管理事件,然后清除 Exclude Amazon KMS events(排除 Amazon KMS 事件)复选框。
-
-
要记录数据事件,请选择 Data events(数据事件)。记录数据事件将收取额外费用。有关更多信息,请参阅 Amazon CloudTrail 定价
。 -
重要
默认情况下,步骤 12-16 用于使用高级事件选择器配置数据事件。高级事件选择器让您可以配置更多资源类型,并对跟踪捕获的数据事件进行精细控制。如果您计划记录网络活动事件,则必须使用高级事件选择器。如果使用基本事件选择器,请完成 使用基本事件选择器配置数据事件设置 中的步骤,然后返回到此过程的步骤 17。
对于资源类型,选择要在其上记录数据事件的资源类型。有关可用的资源类型的更多信息,请参阅 数据事件。
-
选择日志选择器模板。您可以选择预定义的模板,也可以选择自定义来定义您自己的事件收集条件。
您可以从以下预定义模板中进行选择:
-
记录所有事件 – 选择此模板以记录所有事件。
-
仅记录读取事件 – 选择此模板以仅记录读取事件。只读事件是不会更改资源状态的事件,例如
Get*或Describe*事件。 -
仅记录写入事件 – 选择此模板以仅记录写入事件。写入事件可添加、更改或删除资源、属性或构件,例如
Put*、Delete*或Write*事件。 -
仅记录Amazon Web Services 管理控制台事件 – 选择此模板以仅记录源自Amazon Web Services 管理控制台的事件。
-
排除 Amazon Web Services 服务启动的事件 – 选择此模板以排除
eventType为AwsServiceEvent的 Amazon Web Services 服务事件和使用 Amazon Web Services 服务相关角色 (SLR) 启动的事件。
注意
选择 S3 存储桶的预定义模板可为您的 Amazon 账户中现有的所有存储桶和您完成跟踪创建后创建的任何存储桶启用数据事件日志记录。它也将为由 Amazon 账户中的任何 IAM 身份执行的数据事件活动启用日志记录,即使该活动是对属于其他 Amazon 账户的存储桶执行。
如果跟踪仅应用于一个区域,则选择记录所有 S3 存储桶的预定义模板可为跟踪所在的区域中的所有存储桶和您后来在该区域中创建的任何存储桶启用数据事件日志记录。不会为您的 Amazon 账户的其他区域中的 Simple Storage Service(Amazon S3)存储桶记录数据事件。
如果您正在创建多区域跟踪,则选择 Lambda 函数的预定义模板将为您的 Amazon 账户中当前包含的所有函数以及您在创建跟踪后可能在任何区域中创建的任何 Lambda 函数启用数据事件日志记录。如果您正在为单个区域创建跟踪(通过使用 Amazon CLI 完成),则此选择将为您的 Amazon 账户中的该区域中当前包含的所有函数以及您在创建跟踪后可能在该区域中创建的任何 Lambda 函数启用数据事件日志记录。它不会为在其他区域中创建的 Lambda 函数启用数据事件日志记录。
所有函数的日志记录数据事件也将为由 Amazon 账户中的任何 IAM 身份执行的数据事件活动启用日志记录,即使该活动是对属于其他 Amazon 账户的函数执行。
-
-
(可选)在选择器名称中,输入用于标识选择器的名称。选择器名称是高级事件选择器的描述性名称,例如“仅记录两个 S3 桶的数据事件”。选择器名称在高级事件选择器中列为
Name,展开 JSON 视图即可查看该名称。 -
如果您选择了自定义,则在高级事件选择器中,将基于高级事件选择器字段的值生成表达式。
注意
选择器不支持使用通配符,例如
*。要将多个值与单个条件匹配,可以使用StartsWith、EndsWith、NotStartsWith或NotEndsWith明确匹配事件字段的开头或结尾。-
从下面的字段中选择。
-
readOnly-readOnly可以设置为等于值true或false。只读数据事件是不会更改资源状态的事件,例如Get*或Describe*事件。写入事件可添加、更改或删除资源、属性或构件,例如Put*、Delete*或Write*事件。要记录read和write两种事件,请不要添加readOnly选择器。 -
eventName-eventName可以使用任何运算符。您可以使用它来包含或排除记录到 CloudTrail 的任何数据事件,例如PutBucket、GetItem或GetSnapshotBlock。 -
eventSource– 要包括或排除的事件类型。此字段可以使用任意运算符。 -
eventType – 要包括或排除的事件类型。例如,可以将此字段设置为不等于
AwsServiceEvent,以排除 Amazon Web Services 服务 事件。有关事件类型的列表,请参阅 CloudTrail 记录管理事件、数据事件和网络活动事件的内容 中的 eventType。 -
sessionCredentialFromConsole – 包括或排除源自Amazon Web Services 管理控制台会话的事件。可以将此字段设置为等于或不等于值
true。 -
userIdentity.arn – 包含或排除特定 IAM 身份所采取操作的事件。有关更多信息,请参阅 CloudTrail userIdentity 元素。
-
resources.ARN- 您可以将任何运算符与resources.ARN配合使用,但如果您使用等于或不等于,则该值必须与您在模板中指定为resources.type的值的有效资源类型的 ARN 完全匹配。注意
您不能使用
resources.ARN字段筛选没有 ARN 的资源类型。有关数据事件资源的 ARN 格式的更多信息,请参阅《服务授权参考》中的 Amazon Web Services 服务 的操作、资源和条件键。
-
-
对于每个字段,请选择 + 条件以根据需要添加任意数量的条件,所有条件总共可有最多 500 个指定值。例如,要从记录到事件数据存储的数据事件中排除两个 S3 存储桶的数据事件,可以将字段设置为 resources.ARN,设置不始于运算符,然后粘贴您不想为其记录事件的 S3 存储桶 ARN。
要添加第二个 S3 存储桶,请选择 + 条件,然后重复上述说明,在 ARN 中粘贴或浏览到不同的存储桶。
有关 CloudTrail 如何评估多个条件的信息,请参阅CloudTrail 如何评估字段的多个条件。
注意
对于事件数据存储上的所有选择器,最多可以有 500 个值。这包括选择器的多个值的数组,例如
eventName。如果所有选择器均为单个值,则最多可以向选择器添加 500 个条件。 -
根据需要,选择 + Field(+ 字段)以添加其他字段。为了避免错误,请不要为字段设置冲突或重复的值。例如,不要在一个选择器中将 ARN 指定为等于某个值,然后在另一个选择器中指定 ARN 不等于相同的值。
-
-
要添加需要记录数据事件的资源类型,请选择添加数据事件类型。重复步骤 12 至此步骤,为资源类型配置高级事件选择器。
-
要记录网络活动事件,请选择网络活动事件。网络活动事件使 VPC 端点所有者能够记录使用其 VPC 端点进行的从私有 VPC 到 Amazon 的 Amazon Web Services 服务 API 调用。记录数据事件将收取额外费用。有关更多信息,请参阅 Amazon CloudTrail 定价
。 要记录网络活动事件,请执行下列操作:
-
从网络活动事件源中,选择网络活动事件的来源。
-
在 Log selector template(日志选择器模板)中,选择一个模板。您可以选择记录所有网络活动事件、记录所有网络活动访问被拒绝的事件,或者选择自定义来构建自定义日志选择器以筛选多个字段(例如
eventName和vpcEndpointId)。 -
(可选)输入用于标识选择器的名称。选择器名称在高级事件选择器中列为 名称,展开 JSON 视图即可查看该名称。
-
在高级事件选择器中,通过为字段、运算符和值选择值来构建表达式。如果您使用的是预定义日志模板,则可跳过此步骤。
-
要排除或包括网络活动事件,您可以从控制台中的以下字段中进行选择。
-
eventName– 您可以将任何运算符与eventName配合使用。您可以使用它来包含或排除任何事件(如CreateKey)。 -
errorCode– 您可以使用它来筛选错误代码。目前,唯一支持的errorCode是VpceAccessDenied。 -
vpcEndpointId– 标识操作通过的 VPC 端点。您可以将任何运算符与vpcEndpointId配合使用。
-
-
对于每个字段,请选择 + 条件以根据需要添加任意数量的条件,所有条件总共可有最多 500 个指定值。
-
根据需要,选择 + Field(+ 字段)以添加其他字段。为了避免错误,请不要为字段设置冲突或重复的值。
-
-
要添加您想要记录网络活动事件的另一个事件源,请选择添加网络活动事件选择器。
-
或者,展开 JSON 视图将您的高级事件选择器作为 JSON 数据块查看。
-
-
如果您希望跟踪记录 CloudTrail Insights 事件,则选择 Insights events(Insights 事件)。
在 Event type(事件类型)中,选择 Insights events(Insights 事件)。在 Insights events(Insights 事件)中,选择 API call rate(API 调用率)和/或 API error rate(API 错误率)。您必须记录写入管理事件,以针对 API 调用率记录 Insights 事件。您必须记录读取或写入管理事件,以针对 API 错误率记录 Insights 事件。
CloudTrail Insights 分析管理事件中的异常活动,并在检测到异常时记录事件。默认情况下,跟踪记录不记录 Insights 事件。有关 Insights 事件的更多信息,请参阅使用 CloudTrail Insights。记录 Insights 事件将收取额外费用。有关 CloudTrail 定价的信息,请参阅 Amazon CloudTrail 定价
。 Insights 事件将传递到跟踪记录详细信息页面的 Storage location(存储位置)区域中指定的同一 S3 存储桶中名为
/CloudTrail-Insight的不同文件夹。CloudTrail 会为您创建新前缀。例如,如果当前目标 S3 存储桶命名为amzn-s3-demo-destination-bucket/AWSLogs/CloudTrail/,则带有新前缀的 S3 存储桶名称会命名为amzn-s3-demo-destination-bucket/AWSLogs/CloudTrail-Insight/。 -
完成选择要记录的事件类型的操作后,选择 Next(下一步)。
-
在 Review and create(审核和重建)页面上,审核您的选择。在相关部分中选择 Edit(编辑)以更改该部分中显示的跟踪设置。在准备好创建跟踪时,选择 Create trail(创建跟踪)。
-
新跟踪记录出现在 Trails(跟踪记录)页面上。一个组织跟踪最多可能需要 24 小时才能在所有成员账户的所有已启用区域中创建完成。Trails(跟踪记录)页面显示您的账户中来自所有区域的跟踪记录。CloudTrail 会在约 5 分钟内发布日志文件,其中显示在组织中发起的 Amazon API 调用。您可以在指定的 Simple Storage Service(Amazon S3)存储桶中查看日志文件。
注意
创建跟踪后,不能对其重命名。不过,可以删除跟踪并创建新跟踪。
后续步骤
创建您的跟踪后,您可以返回到该跟踪以进行更改:
-
通过编辑跟踪来更改跟踪的配置。有关更多信息,请参阅 使用 CloudTrail 控制台更新跟踪。
-
如果需要,请配置 Amazon S3 存储桶,以允许成员账户中的特定用户读取组织的日志文件。有关更多信息,请参阅 在 Amazon 账户之间共享 CloudTrail 日志文件。
-
配置 CloudTrail 以将日志文件发送到 CloudWatch Logs。有关更多信息,请参阅将事件发送到 CloudWatch Logs以及准备为您的组织创建跟踪中的 CloudWatch Logs 项目。
注意
只有管理账户才能为组织跟踪配置 CloudWatch Logs 日志组。
-
创建表并将其用于在 Amazon Athena 中运行查询,以便分析 Amazon 服务活动。有关更多信息,请参阅 Amazon Athena 用户指南中的在 CloudTrail 控制台中为 CloudTrail Logs 创建表。
-
向跟踪添加自定义标签(键-值对)。
-
要创建另一个组织跟踪记录,请返回到 Trail(跟踪记录)页面并选择 Create trail(创建跟踪记录)。
注意
在您配置跟踪时,可以选择属于另一个账户的 Simple Storage Service(Amazon S3)存储桶和 SNS 主题。但是,如果您希望 CloudTrail 将事件传送至 CloudWatch Logs 日志组,则必须选择当前账户中的日志组。