我该如何解决在尝试向 SNS 主题订阅 Kinesis Firehose 端点时不允许跨账户传递角色的问题?

1 分钟阅读
0

在向 Amazon Simple Notification Service(SNS)主题订阅 Amazon Kinesis Data Firehose 时,我收到错误消息“不允许跨账户传递角色”。

简短描述

您已经在账户 A 中配置了 Amazon Simple Notification Service(SNS)主题,在账户 B 中配置了 Amazon Kinesis Data Firehose。要在 SNS 和 Kinesis Data Firehose 之间创建跨账户订阅,请确认以下内容:

  • 系统会在同样拥有 Kinesis Data Firehose 的账户 B 中创建订阅。
  • 订阅具有 AWS Identity and Access Management(IAM)角色,以及 Kinesis 权限。
  • IAM 角色的信任策略已更新,允许 SNS 服务代入该角色。
  • 账户 A 中 SNS 主题的访问策略允许账户 B 执行 SNS:Subscribe 操作。

解决方法

确认订阅是在同时也有 Kinesis Data Firehose 的账户 B 中创建

按如下方式在账户 B 中创建订阅:

  1. 登录 AWS 管理控制台,导航到 Amazon SNS 控制台
  2. 选择订阅。然后,选择创建订阅
  3. 创建 Amazon Data Firehose 订阅。有关更多信息,请参阅向 Amazon SNS 主题订阅 Kinesis Data Firehose 传输流

确认 IAM 角色具有 Kinesis 权限,并且相关的信任策略允许 SNS 服务代入该角色

订阅需要一个信任 Amazon SNS 服务主体并具有写入传输流权限的 IAM 角色。策略必须至少提供在特定传输流上运行 PutRecord 操作的权限。有关更多信息,请参阅向 Amazon SNS 主题订阅 Kinesis Data Firehose 传输流的先决条件

确认账户 A 中 SNS 主题的访问策略允许账户 B 执行 SNS:Subscribe 操作

账户 B 需要相应的权限来访问账户 A 中的 SNS 主题以及执行 SNS:Subscribe 操作。有关更多信息,请参阅授予 AWS 账户访问主题的权限
**注意:**您可以更新账户 A 中的访问策略,来实施更严格的权限和访问条件。

AWS 官方
AWS 官方已更新 10 个月前