Kinesis Firehose エンドポイントを SNS トピックに登録しようとしたときにクロスアカウントパスロールが許可されない状況になるのをトラブルシューティングするには、どうすればよいですか?

所要時間1分
0

Amazon Kinesis Data Firehose を Amazon Simple Notification Service (SNS) トピックに登録しようとしたとき、「クロスアカウントパスロールは許可されていません」というエラーメッセージが表示されます。

簡単な説明

アカウント 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) ロールがあります。
  • 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 操作を実行する権限を与える必要があります。詳細については、「Kinesis Data Firehose 配信ストリームを Amazon SNS トピックに登録するための前提条件」を参照してください。

アカウント A の SNS トピックのアクセスポリシーにより、アカウント B が SNS: Subscribe アクションを実行できるかを確認します

アカウント B は、アカウント A の SNS トピックにアクセスして SNS: Subscribe アクションを実行するための適切な権限が必要となります。詳細については、「AWS アカウントにトピックへのアクセス権を付与する」を参照してください。
**注:**アカウント A のアクセスポリシーを更新すれば、より厳しい権限とアクセス条件の実装が可能です。

AWS公式
AWS公式更新しました 10ヶ月前
コメントはありません

関連するコンテンツ