aws_waf_condition – создание и удаление условий WAF
Новая версия 2.5.
Описание
- Прочитайте документацию 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. Псевдонимы: ec2_access_key, access_key | |
| aws_secret_key строка | Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY. Псевдонимы: ec2_secret_key, secret_key | |
| debug_botocore_endpoint_logs логический добавлен в 2.8 |
| Использовать логирование botocore.endpoint для анализа уникальных (а не общих) API-вызовов «ресурс:действие» во время задачи, выводя набор в ключ resource_actions в результатах задачи. Используйте обратный вызов aws_resource_action для вывода полного списка, созданного во время выполнения playbook. Также может быть использована переменная окружения ANSIBLE_DEBUG_BOTOCORE_LOGS. |
| ec2_url строка | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не указан, используется значение переменной окружения EC2_URL, если таковое есть. | |
| filters - | Список фильтров для сопоставления. Для type= byte, допустимые ключи — field_to_match, position, header, transformation.Для type= geo, единственный допустимый ключ — country.Для type= ip, единственный допустимый ключ — ip_address.Для type= regex, допустимые ключи — field_to_match, transformation и regex_pattern.… (остальные строки переведены аналогично) | |
| name - / обязательно | Имя управляемого условия Web Application Firewall. | |
| profile строка | Использование профиля boto. Работает только с boto >= 2.24.0. | |
| 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 security token. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Псевдонимы: access_token | |
| state - |
| Условие должно быть present или absent. |
| type - |
| Тип сопоставления. |
| validate_certs логический |
| При значении «нет», сертификаты SSL не будут проверяться для версий boto >= 2.6.0. |
| waf_regional логический добавлен в 2.9 |
| Использовать модуль waf_regional. По умолчанию false. |
Примечания
Примечание
- Если параметры не заданы в модуле, можно использовать следующие переменные окружения в порядке убывания приоритета:
AWS_URLилиEC2_URL,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 - Ansible использует конфигурационный файл boto (обычно ~/.boto), если данные не предоставлены. См. https://boto.readthedocs.io/en/latest/boto_config_tut.html
-
AWS_REGIONилиEC2_REGIONобычно используются для указания AWS-региона, когда это необходимо, но это также можно настроить в конфигурационном файле boto.
Примеры
- name: create WAF byte condition
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
aws_waf_condition:
name: my_geo_condition
filters:
- country: US
- country: AU
- country: AT
type: geo
- name: create IP address condition
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
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
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
aws_waf_condition:
name: my_sql_condition
filters:
- field_to_match: query_string
transformation: url_decode
type: sql
- name: create WAF xss condition
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 | Поле, к которому применяется ограничение размера | ||||
| тип строка | Имя поля Пример: QUERY_STRING | ||||
| размер целое число | размер для сравнения с полем Пример: 300 | ||||
| преобразование_текста строка | преобразование, применяемое к тексту перед сопоставлением Пример: NONE | ||||
| id_набора_совпадений_sql_инъекции строка | при type - sql и state - присутствует | ID набора совпадений SQL-инъекции Пример: de84b4b3-578b-447e-a9a0-0db35c995656 | |||
| кортежи_совпадений_sql_инъекции сложный | при type - sql и state - присутствует | Список наборов совпадений SQL-инъекции | |||
| поле_для_сопоставления сложный | Поле, к которому применяется сопоставление SQL-инъекции | ||||
| тип строка | Имя поля Пример: QUERY_STRING | ||||
| преобразование_текста строка | преобразование, применяемое к тексту перед сопоставлением Пример: URL_DECODE | ||||
| id_набора_совпадений_xss строка | при type - xss и state - присутствует | ID набора совпадений XSS Пример: de84b4b3-578b-447e-a9a0-0db35c995656 | |||
| кортежи_совпадений_xss сложный | при type - xss и state - присутствует | Список наборов совпадений XSS | |||
| поле_для_сопоставления сложный | Поле, к которому применяется сопоставление XSS | ||||
| тип строка | Имя поля Пример: QUERY_STRING | ||||
| преобразование_текста строка | преобразование, применяемое к тексту перед сопоставлением Пример: URL_DECODE | ||||
Статус
- Данный модуль не гарантирует обратную совместимость. [превью]
- Этот модуль поддерживается сообществом Ansible. [сообщество]
Авторы
- Will Thames (@willthames)
- Mike Mochan (@mmochan)
Подсказка
Если вы заметили какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/aws_waf_condition_module.html