步骤 3:添加/验证跨IAM账户目标的权限 - Amazon CloudWatch 日志

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

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

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

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

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

    aws sts get-caller-identity

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

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

    记下所代表的值 RoleName 或者 UserName.

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

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

    以下策略仅允许在单个 AWS 账户(账户)中对任何目标资源创建订阅筛选器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:*" ] } ] }

    以下策略仅允许在单个 AWS 账户(账户)sampleDestination中命名的特定目标资源上创建订阅筛选器123456789012

    { "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" ] } ] }