Ресурс aws_sqs_queue
Используйте ресурс аудита InSpec aws_sqs_queue для проверки свойств отдельной очереди AWS Simple Queue Service.
Синтаксис
describe aws_sqs_queue(queue_url: 'https://sqs.ap-southeast-2.amazonaws.com/1212121/MyQueue') do
it { should exist }
end
Параметры
queue_url (обязательно)
Этот ресурс принимает один параметр — URL очереди SQS. Он может быть передан либо как строка, либо как queue_url: 'value' запись ключ-значение в хэше.
См. также документацию AWS по SQS.
Свойства
| Свойство | Описание |
|---|---|
| arn | ARN очереди SQS. |
| is_fifo_queue | Булево значение, указывающее, является ли эта очередь очередью FIFO. |
| visibility_timeout | Целое число, указывающее тайм-аут видимости сообщения в секундах. |
| maximum_message_size | Целое число, указывающее максимальный размер сообщения в байтах. |
| message_retention_period | Целое число, указывающее максимальный срок хранения сообщения в секундах. |
| delay_seconds | Целое число, указывающее задержку очереди в секундах. |
| receive_message_wait_timeout_seconds | Целое число, указывающее количество секунд, в течение которого попытка получения сообщения будет ожидать перед возвратом. |
| content_based_deduplication | Булево значение, указывающее, включена ли или нет дедупликация на основе содержимого. |
| redrive_policy | Строка, указывающая политику перенаправления. |
Примеры
Убедитесь, что очередь существует и имеет тайм-аут видимости 300 секунд
describe aws_sqs_queue('https://sqs.ap-southeast-2.amazonaws.com/1212121/MyQueue') do
it { should exist }
its('visibility_timeout') { should be 300 }
end
Убедиться, что максимальный размер сообщения установлен
describe aws_sqs_queue('https://sqs.ap-southeast-2.amazonaws.com/1212121/MyQueue') do
its('maximum_message_size') { should be 262144 } # 256 KB
end
Проверить время задержки
describe aws_sqs_queue('https://sqs.ap-southeast-2.amazonaws.com/1212121/MyQueue') do
its('delay_seconds') { should be 0 }
end
Убедиться, что сообщения хранятся в течение 4 дней
describe aws_sqs_queue('https://sqs.ap-southeast-2.amazonaws.com/1212121/MyQueue') do
its('message_retention_period') { should be 345600 } # 4 days
end
Проверить, является ли очередь FIFO
describe aws_sqs_queue('https://sqs.ap-southeast-2.amazonaws.com/1212121/MyQueue') do
its('is_fifo_queue') { should be false }
end
Сопоставители
Этот ресурс аудита InSpec имеет следующие специальные сопоставители. Полный список доступных сопоставителей см. на нашей странице сопоставителей.
exist
Контроль пройдет, если describe вернет по крайней мере один результат.
Используйте should_not для проверки того, что сущность не должна существовать.
describe aws_sqs_queue('https://sqs.ap-southeast-2.amazonaws.com/1212121/MyQueue') do
it { should exist }
end
describe aws_sqs_queue('https://sqs.ap-southeast-2.amazonaws.com/1212121/MyQueueWhichDoesntExist') do
it { should_not exist }
end
Разрешения AWS
Вашему Принципалу потребуется sqs:GetQueueAttributes действие с установленным значением Effect на Allow. Более подробную документацию можно найти по адресу Действия, ресурсы и ключи условий для Amazon SQS.
© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/inspec/resources/aws_sqs_queue/