community.aws.aws_waf_condition – Создание и удаление условий WAF
Примечание
Этот плагин входит в коллекцию community.aws (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install community.aws.
Для использования в playbook, укажите: community.aws.aws_waf_condition.
Введено в версии 1.0.0: коллекции community.aws
Описание
- Прочитайте документацию AWS по WAF https://aws.amazon.com/documentation/waf/
Требования
Ниже перечислены требования к хосту, на котором будет выполняться данный модуль.
- python >= 2.6
- boto
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | ||
|---|---|---|---|---|
| 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 Bundle читается со стороны модуля и, возможно, должен быть явно скопирован с контроллера, если модуль не запускается локально. | |||
| aws_config словарь | Словарь для изменения конфигурации botocore. Параметры можно найти по адресу https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. Для модулей boto используется только ключ 'user_agent'. Дополнительную информацию о конфигурации boto см. по адресу http://boto.cloudhackers.com/en/latest/boto_config_tut.html#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 | |||
| debug_botocore_endpoint_logs булево |
| Использовать логгер botocore.endpoint для анализа уникальных (а не общих) API-вызовов «ресурс:действие», сделанных во время задачи, выводя набор в ключ resource_actions результатов задачи. Используйте обратный вызов aws_resource_action для вывода полного списка, сделанного во время выполнения playbook. Также может быть использована переменная окружения ANSIBLE_DEBUG_BOTOCORE_LOGS. | ||
| ec2_url строка | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех других модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если таковая существует. Псевдонимы: aws_endpoint_url, endpoint_url | |||
| 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 строка | Использует профиль 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 | |||
| purge_filters булево |
| Удалить существующие фильтры из условия, если они не переданы в filters. | ||
| region строка | Регион AWS. Если не указан, используется значение переменной окружения AWS_REGION или EC2_REGION, если таковая существует. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region
Псевдонимы: aws_region, ec2_region | |||
| security_token строка | Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Если параметр profile задан, этот параметр игнорируется. Одновременное использование параметров security_token и profile устарело и будет сделано взаимоисключающими после 2022-06-01. Псевдонимы: aws_security_token, access_token | |||
| state строка |
| Должно ли условие быть present или absent. | ||
| type строка / требуется |
| Тип сопоставления. | ||
| validate_certs булево |
| Если установлено «нет», SSL-сертификаты не будут проверяться для версий boto >= 2.6.0. | ||
| waf_regional булево |
| Использовать ли модуль waf-regional. | ||
Примечания
Примечание
- Если параметры не заданы в модуле, следующие переменные среды могут быть использованы в порядке убывания приоритета
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 WAF byte condition
community.aws.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.aws_waf_condition:
name: my_geo_condition
filters:
- country: US
- country: AU
- country: AT
type: geo
- name: create IP address condition
community.aws.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.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.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.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.aws_waf_condition:
name: my_xss_condition
filters:
- field_to_match: query_string
transformation: url_decode
type: xss
Значения возврата
Общие значения возврата документированы здесь, следующие являются полями, уникальными для данного модуля:
| Ключ | Возвращаемое значение | Описание | |||
|---|---|---|---|---|---|
| condition complex | всегда | Условие, возвращаемое операцией. | |||
| byte_match_set_id string | всегда | Идентификатор набора совпадений байтов. Пример: c4882c96-837b-44a2-a762-4ea87dbf812b | |||
| byte_match_tuples complex | всегда | Список кортежей совпадений байтов. | |||
| field_to_match complex | всегда | Поле для сопоставления. | |||
| data string | успех | Конкретный заголовок (если тип заголовок). Пример: content-type | |||
| type string | успех | Тип поля Пример: HEADER | |||
| positional_constraint string | успех | Позиция в поле для сопоставления. Пример: STARTS_WITH | |||
| target_string string | успех | Строка для поиска. Пример: Hello | |||
| text_transformation string | успех | Преобразование, применяемое к полю перед сопоставлением. Пример: NONE | |||
| condition_id string | при наличии состояния | Идентификатор условия, не зависящий от типа. Пример: dd74b1ff-8c06-4a4f-897a-6b23605de413 | |||
| geo_match_constraints complex | при типе geo и наличии состояния | Список географических ограничений. | |||
| type string | успех | Тип географического ограничения. Пример: Страна | |||
| value string | успех | Значение географического ограничения (обычно код страны). Пример: AT | |||
| geo_match_set_id string | при типе geo и наличии состояния | Идентификатор набора географических совпадений. Пример: dd74b1ff-8c06-4a4f-897a-6b23605de413 | |||
| ip_set_descriptors complex | при типе ip и наличии состояния | Список фильтров IP-адресов | |||
| type string | всегда | Тип IP-адреса (IPV4 или IPV6). Пример: IPV4 | |||
| value string | всегда | IP-адрес. Пример: 10.0.0.0/8 | |||
| ip_set_id string | при типе ip и наличии состояния | Идентификатор условия. Пример: 78ad334a-3535-4036-85e6-8e11e745217b | |||
| name string | при наличии состояния | Имя условия. Пример: my_waf_condition | |||
| regex_match_set_id string | при типе regex и наличии состояния | Идентификатор набора совпадений по регулярному выражению. Пример: 5ea3f6a8-3cd3-488b-b637-17b79ce7089c | |||
| regex_match_tuples complex | при типе regex и наличии состояния | Список совпадений по регулярному выражению. | |||
| field_to_match complex | успех | Поле, к которому применяется сопоставление по регулярному выражению. | |||
| type string | при типе regex и наличии состояния | Имя поля. Пример: QUERY_STRING | |||
| regex_pattern_set_id string | успех | Идентификатор набора регулярных выражений. Пример: 6fdf7f2d-9091-445c-aef2-98f3c051ac9e | |||
| text_transformation string | успех | Преобразование, применяемое к тексту перед сопоставлением. Пример: NONE | |||
| size_constraint_set_id string | при типе size и наличии состояния | Идентификатор набора ограничений размера. Пример: de84b4b3-578b-447e-a9a0-0db35c995656 | |||
| size_constraints complex | при типе size и наличии состояния | Список ограничений размера. | |||
| comparison_operator string | успех | Оператор сравнения. Пример: GT | |||
| field_to_match complex | успех | Поле, к которому применяется ограничение размера. | |||
| type string | успех | Имя поля. Пример: QUERY_STRING | |||
| size integer | успех | Размер для сравнения с полем. Пример: 300 | |||
| text_transformation string | успех | Преобразование, применяемое к тексту перед сопоставлением. Пример: NONE | |||
| sql_injection_match_set_id string | при типе sql и наличии состояния | Идентификатор набора совпадений SQL-инъекций. Пример: de84b4b3-578b-447e-a9a0-0db35c995656 | |||
| sql_injection_match_tuples complex | при типе sql и наличии состояния | Список наборов совпадений SQL-инъекций. | |||
| field_to_match complex | успех | Поле, к которому применяется сопоставление SQL-инъекций. | |||
| type string | успех | Имя поля. Пример: QUERY_STRING | |||
| text_transformation string | успех | Преобразование, применяемое к тексту перед сопоставлением. Пример: URL_DECODE | |||
| xss_match_set_id string | при типе xss и наличии состояния | Идентификатор набора совпадений XSS. Пример: de84b4b3-578b-447e-a9a0-0db35c995656 | |||
| xss_match_tuples complex | при типе xss и наличии состояния | Список наборов совпадений XSS. | |||
| field_to_match complex | успех | Поле, к которому применяется сопоставление XSS. | |||
| type string | успех | Имя поля Пример: QUERY_STRING | |||
| text_transformation string | успех | Преобразование, применяемое к тексту перед сопоставлением. Пример: URL_DECODE | |||
Авторы
- Will Thames (@willthames)
- Mike Mochan (@mmochan)
© 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/aws_waf_condition_module.html