本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
步骤 3:添加/验证跨IAM账户目标的权限
根据 AWS 跨账户策略评估逻辑,要访问任何跨账户资源(例如用作订阅过滤器目标的 Kinesis 或 Firehose 流),您必须在发送账户中设置基于身份的策略,该策略提供对跨账户目标资源的明确访问权限。有关策略评估逻辑的更多信息,请参阅跨账户策略评估逻辑。
您可以将基于身份的策略附加到用于创建订阅筛选器的IAM角色或IAM用户。此策略必须位于发送账户中。如果您使用管理员角色创建订阅筛选条件,则可以跳过此步骤继续前进至 步骤 4:创建订阅筛选条件。
添加或验证跨IAM账户所需的权限
输入以下命令以检查使用哪个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
.登录发送账户并使用您在步骤 1 AWS Management Console 中输入的命令的输出中返回的IAM角色或IAM用户来搜索附加的策略。
验证附加到该角色或用户的策略是否提供在跨账户目标资源上调用
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" ] } ] }