步骤 1:更新订阅筛选条件 - Amazon CloudWatch Logs
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

步骤 1:更新订阅筛选条件

您必须更新向目标账户发送日志的所有发件人账户中的订阅筛选条件。此更新添加了 IAM 角色,CloudWatch 可以承担该角色,并验证发件人账户是否有向收件人账户发送日志的权限。

请按照本节中的步骤为您要更新的每个发件人账户执行操作,以使用企业 ID 获得跨账户订阅权限。

在本节的示例中,111111111111222222222222 两个账户已经创建了用于向账户 999999999999 发送日志的订阅筛选条件。现有的订阅筛选条件值如下:

## Existing Subscription Filter parameter values \ --log-group-name "my-log-group-name" \ --filter-name "RecipientStream" \ --filter-pattern "{$.userIdentity.type = Root}" \ --destination-arn "arn:aws:logs:region:999999999999:destination:testDestination"

如果需要查找当前订阅筛选条件参数值,请输入以下命令。

aws logs describe-subscription-filters \ --log-group-name "my-log-group-name"

要更新订阅筛选条件以开始使用企业 ID 获取跨账户日志权限

  1. 请在文件 /TrustPolicyForCWLSubscriptionFilter.json 中创建以下信任策略。使用文本编辑器创建此策略文件;请勿使用 IAM 控制台来创建。

    { "Statement": { "Effect": "Allow", "Principal": { "Service": "logs.region.amazonaws.com" }, "Action": "sts:AssumeRole" } }
  2. 创建一个使用此策略的 IAM 角色。记录该命令返回的 Arn 值的 Arn 值,您将需要在本过程的后面部分中使用该值。在此示例中,我们将 CWLtoSubscriptionFilterRole 用作我们所创建的角色名称。

    aws iam create-role \ --role-name CWLtoSubscriptionFilterRole \ --assume-role-policy-document file://~/TrustPolicyForCWL.json
  3. 创建权限策略以定义 CloudWatch Logs 可对您的账户执行的操作。

    1. 首先,使用文本编辑器在名为 /PermissionsForCWLSubscriptionFilter.json 的文件中创建以下权限策略。

      { "Statement": [ { "Effect": "Allow", "Action": "logs:PutLogEvents", "Resource": "arn:aws:logs:region:111111111111:log-group:LogGroupOnWhichSubscriptionFilterIsCreated:*" } ] }
    2. 输入以下命令,以将刚创建的权限策略与您在步骤 2 中创建的角色相关联。

      aws iam put-role-policy \ --role-name CWLtoSubscriptionFilterRole \ --policy-name Permissions-Policy-For-CWL-Subscription-filter \ --policy-document file://~/PermissionsForCWLSubscriptionFilter.json
  4. 输入以下命令以更新订阅筛选条件。

    aws logs put-subscription-filter \ --log-group-name "my-log-group-name" \ --filter-name "RecipientStream" \ --filter-pattern "{$.userIdentity.type = Root}" \ --destination-arn "arn:aws:logs:region:999999999999:destination:testDestination" \ --role-arn "arn:aws:iam::111111111111:role/CWLtoSubscriptionFilterRole"