community.aws.cloudtrail – управление CloudTrail созданием, удалением, обновлением
Примечание
Этот плагин входит в состав коллекции community.aws (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install community.aws
Для использования в книге задач, укажите: community.aws.cloudtrail
Новое в версии 1.0.0: от 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 путь | Расположение файла с корневыми сертификатами для проверки SSL-сертификатов. Используется только для модулей на основе boto3. Примечание: файл с корневыми сертификатами читается со стороны модуля и может потребоваться явно скопировать его с контроллера, если он не выполняется локально. | |
| 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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/aws/cloudtrail_module.html