我正在尝试向现有的iam用户添加一个可以在两个s3存储桶上执行Crud操作的策略,这是当前有效的策略
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "devcontrol",
"Effect": "Allow",
"Action": [
"s3:Get*",
"s3:Put*",
"s3:DeleteObject",
"s3:DeleteObjectVersion"
],
"Resource": [
"arn:aws:s3:::blahimages/*",
"arn:aws:s3:::blahvideos/*"
]
}
]
}
sqs文档中的示例策略是这样的
{
"Version": "2012-10-17",
"Statement":[{
"Effect":"Allow",
"Action":"sqs:*",
"Resource":"arn:aws:sqs:*:123456789012:bob_queue*"
}
]
}
所以我尝试了这个
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "devcontrol",
"Effect": "Allow",
"Action": [
"s3:Get*",
"s3:Put*",
"s3:DeleteObject",
"s3:DeleteObjectVersion"
],
"Resource": [
"arn:aws:s3:::blahimages/*",
"arn:aws:s3:::blahvideos/*"
]
},
{
"Effect":"Allow",
"Action":"sqs:*",
"Resource":"arn:aws:sqs:*:myarn"
}
]
}
我没有收到任何解析错误,但模拟器仍返回拒绝访问的sqs队列
我还真的只是希望该用户能够将消息添加到队列,接收并删除消息,而上述策略将添加我认为的所有操作
您的SQS ARN无效:"arn:aws:sqs:*:myarn"
。
您应该arn:aws:sqs:<region name>:<account id>:<queue name>
改用。(您缺少<account id>
)。
*
如果您希望策略在多个区域中有效,则可以将区域名称替换为。但是,帐户ID是必需的,因为队列名称仅在AWS Master帐户和区域中是唯一的。
有关有效SQS策略的示例,请参见http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/SQSExamples.html。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句