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 | |
| 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
Для type= size, допустимые ключи — field_to_match, transformation, comparison и size
Для type= sql, допустимые ключи — field_to_match и transformation
Для type= xss, допустимые ключи — field_to_match и transformation
field_to_match может быть одним из uri, query_string, header method и body
Если field_to_match — header, то также должен быть указан header
transformation может быть одним из none, compress_white_space, html_entity_decode, lowercase, cmd_line, url_decode
position может быть одним из exactly, starts_with, ends_with, contains, contains_word,
comparison может быть одним из EQ, NE, LE, LT, GE, GT,
target_string имеет максимальную длину 50 байт
regex_pattern — это словарь с ключом name и списком строк regex_strings для соответствия | |
| name обязательно | Имя управляемого условия межсайтовой атаки веб-приложения | |
| profile (добавлено в 1.6) | Использует профиль boto. Работает только с boto >= 2.24.0. | |
| purge_filters | Удалить существующие фильтры из условия, если они не переданы в filters. По умолчанию false | |
| region | Регион AWS для использования. Если не указан, используется значение переменной окружения AWS_REGION или EC2_REGION, если она существует. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region
Псевдонимы: aws_region, ec2_region | |
| security_token (добавлено в 1.6) | AWS STS security token. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Псевдонимы: access_token | |
| state |
| Должно быть present или absent
|
| type |
| тип соответствия |
| validate_certs bool (добавлено в 1.5) |
| При значении "no", сертификаты SSL не будут проверятся для версий boto >= 2.6.0. |
Примечания
Примечание
- Если параметры не заданы в модуле, можно использовать следующие переменные окружения в порядке убывания приоритета
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), если учетные данные не предоставлены. См. http://boto.readthedocs.org/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 | всегда | Возвращаемое условие операции | |||
| condition_id string | при наличии состояния | Идентификатор условия, независимый от типа Пример: dd74b1ff-8c06-4a4f-897a-6b23605de413 | |||
| 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 | ||||
| geo_match_constraints complex | при type - geo и наличии состояния | Список географических ограничений | |||
| type string | Тип географического ограничения Пример: Country | ||||
| value string | Значение географического ограничения (обычно код страны) Пример: AT | ||||
| geo_match_set_id string | при type - geo и наличии состояния | Идентификатор набора географических соответствий Пример: dd74b1ff-8c06-4a4f-897a-6b23605de413 | |||
| ip_set_descriptors complex | при type - ip и наличии состояния | Список фильтров IP-адресов | |||
| type string | всегда | Тип IP-адреса (IPV4 или IPV6) Пример: IPV4 | |||
| value string | всегда | IP-адрес Пример: 10.0.0.0/8 | |||
| ip_set_id string | при type - ip и наличии состояния | Идентификатор условия Пример: 78ad334a-3535-4036-85e6-8e11e745217b | |||
| name string | при наличии состояния | Имя условия Пример: my_waf_condition | |||
| regex_match_set_id string | при type - regex и наличии состояния | Идентификатор набора соответствий регулярных выражений Пример: 5ea3f6a8-3cd3-488b-b637-17b79ce7089c | |||
| regex_match_tuples complex | при type - regex и наличии состояния | Список соответствий регулярных выражений | |||
| field_to_match complex | Поле, к которому применяется соответствие регулярного выражения | ||||
| type string | при type - regex и наличии состояния | Имя поля Пример: QUERY_STRING | |||
| regex_pattern_set_id string | Идентификатор набора регулярных выражений Пример: 6fdf7f2d-9091-445c-aef2-98f3c051ac9e | ||||
| text_transformation string | Преобразование, применяемое к тексту перед сравнением Пример: NONE | ||||
| size_constraint_set_id string | при type - size и наличии состояния | Идентификатор набора ограничений размера Пример: de84b4b3-578b-447e-a9a0-0db35c995656 | |||
| size_constraints complex | при type - size и наличии состояния | Список ограничений размера | |||
| comparison_operator string | Оператор сравнения Пример: GT | ||||
| field_to_match complex | Поле, к которому применяется ограничение размера | ||||
| type string | Имя поля Пример: QUERY_STRING | ||||
| size int | Размер для сравнения с полем Пример: 300 | ||||
| преобразование_текста строка | преобразование, применяемое к тексту перед сопоставлением Пример: НЕТ | ||||
| id_набора_сопоставлений_инъекций_sql строка | при типе sql и наличии состояния | Идентификатор набора сопоставлений инъекций SQL Пример: de84b4b3-578b-447e-a9a0-0db35c995656 | |||
| кортежи_сопоставлений_инъекций_sql сложное | при типе sql и наличии состояния | Список наборов сопоставлений инъекций SQL | |||
| поле_для_сопоставления сложное | Поле, к которому применяется сопоставление инъекций SQL | ||||
| тип строка | Имя поля Пример: QUERY_STRING | ||||
| преобразование_текста строка | преобразование, применяемое к тексту перед сопоставлением Пример: URL_DECODE | ||||
| id_набора_сопоставлений_xss строка | при типе xss и наличии состояния | Идентификатор набора сопоставлений XSS Пример: de84b4b3-578b-447e-a9a0-0db35c995656 | |||
| кортежи_сопоставлений_xss сложное | при типе xss и наличии состояния | Список наборов сопоставлений XSS | |||
| поле_для_сопоставления сложное | Поле, к которому применяется сопоставление XSS | ||||
| тип строка | Имя поля Пример: QUERY_STRING | ||||
| преобразование_текста строка | преобразование, применяемое к тексту перед сопоставлением Пример: URL_DECODE | ||||
Статус
Этот модуль помечен как превью, что означает, что его интерфейс не гарантируется как обратная совместимость.
Техническое обслуживание
Этот модуль помечен как сообщество, что означает, что его поддерживает сообщество Ansible. См. Техническое обслуживание и поддержка модулей для получения дополнительной информации.
Список других модулей, поддерживаемых сообществом 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.6/modules/aws_waf_condition_module.html