#amazon-web-services #amazon-cloudformation #amazon-sqs
Вопрос:
Я хочу развернуть очередь SQS из шаблона CloudFormation. Есть ли какие-либо проблемы с моим шаблоном?
configurationQueue:
Type: 'AWS::SQS::Queue'
Properties:
QueueName: configuration-queue
VisibilityTimeout: 60
MessageRetentionPeriod: 86400
SQSQueuePolicy:
Type: 'AWS::SQS::QueuePolicy'
Properties:
PolicyDocument:
Version: 2012-10-17
Statement:
- Effect: Allow
Principal:
AWS: '*'
Action:
- 'sqs:CreateQueue'
- 'sqs:DeleteMessage'
- 'sqs:GetQueueAttributes'
- 'sqs:GetQueueUrl'
- 'sqs:ListQueueTags'
- 'sqs:ListQueues'
- 'sqs:ReceiveMessage'
- 'sqs:SendMessage
Resource: "arn:aws:sqs:us-west-2:****configuration-queue"
Queues:
- !Ref configurationQueue
Это команда, которую я использовал
cfn-lint sqs-resources.yaml
и в этом заключается ошибка
Комментарии:
1. Вы можете довольно легко проверить синтаксис шаблона с помощью awscli, но мы не можем проверить семантику вашего шаблона, потому что вы не указали, каковы требования.
2. Привет, @jarmod Я просто хочу создать простой sqs ctf, есть ли какая-либо ошибка c в моем коде?
3. Нет, это почти наверняка неправильно, но мы не знаем, что такое «правильно», потому что мы не знаем, чего вы хотите достичь. Тем не менее, очевидные ошибки являются основными — вы почти никогда не должны использовать AWS:*, но вместо этого ограничивайте его минимальным набором учетных записей AWS (например, номером вашей учетной записи). Действия обычно должны включать только sqs:SendMessage и/или sqs:ReceiveMessage — похоже, вы путаете политику ресурсов SQS с политикой IAM. Вот несколько примеров .
4. @WCY Вы можете использовать cfn-lint, cfn-nag для проверки шаблона CFN. dev.to/namuny/…
5. @deechris27 Я устанавливаю cfn-lint и тестирую его , но получаю такую ошибку, потому что он может использоваться только в vscode?
Ответ №1:
sqs:SendMessage
отсутствует конечная цитата
Рекомендуем попробовать линтер CloudFormation в VSCode, чтобы увидеть некоторые из этих ошибок встраиваемыми при создании шаблонов вместе со ссылками на автозаполнение и документацию
Комментарии:
1. Я устанавливаю cfn-lint и тестирую его , но получаю такую ошибку, потому что он может использоваться только в vscode
2.
cfn-lint
также может использоваться вне VSCode