Ресурс 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 | Идентификатор пользователя. |
| user_arn | Amazon Resource Name пользователя. |
| access_keys | Массив хэшей, каждый из которых содержит метаданные о ключах доступа пользователя. |
| inline_policy_names | Имена политик, непосредственно прикрепленных к пользователю. |
| attached_policy_names | Имя автономных политик IAM, прикрепленных к пользователю. |
| attached_policy_arns | arns автономных политик IAM, прикрепленных к пользователю. |
- has_mfa_enabled
- has_console_password
Примеры
В следующих примерах показано, как использовать этот ресурс аудита InSpec.
Проверка, что пользователь IAM не существует
describe aws_iam_user(user_name: 'invalid-user') do
it { should_not exist }
end
Проверка, что у пользователя IAM включен MFA
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
Управление пройдет, если describe вернёт хотя бы один результат.
Используйте 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/