Ресурс aws_iam_user
Используйте ресурс аудита InSpec aws_iam_user для проверки свойств одного пользователя AWS IAM.
Синтаксис
Блок ресурса aws_iam_user объявляет тесты для одного пользователя AWS IAM по имени пользователя.
describe aws_iam_user(user_name: 'psmith') do
it { should exist }
end
Параметры
user_name (обязательно)
Этот ресурс принимает один параметр — имя пользователя, которое однозначно идентифицирует пользователя. Его можно передать либо как строку, либо как user_name: 'value' пару ключ-значение в хэше.
См. также документацию AWS по пользователям IAM.
Свойства
| Свойство | Описание |
|---|---|
| username | Имя пользователя. |
| user_id | ID пользователя. |
| user_arn | Amazon Resource Name пользователя. |
| access_keys | Массив хэшей, каждый из которых содержит метаданные об ключах доступа пользователя. |
| inline_policy_names | Имена политик, непосредственно присоединённых к пользователю. |
| attached_policy_names | Имена автономных политик IAM, присоединённых к пользователю. |
| attached_policy_arns | ARN автономных политик IAM, присоединённых к пользователю. |
- has_mfa_enabled
- has_console_password
Примеры
В следующих примерах показано, как использовать этот ресурс аудита InSpec.
Проверка отсутствия пользователя IAM
describe aws_iam_user(user_name: 'invalid-user') do
it { should_not exist }
end
Проверка наличия MFA у пользователя IAM
describe aws_iam_user('psmith') do
it { should exist }
it { should have_mfa_enabled }
end
Обеспечение отсутствия ключей доступа или встроенных политик у пользователя
describe aws_iam_user('psmith') do
it { should exist }
its('access_keys') { should be_empty }
its('inline_policy_names') { should be_empty }
end
Сопоставители
Этот ресурс аудита InSpec имеет следующие специальные сопоставители. Полный список доступных сопоставителей можно найти на странице сопоставителей.
exist
Управление выполнится успешно, если описание вернёт как минимум один результат.
Используйте should_not для проверки, что сущность отсутствует.
it { should exist }
has_mfa_enabled
Это проверяет, включена ли многофакторная аутентификация для запрошенного пользователя.
it { should have_mfa_enabled }
has_console_password
Это гарантирует, что у пользователя установлен консольный пароль.
it { should have_console_password }
Разрешения AWS
Вашему Принципалу потребуются следующие разрешения для действия: iam:GetUser iam:GetLoginProfile 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_user/