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

最終更新日: 2021 年 5 月 21 日

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

簡単な説明

このエラーは、SNS トピックにサブスクリプションを追加する IAM エンティティが、SNS トピックに対して SNS:Subscribe オペレーションを実行することを許可されていない場合に発生します。

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 ユーザー、グループ、またはロールである可能性があります。

解決方法

IAM エンティティと SNS トピックが異なる AWS アカウントにある場合は、ステップ 1 と 2 を実行します。

IAM エンティティと SNS トピックが同じ AWS アカウントにある場合は、ステップ 1 または 2 のいずれかを実行します。同じアカウントに属する SNS トピック用のアクセス許可をユーザーに付与するには、IAM ポリシー、Amazon SNS ポリシー、またはその両方を使用できます。

1.    SNS トピックにサブスクリプションを追加しようとしている IAM ユーザーまたはロールに、次の IAM ポリシーをアタッチします。

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

2.    SNS トピックのアクセスポリシーで IAM エンティティから SNS:Subscribe オペレーションを許可します。例:

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

3.    ステップ 1 または 2 のいずれかのポリシーに明示的な拒否がないことを確認します。明示的な拒否がある場合は、次のエラーが表示されることがあります。

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 with an explicit deny

注: 明示的な拒否は、IAM ポリシーまたは SNS アクセスポリシーの許可ステートメントを上書きします。


この記事はお役に立ちましたか?


請求に関するサポートまたは技術サポートが必要ですか?