AWS re:Postを使用することにより、以下に同意したことになります AWS re:Post 利用規約

Amazon SNS トピックにサブスクライバーを追加する際の認証エラーを解決するにはどうすればよいですか?

所要時間2分
0

Amazon Simple Notification Service (Amazon SNS) トピックにサブスクライバーを追加する際に表示される AWS Identity and Access Management (IAM) 認証エラーを解決したいと考えています。

簡単な説明

IAM エンティティSubscribe API アクション権限なしで Amazon SNS トピックにサブスクリプションを追加しようとすると、SNS は次のエラーを返します。

An error occurred (AuthorizationError) when calling the Subscribe operation: User: your_IAM_user_or_role is not authorized to perform: sns:Subscribe on resource: YOUR_SNS_TOPIC_ARN

**注:**IAM エンティティは IAM ユーザーまたはロールである可能性があります。

このエラーを解決するには、Amazon SNS トピックで Subscribe API アクションを実行するアクセス許可を IAM エンティティに付与します。

**「明示的な拒否」で終わる同様のエラーが表示される場合 **

IAM エンティティの SNS リソースへのアクセスを明示的に拒否するポリシーステートメントをすべて削除します。

解決策

IAM エンティティと SNS トピックが異なる AWS アカウントにある場合

次の両方を実行してください。

** IAM ポリシーステートメントを IAM エンティティにアタッチして、エンティティが「sns:Subscribe」アクションを実行できるようにする**

手順については、「IAM ID のアクセス許可の追加および削除」を参照してください。次の IAM ポリシーステートメントの例をアタッチします。

重要:****「YOUR_SNS_TOPIC_ARN」 は Amazon SNS トピックの Amazon リソースネーム (ARN) に置き換えてください。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "SNSSubscribePermission",
      "Effect": "Allow",
      "Action": "sns:Subscribe",
      "Resource": "YOUR_SNS_TOPIC_ARN"
    }
  ]
}

Amazon SNS ポリシーステートメントをトピックのアクセスポリシーにアタッチして、IAM エンティティが「sns:Subscribe」アクションを実行できるようにする

手順については、「Amazon SNS トピックのアクセスポリシーを編集するにはどうすればよいですか?」を参照してください。次の Amazon SNS ポリシーステートメントの例をアタッチします。

重要:****「YOUR_IAM USER/ROLE_ARN」 は IAM エンティティの ARN に置き換えてください。**「YOUR_SNS_TOPIC_ARN」**は Amazon SNS トピックの ARN に置き換えてください。

{
  "Sid": "AllowIAMEntity",
  "Effect": "Allow",
  "Principal": {
    "AWS": "YOUR_IAM USER/ROLE_ARN "
  },
  "Action": "sns:Subscribe",
  "Resource": "YOUR_SNS_TOPIC_ARN"
}

IAM エンティティと SNS トピックが同じアカウントにある場合

次のいずれかを実行します。

IAM ポリシーステートメントを IAM エンティティにアタッチして、エンティティが「sns:Subscribe」アクションを実行できるようにする

または、

Amazon SNS ポリシーステートメントをトピックのアクセスポリシーにアタッチして、IAM エンティティが「sns:Subscribe」アクションを実行できるようにする。

ポリシーステートメントの例については、この記事の「IAM エンティティと SNS トピックが異なる AWS アカウントにある場合」セクションを参照してください。

IAM エンティティのポリシーも SNS トピックのアクセスポリシーも SNS リソースへのアクセスを明示的に拒否していないことを確認する

IAM エンティティのポリシーと SNS トピックのアクセスポリシーを確認してください。次に、IAM エンティティによる SNS リソースへのアクセスを明示的に拒否するポリシーステートメントをすべて削除します。

詳細については、「明示的な拒否と暗黙的な拒否の違い」を参照してください。

関連情報

Using identity-based policies with Amazon SNS

AWS公式
AWS公式更新しました 1年前
コメントはありません

関連するコンテンツ