Ресурс 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
Ваш Принципал должен иметь следующие разрешения Allow: 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/