community.aws.cloudtrail – управление CloudTrail созданием, удалением, обновлением
Примечание
Этот плагин является частью коллекции community.aws (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install community.aws.
Для использования в книге задач укажите: community.aws.cloudtrail.
Новое в версии 1.0.0: of community.aws
Обзор
- Создаёт, удаляет или обновляет конфигурацию CloudTrail. Обеспечивает также включение ведения журнала.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- boto
- boto3
- botocore
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| aws_access_key строка | Ключ доступа AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY. Если параметр profile задан, этот параметр игнорируется. Одновременное указание параметров aws_access_key и profile устарело и станет взаимоисключающим после 2022-06-01. псевдонимы: ec2_access_key, access_key | |
| aws_ca_bundle путь | Расположение пакета CA для проверки SSL-сертификатов. Используется только для модулей на основе boto3. Примечание: Пакет CA считывается со стороны «модуля» и может потребоваться его явное копирование с контроллера, если он не запускается локально. | |
| aws_config словарь | Словарь для изменения конфигурации botocore. Параметры можно найти по адресу https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. Для boto-модулей используется только ключ «user_agent». См. http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto для дополнительной конфигурации boto. | |
| aws_secret_key строка | Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY. Если параметр profile задан, этот параметр игнорируется. Одновременное указание параметров aws_secret_key и profile устарело и станет взаимоисключающим после 2022-06-01. псевдонимы: ec2_secret_key, secret_key | |
| cloudwatch_logs_log_group_arn строка | Полный ARN, указывающий на допустимую группу журналов CloudWatch, в которую будут передаваться журналы CloudTrail. Группа журналов должна уже существовать. Требуется при cloudwatch_logs_role_arn. | |
| cloudwatch_logs_role_arn строка | Указывает полный ARN для роли IAM, которая назначает соответствующие разрешения для CloudTrail для создания и записи в группу журналов. Требуется при cloudwatch_logs_log_group_arn. | |
| debug_botocore_endpoint_logs булево |
| Используйте обработчик логирования botocore.endpoint для анализа уникальных (а не общих) API-вызовов «ресурс:действие», выполненных во время задачи, выводя набор в ключ resource_actions результатов задачи. Используйте обратный вызов aws_resource_action для вывода в общий список, созданный во время книги задач. Переменная среды ANSIBLE_DEBUG_BOTOCORE_LOGS также может быть использована. |
| ec2_url строка | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где необходим регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной среды EC2_URL, если она есть. псевдонимы: aws_endpoint_url, endpoint_url | |
| enable_log_file_validation булево |
| Указывает, включена ли проверка целостности файла журнала. CloudTrail создаёт хеш для каждого файла журнала и создаёт подписанный файл дайджеста, который можно использовать для проверки того, что файлы журналов не были изменены. псевдонимы: log_file_validation_enabled |
| enable_logging булево |
| Начать или остановить ведение журнала CloudTrail. При остановке трейл будет приостановлен и не будет записывать события или передавать файлы журналов. |
| include_global_events булево |
| Записывать API-вызовы из глобальных служб, таких как IAM и STS. псевдонимы: include_global_service_events |
| is_multi_region_trail булево |
| Указывает, принадлежит ли трейл только одному региону или существует во всех регионах. |
| kms_key_id строка | Указывает идентификатор ключа KMS, который будет использоваться для шифрования журналов, передаваемых CloudTrail. Это также приводит к включению шифрования файлов журналов. Значение может быть псевдонимом, начинающимся с «alias/», полностью указанным ARN псевдонима, полностью указанным ARN ключа или глобально уникальным идентификатором. | |
| name строка | По умолчанию: "default" | Имя CloudTrail. Имена уникальны в каждом регионе, за исключением случаев, когда CloudTrail является трейлом нескольких регионов, в этом случае оно уникально для каждой учётной записи. |
| profile строка | Использует профиль boto. Работает только с boto >= 2.24.0. Использование profile переопределит aws_access_key, aws_secret_key и security_token, а поддержка одновременного указания их вместе с profile устарела.
aws_access_key, aws_secret_key и security_token будут взаимоисключающими с profile после 2022-06-01. псевдонимы: aws_profile | |
| region строка | Регион AWS для использования. Если не указан, используется значение переменной среды AWS_REGION или EC2_REGION, если она есть. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region
псевдонимы: aws_region, ec2_region | |
| s3_bucket_name строка | Существующее хранилище S3, куда CloudTrail будет передавать файлы журналов. Это хранилище должно существовать и иметь соответствующую политику. Требуется при state=present. | |
| s3_key_prefix строка | Префикс ключа S3 для переданных файлов журналов. Конечный слэш не нужен и будет удалён. | |
| security_token строка | Токен безопасности AWS STS. Если не задан, используется значение переменной среды AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Если параметр profile задан, этот параметр игнорируется. Одновременное указание параметров security_token и profile устарело и станет взаимоисключающим после 2022-06-01. псевдонимы: aws_security_token, access_token | |
| sns_topic_name строка | Имя темы SNS для отправки уведомлений при передаче файла журнала. | |
| state строка |
| Добавить или удалить конфигурацию CloudTrail. Следующие состояния сохранены для обратной совместимости: state=enabled и state=disabled.
state=enabled эквивалентно state=present.
state=disabled эквивалентно state=absent. |
| tags словарь | По умолчанию: {} | Словарь тегов для применения к ресурсу CloudTrail. Удалить полностью или указать пустой словарь для удаления всех тегов. |
| validate_certs булево |
| При значении «нет», SSL-сертификаты не будут проверяться для версий boto >= 2.6.0. |
Примечания
Примечание
- Если параметры не заданы в модуле, можно использовать следующие переменные окружения в порядке убывания приоритета
AWS_URLилиEC2_URL,AWS_PROFILEилиAWS_DEFAULT_PROFILE,AWS_ACCESS_KEY_IDилиAWS_ACCESS_KEYилиEC2_ACCESS_KEY,AWS_SECRET_ACCESS_KEYилиAWS_SECRET_KEYилиEC2_SECRET_KEY,AWS_SECURITY_TOKENилиEC2_SECURITY_TOKEN,AWS_REGIONилиEC2_REGION,AWS_CA_BUNDLE - Ansible использует конфигурационный файл boto (обычно ~/.boto), если учетные данные не предоставлены. См. https://boto.readthedocs.io/en/latest/boto_config_tut.html
-
AWS_REGIONилиEC2_REGIONобычно используются для указания региона AWS, если требуется, но это также можно настроить в файле конфигурации boto
Примеры
- name: create single region cloudtrail
community.aws.cloudtrail:
state: present
name: default
s3_bucket_name: mylogbucket
s3_key_prefix: cloudtrail
region: us-east-1
- name: create multi-region trail with validation and tags
community.aws.cloudtrail:
state: present
name: default
s3_bucket_name: mylogbucket
region: us-east-1
is_multi_region_trail: true
enable_log_file_validation: true
cloudwatch_logs_role_arn: "arn:aws:iam::123456789012:role/CloudTrail_CloudWatchLogs_Role"
cloudwatch_logs_log_group_arn: "arn:aws:logs:us-east-1:123456789012:log-group:CloudTrail/DefaultLogGroup:*"
kms_key_id: "alias/MyAliasName"
tags:
environment: dev
Name: default
- name: show another valid kms_key_id
community.aws.cloudtrail:
state: present
name: default
s3_bucket_name: mylogbucket
kms_key_id: "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012"
# simply "12345678-1234-1234-1234-123456789012" would be valid too.
- name: pause logging the trail we just created
community.aws.cloudtrail:
state: present
name: default
enable_logging: false
s3_bucket_name: mylogbucket
region: us-east-1
is_multi_region_trail: true
enable_log_file_validation: true
tags:
environment: dev
Name: default
- name: delete a trail
community.aws.cloudtrail:
state: absent
name: default
Значения возврата
Общие значения возврата документированы здесь, следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое значение | Описание | |
|---|---|---|---|
| exists boolean | всегда | существует ли ресурс Пример: True | |
| trail сложный | всегда | Подробности ресурса CloudTrail Пример: хеш/словарь значений | |
| cloud_watch_logs_log_group_arn строка | при успехе | Полный ARN группы журналов CloudWatch Logs, в которую доставляются события. Пример: arn:aws:logs:us-east-1:123456789012:log-group:CloudTrail/DefaultLogGroup:* | |
| cloud_watch_logs_role_arn строка | при успехе | Полный ARN роли IAM, которую CloudTrail принимает для доставки событий. Пример: arn:aws:iam::123456789012:role/CloudTrail_CloudWatchLogs_Role | |
| has_custom_event_selectors boolean | при успехе | Используются ли для этого трейла какие-либо пользовательские селекторы событий. | |
| home_region строка | при успехе | Регион, в котором первоначально был создан и должен редактироваться трейл. Пример: us-east-1 | |
| include_global_service_events boolean | при успехе | Включаются ли глобальные сервисы (IAM, STS) в журнал с этим трейлом Пример: True | |
| is_logging boolean | при успехе | Включено или приостановлено ведение журнала для трейла Пример: True | |
| is_multi_region_trail boolean | при успехе | Относится ли трейл ко всем регионам или только к одному Пример: True | |
| kms_key_id строка | при успехе | Полный ARN ключа KMS, используемого для шифрования файлов журналов. Пример: arn:aws:kms::123456789012:key/12345678-1234-1234-1234-123456789012 | |
| log_file_validation_enabled boolean | при успехе | Включена ли проверка файлов журналов для трейла Пример: True | |
| name строка | при успехе | Имя ресурса CloudTrail Пример: default | |
| s3_bucket_name строка | при успехе | Имя ведра S3, в которое доставляются файлы журналов Пример: myBucket | |
| s3_key_prefix строка | при успехе | Префикс ключа в ведре, в который доставляются файлы журналов (если есть) Пример: myKeyPrefix | |
| sns_topic_arn строка | при успехе | Полный ARN темы SNS, в которую отправляются уведомления о доставке журналов. Пример: arn:aws:sns:us-east-1:123456789012:topic/myTopic | |
| sns_topic_name строка | при успехе | Имя темы SNS, в которую отправляются уведомления о доставке журналов. Пример: myTopic | |
| tags словарь | при успехе | хеш/словарь тегов, примененных к этому ресурсу Пример: {'Name': 'default', 'environment': 'dev'} | |
| trail_arn строка | при успехе | Полный ARN ресурса CloudTrail Пример: arn:aws:cloudtrail:us-east-1:123456789012:trail/default | |
Авторы
- Команда Ansible Core
- Ted Timmons (@tedder)
- Daniel Shepherd (@shepdelacreme)
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/aws/cloudtrail_module.html