步骤 3:添加/验证跨账户目标的 IAM 权限 - Amazon CloudWatch 日志
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

步骤 3:添加/验证跨账户目标的 IAM 权限

根据 Amazon 跨账户策略评估逻辑,为访问任何跨账户资源(例如用作订阅筛选条件目标的 Kinesis 或 Firehose 流),您必须在发送账户中设置基于身份的策略,该策略提供对跨账户目标资源的明确访问权限。有关策略评估逻辑的更多信息,请参阅跨账户策略评估逻辑

您可以将基于身份的策略附加到用于创建订阅筛选条件的 IAM 角色或 IAM 用户。此策略必须位于发送账户中。如果您使用管理员角色创建订阅筛选条件,则可以跳过此步骤继续前进至 步骤 4:创建订阅筛选条件

添加或验证跨账户所需的 IAM 权限
  1. 输入以下命令以检查使用哪个 IAM 角色或 IAM 用户来运行 Amazon 日志命令。

    aws sts get-caller-identity

    该命令返回的输出类似于下方内容:

    { "UserId": "User ID", "Account": "sending account id", "Arn": "arn:aws:sending account id:role/user:RoleName/UserName" }

    记下由 RoleNameUserName 表示的值。

  2. 登录发送账户中的 Amazon Web Services Management Console,使用您在步骤 1 所输入命令的输出中返回的 IAM 角色或 IAM 用户来搜索附加的策略。

  3. 验证附加到该角色或用户的策略是否提供在跨账户目标资源上调用 logs:PutSubscriptionFilter 的明确权限。下面的示例策略显示了建议的权限。

    以下策略提供权限,仅在单个 Amazon 账户(账户 123456789012)中对任何目标资源创建订阅筛选条件:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "Allow subscription filters on any resource in one specific account", "Effect": "Allow", "Action": "logs:PutSubscriptionFilter", "Resource": [ "arn:aws:logs:*:*:log-group:*", "arn:aws:logs:*:123456789012:destination:*" ] } ] }

    以下策略提供权限,仅在单个 Amazon 账户(账户 123456789012)中对名为 sampleDestination 的特定目标资源创建订阅筛选条件:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "Allow subscription filters on one specific resource in one specific account", "Effect": "Allow", "Action": "logs:PutSubscriptionFilter", "Resource": [ "arn:aws:logs:*:*:log-group:*", "arn:aws:logs:*:123456789012:destination:sampleDestination" ] } ] }