本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将事件发送到 CloudWatch 日志
当您将跟踪配置为向 CloudWatch Logs 发送事件时,仅 CloudTrail 发送与您的跟踪设置相匹配的事件。例如,如果您将跟踪配置为仅记录数据事件,则您的跟踪仅将数据事件发送到您的 CloudWatch 日志日志组。 CloudTrail 支持向 CloudWatch 日志发送数据、见解和管理事件。有关更多信息,请参阅 处理 CloudTrail 日志文件。
注意
只有管理账户才能使用控制台为组织跟踪配置 CloudWatch 日志组。授权的管理员可以使用 Amazon CLI 或 CloudTrail CreateTrail
或 UpdateTrail
API 操作配置 CloudWatch 日志组。
要将事件发送到 CloudWatch 日志日志组,请执行以下操作:
-
请确保您有足够的权限来创建或指定 IAM 角色。有关更多信息,请参阅 授予在 CloudTrail 控制台上查看和配置 Amazon CloudWatch 日志信息的权限。
-
如果您使用配置 CloudWatch 日志日志组 Amazon CLI,请确保您有足够的权限在您指定的 CloudWatch 日志组中创建日志日志流并将 CloudTrail 事件传送到该日志流。有关更多信息,请参阅 创建策略文档。
-
创建新的跟踪或指定现有的跟踪。有关更多信息,请参阅 使用控制台创建和更新跟踪。
-
创建一个日志组或指定一个现有日志组。
-
指定 IAM 角色。如果您要修改用于组织跟踪的现有 IAM 角色,则必须手动更新策略,以允许组织跟踪的日志记录。有关更多信息,请参阅此策略示例和为组织创建跟踪。
-
附加一个角色策略或者使用默认角色策略。
目录
使用控制台配置 CloudWatch 日志监控
您可以使用来配置您的跟踪 Amazon Web Services Management Console ,以便将事件发送到 CloudWatch 日志进行监控。
创建一个日志组或指定一个现有日志组
CloudTrail 使用 CloudWatch 日志日志组作为日志事件的传输终端节点。可创建一个日志组或者指定一个现有日志组。
为现有跟踪创建或指定日志组
-
请务必使用具有足够权限的管理用户或角色登录,以配置 CloudWatch 日志集成。有关更多信息,请参阅 授予在 CloudTrail 控制台上查看和配置 Amazon CloudWatch 日志信息的权限。
注意
只有管理账户才能使用控制台为组织跟踪配置 CloudWatch 日志组。授权的管理员可以使用 Amazon CLI 或 CloudTrail
CreateTrail
或UpdateTrail
API 操作配置 CloudWatch 日志组。 打开 CloudTrail 控制台,网址为https://console.aws.amazon.com/cloudtrail/
。 -
选择跟踪名称。如果您选择多区域跟踪,您将被重定向到创建该跟踪的区域。可以在跟踪所在的区域创建一个日志组或者选择一个现有日志组。
注意
多区域跟踪会将您中所有已启用区域的日志文件发送 Amazon Web Services 账户 到您指定的 CloudWatch 日志日志组。
-
在CloudWatch 日志中,选择编辑。
-
对于CloudWatch 日志,选择启用。
-
在日志组名称下,选择新建创建新的日志组,或选择现有使用现有的日志组。如果选择 “新建”,则会为您 CloudTrail 指定新日志组的名称,也可以键入名称。有关命名的更多信息,请参阅 CloudWatch 的日志组和日志流命名 CloudTrail。
-
如果选择 Existing(现有),则从下拉列表中选择一个日志组。
-
对于角色名称,选择新建以创建新的 IAM 角色,以获得向日志发送 CloudWatch 日志的权限。选择 Existing(现有)以从下拉列表中选择一个现有 IAM 角色。展开 Policy document(策略文档)时,将显示新角色或现有角色的策略语句。有关该角色的更多信息,请参阅使用 CloudWatch 日志 CloudTrail 进行监控的角色策略文档。
注意
在您配置跟踪时,可以选择属于另一个账户的 S3 存储桶和 SNS 主题。但是,如果 CloudTrail 要将事件传送到 CloudWatch 日志日志组,则必须选择当前账户中存在的日志组。
-
选择 Save changes(保存更改)。
指定 IAM 角色
您可以指定一个角色 CloudTrail 来代入将事件传送到日志流。
指定角色
-
默认情况下,系统将为您指定
CloudTrail_CloudWatchLogs_Role
。默认角色策略具有在您指定的 CloudWatch 日志组中创建日志日志流并将 CloudTrail 事件传送到该日志流所需的权限。-
要验证角色,请转到 Amazon Identity and Access Management 控制台,网址为https://console.aws.amazon.com/iam/
。 -
选择 “角色”,然后选择 CloudTrail_ CloudWatchLogs _Rol e。
-
在权限选项卡中,展开策略查看其内容。
-
-
您可以指定其他角色,但是如果要使用该角色向 CloudWatch 日志发送事件,则必须将所需的角色策略附加到现有角色。有关更多信息,请参阅 使用 CloudWatch 日志 CloudTrail 进行监控的角色策略文档。
在 CloudWatch 控制台中查看事件
将跟踪配置为将事件发送到 CloudWatch 日志日志组后,您可以在 CloudWatch 控制台中查看事件。 CloudTrail 通常在 API 调用后的平均大约 5 分钟内将事件传送到您的日志组。此时间并不能得到保证。有关更多信息,请参阅 Amazon CloudTrail 服务等级协议
在 CloudWatch 控制台中查看事件
打开 CloudWatch 控制台,网址为https://console.aws.amazon.com/cloudwatch/
。 -
在左侧导航窗格中,从日志下选择日志组。
-
选择为您的跟踪指定的日志组。
-
选择要查看的日志流。
-
要查看您的跟踪记录的事件的详细信息,请选择一个事件。
注意
CloudWatch 控制台中的时间 (UTC) 列显示事件何时传送到您的日志组。要查看记录事件的实际时间 CloudTrail,请参阅字eventTime
段。
使用配置 CloudWatch 日志监控 Amazon CLI
您可以使用配置 Amazon CLI 将事件发送 CloudTrail 到 CloudWatch 日志进行监控。
创建日志组
-
如果您没有现有的日志组,请使用 Logs
create-log-group
命令创建一个 CloudWatch 日志日志组作为日志事件的传输终端节点。 CloudWatchaws logs create-log-group --log-group-name
name
下面的示例创建一个名为
CloudTrail/logs
的日志组:aws logs create-log-group --log-group-name CloudTrail/logs
-
检索日志组 Amazon Resource Name(ARN)。
aws logs describe-log-groups
创建角色
为其创建一个角色 CloudTrail ,使其能够将事件发送到 CloudWatch 日志日志组。IAM create-role
命令接受两个参数:角色名称和代入角色策略文档 (JSON 格式) 的文件路径。您使用的策略文档AssumeRole
授予权限 CloudTrail。create-role
命令可创建具有所需权限的角色。
要创建包含此策略文档的 JSON 文件,请打开文本编辑器并将以下策略内容保存到名为 assume_role_policy_document.json
的文件中。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
运行以下命令来创建具有AssumeRole
权限的角色 CloudTrail。
aws iam create-role --role-name
role_name
--assume-role-policy-document file://<path to assume_role_policy_document>
.json
待命令完成后,记下输出中的角色 ARN。
创建策略文档
为创建以下角色策略文档 CloudTrail。本文档授予 CloudTrail 在您指定的 CloudWatch 日志组中创建日志日志流以及向该日志流传送 CloudTrail 事件所需的权限。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSCloudTrailCreateLogStream2014110", "Effect": "Allow", "Action": [ "logs:CreateLogStream" ], "Resource": [ "arn:aws:logs:
region
:accountID
:log-group:log_group_name
:log-stream:accountID
_CloudTrail_region
*" ] }, { "Sid": "AWSCloudTrailPutLogEvents20141101", "Effect": "Allow", "Action": [ "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:region
:accountID
:log-group:log_group_name
:log-stream:accountID
_CloudTrail_region
*" ] } ] }
将此策略文档保存到名为 role-policy-document.json
的文件中。
如果您要创建可能用于组织跟踪记录的策略,则需要对其进行稍微不同的配置。例如,以下策略授予 CloudTrail 在您指定的日志组中创建 CloudWatch 日志日志流以及向该日志流传送 CloudTrail 事件所需的权限,这些跟踪包括账户 111111111111 中的两个跟踪和在 111111111111 Amazon 账户中创建的组织跟踪,这些跟踪应用于 ID 为的组织: Amazon Organizations o-exampleorgid
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSCloudTrailCreateLogStream20141101", "Effect": "Allow", "Action": [ "logs:CreateLogStream" ], "Resource": [ "arn:aws:logs:us-east-2:111111111111:log-group:CloudTrail/DefaultLogGroupTest:log-stream:111111111111_CloudTrail_us-east-2*", "arn:aws:logs:us-east-2:111111111111:log-group:CloudTrail/DefaultLogGroupTest:log-stream:
o-exampleorgid
_*" ] }, { "Sid": "AWSCloudTrailPutLogEvents20141101", "Effect": "Allow", "Action": [ "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:us-east-2:111111111111:log-group:CloudTrail/DefaultLogGroupTest:log-stream:111111111111_CloudTrail_us-east-2*", "arn:aws:logs:us-east-2:111111111111:log-group:CloudTrail/DefaultLogGroupTest:log-stream:o-exampleorgid
_*" ] } ] }
有关组织跟踪记录的更多信息,请参阅为组织创建跟踪。
运行以下命令以将策略应用于角色。
aws iam put-role-policy --role-name
role_name
--policy-name cloudtrail-policy --policy-document file://<path to role-policy-document>
.json
更新跟踪
使用 CloudTrailupdate-trail
命令使用日志组和角色信息更新跟踪。
aws cloudtrail update-trail --name
trail_name
--cloud-watch-logs-log-group-arnlog_group_arn
--cloud-watch-logs-role-arnrole_arn
有关 Amazon CLI 命令的更多信息,请参阅《Amazon CloudTrail 命令行参考》。
限制
CloudWatch 日志和 EventBridge 每个日志允许的最大事件大小为 256 KB。尽管大多数服务事件的最大大小为 256 KB,但有些服务的事件仍然更大。 CloudTrail 不会将这些事件发送到 CloudWatch 日志或 EventBridge。
从 CloudTrail 事件版本 1.05 开始,事件的最大大小为 256 KB。这是为了帮助防止恶意行为者利用这些漏洞,并允许其他 Amazon 服务(例如 L CloudWatch ogs 和)使用事件 EventBridge。