AWS IAM用户策略,用于限制对特定SQS队列的访问

inf*_*red 9 policy configuration amazon-sqs amazon-web-services amazon-iam

我正在尝试为AWS IAM用户设置用户策略以访问特定的AWS SQS队列.

当我尝试使用以下策略时,我收到错误AccessDenied.

{
  "Statement": [
    {
      "Action": ["sqs:*"],
      "Effect": "Allow",
      "Resource": ["arn:aws:sqs:us-east-1:my_aws_account_id:queue_name"]
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试使用相同的策略时,只使用*替换arn的queue_name部分,它可以工作:

{
  "Statement": [
    {
      "Action": ["sqs:*"],
      "Effect": "Allow",
      "Resource": ["arn:aws:sqs:us-east-1:my_aws_account_id:*"]
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

尝试限制对特定队列的访问时可能出现什么问题?

ply*_*awn 4

您尝试使用特定于队列的策略执行什么操作?我做了以下事情:

  1. 创建队列(均为默认值)
  2. 定义了一个 IAM 用户并添加了与 #1 格式相同的用户策略
  3. 添加一条消息、检索一条消息并删除一条消息 -没问题
  4. 执行了队列级别之上的操作(如列表队列)错误