这是我的政策:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1493711257000",
"Effect": "Allow",
"Action": [
"sqs:DeleteMessage",
"sqs:DeleteMessageBatch",
"sqs:GetQueueAttributes",
"sqs:GetQueueUrl",
"sqs:ListDeadLetterSourceQueues",
"sqs:ReceiveMessage",
"sqs:SendMessage",
"sqs:SendMessageBatch"
],
"Resource": [
"arn:aws:sqs:::q1",
"arn:aws:sqs:::q2",
"arn:aws:sqs:::q3"
]
}
]
}
在之前的版本中,我实际上有完全限定的队列名称。即。
"Resource": [
"arn:aws:sqs:us-west-2:1234567:q1",
"arn:aws:sqs:us-west-2:1234567:q2",
"arn:aws:sqs:us-west-2:1234567:q3"
]
但是我想让它们更通用,所以我尝试使用“:::”简写来替换区域和用户帐户标识符。它变成了我在这个问题开头发布的版本。
保存前,我使用“验证策略”仔细检查。它通过了验证。
然后我尝试在 中测试它IAM Policy Simulator
。我收到此错误:
那么我的策略到底出了什么问题?似乎我不能信任组策略编辑器中的验证功能。