Spec-Zone.ru › Chef 16

Ресурс aws_iam_user

[редактировать на GitHub]

Используйте ресурс аудита 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/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API