Ресурс aws_iam_access_keys
Используйте ресурс аудита InSpec aws_iam_access_keys для проверки свойств некоторых или всех ключей доступа AWS IAM.
Синтаксис
Блок ресурса aws_iam_access_keys возвращает все ключи доступа IAM и позволяет проверить эту группу ключей доступа.
describe aws_iam_access_keys do
it { should exist }
its('access_key_ids') { should include 'AKIA1111111111111111' }
end
Параметры
Этот ресурс принимает единственный необязательный параметр — имя пользователя, для которого необходимо получить все ключи доступа. Если параметр не указан, будут получены все ключи доступа для всех пользователей.
username (необязательно)
Имя пользователя IAM, для которого необходимо получить ключи доступа. Его можно передать как строку или как username: 'value' пару ключ-значение в хэше.
См. также документацию AWS по ключам доступа IAM.
Свойства
| Свойство | Описание |
|---|---|
| access_key_id | Идентификатор ключа доступа. |
| username | Имя пользователя IAM, связанное с ключом доступа. |
| active | Указывает, является ли статус ключа активным. |
| inactive | Указывает, является ли статус ключа неактивным. |
| ever_used | Указывает, использовался ли ключ хотя бы один раз. |
| never_used | Указывает, использовался ли ключ никогда. |
| create_date | Дата создания ключа доступа. |
| created_days_ago | Сколько дней назад был создан ключ доступа. |
| created_hours_ago | Сколько часов назад был создан ключ доступа. |
| created_with_user | Булево значение, указывающее, был ли ключ доступа создан с пользователем. |
| last_used_date | Дата последнего использования ключа доступа. |
| last_used_hours_ago | Сколько часов назад ключ был последний раз использован. |
| last_used_days_ago | Сколько дней назад ключ был последний раз использован. |
| user_created_date | Дата создания соответствующего пользователя. |
| entries | Предоставляет доступ к исходным результатам запроса, которые можно рассматривать как массив хэшей. |
Примеры
Проверка всех активных ключей
describe aws_iam_access_keys.where(active: true) do
its('access_key_ids') { should include 'AKIA1111111111111111' }
end
Убедитесь, что у пользователя нет ключей доступа
describe aws_iam_access_keys.where(username: 'untrusted-account') do
it { should_not exist }
end
Обработчики
Полный список доступных обработчиков вы найдете на нашей странице обработчиков.
exist
Управление будет передано, если описание вернет как минимум один результат.
Используйте should_not для проверки, что сущность не должна существовать.
it { should exist }
it { should_not exist }
Разрешения AWS
Вашему Принципалу потребуется установить следующие разрешения на разрешение: iam:GetUser iam:GetAccessKeyLastUsed iam:ListUsers iam:ListAccessKeys
© 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_access_keys/