Использование ruby-sdk AWS с проблемой именованных профилей Inspec

Попытка очистить некоторые тесты для IaC с помощью Inspec, но жесткое кодирование security_group_ids не подходит по очевидным причинам.

Вместо этого я пытаюсь использовать ruby ​​sdk для извлечения id на основе name (т.е. как вы делаете с Terraform data ресурсами).

Но мы работаем с aws named profiles, и хотя Inspec может подключаться к именованным профилям, когда я запускаю тест, т.е.:

inspec exec . -t aws://prod_account

Можно ли из Inspec связать вызов aws named profiles с рубиновым кодом внутри элемента управления?


person Staggerlee011    schedule 08.03.2021    source источник


Ответы (1)


поскольку inspec написан на ruby, вы можете встроить любой код ruby ​​в свои файлы спецификаций. например, вы можете иметь рубиновый код с массивом и для каждого массива иметь код спецификации.

таким образом, вы можете реализовать логику для сбора идентификаторов групп безопасности, а затем перебирать их.

person Mr.    schedule 10.03.2021
comment
Привет, да, код работает, но если у меня не настроен профиль по умолчанию, ошибки кода ruby ​​sdk не могут подключиться. Я могу настроить именованный профиль, жестко закодированный в ruby, но inspec игнорирует это. Я пытался запустить lumigo-cli switch-profile, чтобы использовать inspec exec . -t aws://, но теперь все inspec терпит неудачу, а ruby ​​работает :( - person Staggerlee011; 10.03.2021
comment
Вы пытались использовать переменную среды и получить ее в своем коде ruby? - person Mr.; 10.03.2021