Ресурс aws_cloudtrail_trail
Используйте ресурс аудита InSpec aws_cloudtrail_trail для проверки свойств отдельной AWS CloudTrail.
Синтаксис
Блок ресурса aws_cloudtrail_trail определяет трейл по trail_name.
# Find a trail by name
describe aws_cloudtrail_trail('trail-name') do
it { should exist }
end
# Hash syntax for trail name
describe aws_cloudtrail_trail(trail_name: 'trail-name') do
it { should exist }
end
Параметры
trail_name (обязательно)
Этот ресурс ожидает один параметр — имя CloudTrail, которое его однозначно идентифицирует. Его можно передать как строку или как trail_name: 'value' ключ-значение в хэше.
См. также документацию AWS по CloudTrail.
Свойства
| Свойство | Описание |
|---|---|
| trail_arn | Указывает ARN трейла. |
| trail_name | Имя трейла. |
| home_region | Регион, в котором был создан трейл. |
| s3_bucket_name | Имя Amazon S3-бакета, в который CloudTrail отправляет файлы трейла. |
| cloud_watch_logs_role_arn | Указывает роль для конечной точки CloudWatch Logs, которую необходимо принять для записи в группу журналов пользователя. |
| cloud_watch_logs_log_group_arn | Указывает Amazon Resource Name (ARN) — уникальный идентификатор, представляющий группу журналов, в которую будут отправлены журналы CloudTrail. |
| kms_key_id | Указывает ID ключа KMS, который шифрует журналы, отправляемые CloudTrail. |
Примеры
Проверка существования указанного трейла
describe aws_cloudtrail_trail('my-cloudtrail') do
it { should exist }
end
describe aws_cloudtrail_trail(trail_name: 'my-cloudtrail') do
it { should exist }
end
Проверка используемого ключа KMS для шифрования
describe aws_cloudtrail_trail('my-cloudtrail') do
its('kms_key_id') { should eq "my-kms-key" }
end
Проверка правильности региона
describe aws_cloudtrail_trail('my-cloudtrail') do
its('home_region') { should eq 'us-east-1' }
end
Проверка, что указанный трейл является многорегиональным
describe aws_cloudtrail_trail('my-cloudtrail') do
it { should be_multi_region_trail }
end
Матчеры
Этот ресурс аудита InSpec имеет следующие специальные матчеры. Полный список доступных матчеров можно найти на нашей странице матчеров.
exist
Контроль пройдет, если describe вернет по крайней мере один результат.
Используйте should_not для проверки, что сущность не должна существовать.
# Verify that at least one CloudTrail Trail exists.
describe aws_cloudtrail_trail('my-cloudtrail') do
it { should exist }
end
be_multi_region_trail
Тест пройдёт, если определённый трейл является многорегиональным.
describe aws_cloudtrail_trail('my-cloudtrail') do
it { should be_multi_region_trail }
end
be_encrypted
Тест пройдет, если журналы, отправленные указанным трейлом, зашифрованы.
describe aws_cloudtrail_trail('my-cloudtrail') do
it { should be_encrypted }
end
be_log_file_validation_enabled
Тест пройдет, если для указанного трейла включена проверка целостности файлов логов.
describe aws_cloudtrail_trail('my-cloudtrail') do
it { should be_log_file_validation_enabled }
end
Разрешения AWS
Вашему Принципалу потребуются cloudtrail:DescribeTrails действие с эффектом Allow.
Подробную документацию можно найти по адресу Действия, ресурсы и ключи условий для AWS CloudTrail.
© 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_cloudtrail_trail/