Модуль community.aws.waf_condition — Создание и удаление условий WAF
Примечание
Этот модуль является частью коллекции community.aws (версия 8.0.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.aws. Для использования этого модуля требуются дополнительные зависимости, см. Требования для подробностей.
Для использования в плейбуке укажите: community.aws.waf_condition.
Введено в версии community.aws 1.0.0
Описание
- Прочитайте документацию AWS для WAF https://aws.amazon.com/documentation/waf/
- До версии 5.0.0 этот модуль назывался
community.aws.aws_waf_condition. Использование не изменилось.
Псевдонимы: aws_waf_condition
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- python >= 3.6
- boto3 >= 1.26.0
- botocore >= 1.29.0
Параметры
Параметр | Комментарии |
|---|---|
access_key псевдонимы: aws_access_key_id, aws_access_key, ec2_access_key строка | Идентификатор ключа доступа AWS. См. документацию AWS для получения дополнительной информации об access токенах https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Также можно использовать переменные среды Параметры aws_access_key и profile взаимоисключающие. Псевдоним aws_access_key_id был добавлен в релизе 5.1.0 для согласованности с SDK AWS botocore. Псевдоним ec2_access_key устарел и будет удален в релизе после 2024-12-01. Поддержка переменной среды |
aws_ca_bundle путь | Расположение набора сертификатов CA для проверки SSL-сертификатов. Также можно использовать переменную среды |
aws_config словарь | Словарь для модификации конфигурации botocore. Параметры можно найти в документации AWS https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. |
debug_botocore_endpoint_logs логический | Использовать Также можно использовать переменную среды Варианты:
|
endpoint_url псевдонимы: ec2_url, aws_endpoint_url, s3_url строка | URL для подключения вместо стандартных конечных точек AWS. Хотя это можно использовать для подключения к другим совместимым с AWS службам, коллекции amazon.aws и community.aws протестированы только с AWS. Также можно использовать переменные среды Псевдонимы ec2_url и s3_url устарели и будут удалены в релизе после 2024-12-01. Поддержка переменной среды |
filters список / элементы=словарь | Список фильтров для сопоставления. Для type=byte допустимыми ключами являются field_to_match, position, header, transformation и target_string. Для type=geo единственным допустимым ключом является country. Для type=ip единственным допустимым ключом является ip_address. Для type=regex допустимыми ключами являются field_to_match, transformation и regex_pattern. Для type=size допустимыми ключами являются field_to_match, transformation, comparison и size. Для type=sql допустимыми ключами являются field_to_match и transformation. Для type=xss допустимыми ключами являются field_to_match и transformation. Требуется при state=present. |
|
comparison строка |
Тип сравнения. Допустимо только при type=size. Варианты:
|
|
country строка |
Значение географического ограничения (обычно двухбуквенный код страны). Единственный допустимый ключ при type=geo. |
|
field_to_match строка |
Поле для сравнения. Допустимо при type=byte, type=regex, type=sql или type=xss. Варианты:
|
|
header строка |
Конкретный заголовок для сопоставления. Требуется при field_to_match=header. Допустимо при type=byte. |
|
ip_address строка |
IP-адрес или CIDR для сопоставления. Единственный допустимый ключ при type=ip. |
|
position строка |
Место в поле, где должно произойти совпадение. Допустимо только при type=byte. Варианты:
|
|
regex_pattern словарь |
Словарь, описывающий регулярные выражения для сопоставления. Допустимо только при type=regex. |
|
name строка |
Имя для описания набора шаблонов. |
|
regex_strings список / элементы=строка |
Список регулярных выражений для сопоставления. |
|
size целое число |
Размер поля (в байтах). Допустимо только при type=size. |
|
target_string строка |
Строка для поиска. Допускается до 50 байт. Допустимо при type=byte. |
|
transformation строка |
Преобразование, применяемое к полю перед выполнением соответствия. Допустимо при type=byte, type=regex, type=sql или type=xss. Варианты:
|
name строка / обязательно | Имя условия межсайтовой атаки для управления. |
profile алиасы: aws_profile строка | Используемый профиль AWS для аутентификации. См. документацию AWS для получения дополнительной информации о профилях https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html. Также можно использовать переменную окружения Параметр profile несовместим с параметрами aws_access_key, aws_secret_key и security_token. |
purge_filters булево | Удалить ли существующие фильтры из условия, если они не переданы в filters. Варианты:
|
region алиасы: aws_region, ec2_region строка | Используемый регион AWS. Для глобальных служб, таких как IAM, Route53 и CloudFront, region игнорируется. Также можно использовать переменные окружения См. документацию Amazon AWS для получения дополнительной информации http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region. Алиас Поддержка переменной окружения |
secret_key алиасы: aws_secret_access_key, aws_secret_key, ec2_secret_key строка | Секретный ключ доступа AWS. См. документацию AWS для получения дополнительной информации об access-токен https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Переменные окружения Параметры secret_key и profile несовместимы. Алиас aws_secret_access_key добавлен в релизе 5.1.0 для соответствия SDK AWS botocore. Алиас ec2_secret_key устарел и будет удален в релизе после 2024-12-01. Поддержка переменной окружения |
session_token алиасы: aws_session_token, security_token, aws_security_token, access_token строка | Токен сессии AWS STS для использования с временными учетными данными. См. документацию AWS для получения дополнительной информации об access-токен https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Переменные окружения Параметры security_token и profile несовместимы. Алиасы aws_session_token и session_token были добавлены в релизе 3.2.0, параметр был переименован из security_token в session_token в релизе 6.0.0. Алиасы security_token, aws_security_token и access_token устарели и будут удалены в релизе после 2024-12-01. Поддержка переменных окружения |
state строка | Состояние условия должно быть Варианты:
|
type строка / обязательно | Тип соответствия. Варианты:
|
validate_certs булево | При установке Установка validate_certs=false категорически не рекомендуется. В качестве альтернативы, следует установить aws_ca_bundle. Варианты:
|
waf_regional булево | Использовать ли Варианты:
|
Примечания
Примечание
- Внимание: Для модулей переменные окружения и конфигурационные файлы считываются из контекста Ansible «хост», а не из контекста «контроллер». Поэтому файлы могут потребоваться скопировать на «хост». Для плагинов поиска и подключения переменные окружения и конфигурационные файлы считываются из контекста Ansible «контроллер», а не из контекста «хост».
- AWS SDK (boto3), используемый Ansible, также может читать значения по умолчанию для учетных данных и других настроек, таких как регион, из своих конфигурационных файлов в контексте Ansible «хост» (обычно
~/.aws/credentials). Для получения дополнительной информации см. https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html.
Примеры
- name: create WAF byte condition
community.aws.waf_condition:
name: my_byte_condition
filters:
- field_to_match: header
position: STARTS_WITH
target_string: Hello
header: Content-type
type: byte
- name: create WAF geo condition
community.aws.waf_condition:
name: my_geo_condition
filters:
- country: US
- country: AU
- country: AT
type: geo
- name: create IP address condition
community.aws.waf_condition:
name: "{{ resource_prefix }}_ip_condition"
filters:
- ip_address: "10.0.0.0/8"
- ip_address: "192.168.0.0/24"
type: ip
- name: create WAF regex condition
community.aws.waf_condition:
name: my_regex_condition
filters:
- field_to_match: query_string
regex_pattern:
name: greetings
regex_strings:
- '[hH]ello'
- '^Hi there'
- '.*Good Day to You'
type: regex
- name: create WAF size condition
community.aws.waf_condition:
name: my_size_condition
filters:
- field_to_match: query_string
size: 300
comparison: GT
type: size
- name: create WAF sql injection condition
community.aws.waf_condition:
name: my_sql_condition
filters:
- field_to_match: query_string
transformation: url_decode
type: sql
- name: create WAF xss condition
community.aws.waf_condition:
name: my_xss_condition
filters:
- field_to_match: query_string
transformation: url_decode
type: xss
Значения возврата
Общие значения возврата документированы здесь, следующие поля уникальны для этого модуля:
Ключ | Описание |
|---|---|
condition сложный | Условие, возвращаемое операцией. Возвращается: всегда |
|
byte_match_set_id строка |
Идентификатор набора соответствий байтов. Возвращается: всегда Пример: |
|
byte_match_tuples сложный |
Список кортежей соответствий байтов. Возвращается: всегда |
|
field_to_match сложный |
Поле для соответствия. Возвращается: всегда |
|
data строка |
Какой именно заголовок (если тип - заголовок). Возвращается: успешно Пример: |
|
type строка |
Тип поля Возвращается: успешно Пример: |
|
positional_constraint строка |
Позиция в поле для соответствия. Возвращается: успешно Пример: |
|
target_string строка |
Строка для поиска. Возвращается: успешно Пример: |
|
text_transformation строка |
Преобразование, применяемое к полю перед соответствием. Возвращается: успешно Пример: |
|
condition_id строка |
Независимый от типа ID условия. Возвращается: при наличии состояния Пример: |
|
geo_match_constraints сложный |
Список географических ограничений. Возвращается: если тип geo и состояние присутствует |
|
type строка |
Тип географического ограничения. Возвращается: успешно Пример: |
|
value строка |
Значение географического ограничения (обычно код страны). Возвращается: успешно Пример: |
|
geo_match_set_id строка |
Идентификатор набора соответствий по геоданным. Возвращается: если тип geo и состояние присутствует Пример: |
|
ip_set_descriptors сложный |
список фильтров IP-адресов Возвращается: если тип ip и состояние присутствует |
|
type строка |
Тип IP-адреса (IPV4 или IPV6). Возвращается: всегда Пример: |
|
value строка |
IP-адрес. Возвращается: всегда Пример: |
|
ip_set_id строка |
Идентификатор условия. Возвращается: если тип ip и состояние присутствует Пример: |
|
name string |
Имя условия. Возвращается: когда состояние присутствует Пример: |
|
regex_match_set_id string |
ID набора соответствий регулярных выражений. Возвращается: когда тип — regex и состояние присутствует Пример: |
|
regex_match_tuples complex |
Список соответствий регулярных выражений. Возвращается: когда тип — regex и состояние присутствует |
|
field_to_match complex |
Поле, к которому применяется соответствие регулярному выражению. Возвращается: успех |
|
type string |
Имя поля. Возвращается: когда тип — regex и состояние присутствует Пример: |
|
regex_pattern_set_id string |
ID шаблона регулярного выражения. Возвращается: успех Пример: |
|
text_transformation string |
преобразование, примененное к тексту перед сопоставлением Возвращается: успех Пример: |
|
size_constraint_set_id string |
ID набора ограничений размера. Возвращается: когда тип — size и состояние присутствует Пример: |
|
size_constraints complex |
Список ограничений размера для применения. Возвращается: когда тип — size и состояние присутствует |
|
comparison_operator string |
Оператор сравнения для применения. Возвращается: успех Пример: |
|
field_to_match complex |
Поле, к которому применяется ограничение размера. Возвращается: успех |
|
type string |
Имя поля. Возвращается: успех Пример: |
|
size integer |
Размер для сравнения с полем. Возвращается: успех Пример: |
|
text_transformation string |
Преобразование, примененное к тексту перед сопоставлением. Возвращается: успех Пример: |
|
sql_injection_match_set_id string |
ID набора соответствий для SQL-инъекций. Возвращается: когда тип — sql и состояние присутствует Пример: |
|
sql_injection_match_tuples complex |
Список наборов соответствий для SQL-инъекций. Возвращается: когда тип — sql и состояние присутствует |
|
field_to_match complex |
Поле, к которому применяется соответствие для SQL-инъекций. Возвращается: успех |
|
type string |
Имя поля. Возвращается: успех Пример: |
|
text_transformation строка |
Преобразование, применяемое к тексту перед сопоставлением. Возвращаемое значение: success Пример: |
|
xss_match_set_id строка |
Идентификатор набора сопоставлений XSS. Возвращаемое значение: при type равно xss и state равно present Пример: |
|
xss_match_tuples сложный тип |
Список наборов сопоставлений XSS. Возвращаемое значение: при type равно xss и state равно present |
|
field_to_match сложный тип |
Поле, к которому применяется сопоставление XSS. Возвращаемое значение: success |
|
type строка |
Имя поля Возвращаемое значение: success Пример: |
|
text_transformation строка |
преобразование, применяемое к тексту перед сопоставлением. Возвращаемое значение: success Пример: |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/aws/waf_condition_module.html