Amazon SQS キューにアクセスするにはどのような権限が必要ですか?

所要時間2分
0

Amazon Simple Queue Service (Amazon SQS) キューにアクセスしたいと考えています。キューにアクセスするために、どのような SQS アクセスポリシーと AWS Identity and Access Management (IAM) ポリシーのアクセス許可が必要ですか?

解決方法

Amazon SQS キューにアクセスするには、SQS アクセスポリシー、IAM ポリシー、またはその両方にアクセス許可を追加する必要があります。特定のアクセス許可要件は、SQS キューと IAM ロールが同じアカウントからのものであるかどうかによって異なります。

同じアカウント

アクセスを許可するステートメントは、SQS アクセスポリシーまたは IAM ポリシーのいずれかで必要です。

: SQS アクセスポリシーまたは IAM ポリシーのいずれかが明示的にアクセスを許可し、他のポリシーで明示的にアクセスを拒否した場合、キューへのアクセスは拒否されます。

IAM ユーザーポリシーSQS アクセスポリシー結果
許可許可許可
許可許可も拒否もしない許可
許可拒否拒否
許可も拒否もしない許可許可
許可も拒否もしない許可も拒否もしない暗黙的な拒否
許可も拒否もしない拒否拒否
拒否許可拒否
拒否許可も拒否もしない拒否
拒否拒否拒否

別のアカウント

SQS アクセスポリシーと IAM ポリシーの両方で、アクセスを許可するステートメントが必要です。

IAM ユーザーポリシーSQS アクセスポリシー結果
許可許可許可
許可許可も拒否もしない暗黙的な拒否
許可拒否拒否
許可も拒否もしない許可暗黙的な拒否
許可も拒否もしない許可も拒否もしない暗黙的な拒否
許可も拒否もしない拒否拒否
拒否許可拒否
拒否許可も拒否もしない拒否
拒否拒否拒否

ポリシーステートメントの例

次のポリシー例は、SQS キューのクロスアカウントアクセスを許可するために IAM ポリシーと SQS キューアクセスポリシーで設定する必要があるアクセス許可を示しています。

最初のポリシーは、リソース arn:aws:sqs:us-east-1:123456789012:queue_1 にメッセージを送信するアクセス許可を username1 に付与します。

2 つ目のポリシーでは、username1 がキューにメッセージを送信することを許可します。

これらのポリシーの詳細については、「IAM ポリシータイプ: いつどのように使用するか」を参照してください。

username1 の IAM ポリシーステートメントの例

{
   "Version": "2012-10-17",
   "Statement": [{
      "Effect": "Allow",
      "Action": "sqs:SendMessage",
      "Resource": "arn:aws:sqs:us-east-1:123456789012:queue_1"
   }]
}

queue_1 の SQS リソースポリシーステートメントの例

{
   "Version": "2012-10-17",
   "Id": "Queue1_Policy",
   "Statement": [{
      "Sid":"Queue1_AllActions",
      "Effect": "Allow",
      "Principal": {
         "AWS": [
            "arn:aws:iam::111122223333:user/username1"
         ]
      },
      "Action": "sqs:SendMessage",
      "Resource": "arn:aws:sqs:us-east-1:123456789012:queue_1"
   }]
}

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

関連するコンテンツ