我正在尝试使用cloudformation创建一个sqs队列,但是在控制台中始终出现此错误。
API: sqs:CreateQueue Access to the resource https://sqs.us-east-1.amazonaws.com/ is denied.
显然,我缺少某种许可。这个guide并没有真正说明我该如何解决。
这是我编写的代码:
AWSTemplateFormatVersion: "2010-09-09"
Resources:
MyQueue:
Type: AWS::SQS::Queue
Properties:
FifoQueue: false
QueueName: sqs-test
ReceiveMessageWaitTimeSeconds: 20
RedrivePolicy:
deadLetterTargetArn:
Fn::GetAtt:
- "MyDLQ"
- "Arn"
maxReceiveCount: 4
Tags:
-
Key: "ProjectName"
Value: "project-x"
MyDLQ:
Type: AWS::SQS::Queue
Properties:
FifoQueue: false
QueueName: sqs-dlq-test
我正在尝试了解doc。但是我不确定如何附加策略以允许创建队列。有人请给我一个完整的例子。
最佳答案
泰隆就您的问题发表了评论。检查执行CloudFormation的用户的权限。如果直接运行命令,通常很容易检查。在某些情况下,您可能正在使用自动化的更复杂环境。
我发现对自动化环境中的权限进行故障排除的最佳方法是通过CloudTrail。在任何API调用失败之后,无论是从CLI,CloudFormation还是其他来源,您都可以在CloudTrail中查找该调用。
在这种情况下,在失败的时间范围内搜索“Event Name” =“CreateQueue”将显示具有以下详细信息的结果:
就我而言,运行自动化的特定EC2实例已过时,需要进行更新以使用正确的IAM角色/实例配置文件。 CloudTrail帮助我进行了跟踪。
关于amazon-cloudformation - API:sqs:CreateQueue始终被拒绝,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52860945/