Ресурс aws_iam_users
Используйте ресурс проверки InSpec, чтобы протестировать свойства некоторых или всех пользователей AWS IAM.
Синтаксис
Блок ресурса aws_iam_users возвращает всех пользователей IAM и позволяет проверить эту группу пользователей.
describe aws_iam_users do
its('usernames') { should include 'payroll-admin' }
end
Параметры
Этот ресурс не ожидает никаких параметров.
См. также документацию AWS по пользователям IAM.
Свойства
| Свойство | Описание |
|---|---|
| usernames | Имена пользователей возвращенных пользователей. |
| user_arns | Имена ресурсов Amazon возвращенных пользователей. |
| user_ids | Идентификаторы возвращенных пользователей. |
| access_keys | Массив ключей доступа, принадлежащих каждому пользователю. |
| has_attached_policies | Установлено ли для пользователя прикрепленных политик IAM. |
| attached_policy_names | Имена (если есть) прикрепленных политик IAM к пользователю. |
| attached_policy_arns | Имена ресурсов Amazon (если есть) прикрепленных политик IAM к пользователю. |
| has_console_password | Установлен ли для пользователя пароль консоли. |
| has_inline_policies | Булево значение, указывающее, установлены ли для пользователя политики непосредственно. |
| inline_policy_names | Имена политик (если есть), которые установлены непосредственно для пользователя. |
| has_mfa_enabled | Булево значение, указывающее, включена ли для пользователя MFA. |
| password_ever_used? | Использовал ли пользователь свой пароль консоли хотя бы раз. |
| password_last_used_days_ago | Количество дней, прошедших с момента последнего использования пользователем пароля консоли. Возвращает -1, если пароль никогда не использовался. |
| entries | Предоставляет доступ к необработанным результатам запроса, которые могут быть обработаны как массив хэшей. |
Примеры
Убедитесь, что нет пользователей, у которых не включена MFA.
describe aws_iam_users.where( has_mfa_enabled: false) do
it { should_not exist }
end
Убедитесь, что нет пользователей с встроенными политиками
describe aws_iam_users.where(has_inline_policies: true) do
its('usernames') { should be_empty }
end
Убедитесь, что нет пользователей с прикрепленными политиками
describe aws_iam_users.where(has_attached_policies: true) do
its('usernames') { should be_empty }
end
Сопоставители
Полный список доступных сопоставителей можно найти на нашей странице сопоставителей.
exist
Управление будет пройдено, если описание вернет по крайней мере один результат.
Используйте should_not для проверки, что сущность не должна существовать.
describe aws_iam_users.where( <property>: <value>) do
it { should exist }
end
describe aws_iam_users.where( <property>: <value>) do
it { should_not exist }
end
Разрешения AWS
Вашему Принципалу потребуется установить следующие разрешения на «Разрешить»: iam:GetLoginProfile iam:ListUsers iam:ListMFADevices iam:ListAccessKeys iam:ListUserPolicies iam:ListAttachedUserPolicies
© 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_iam_users/