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