aws_waf_condition - создание и удаление условий WAF
Новое в версии 2.5.
Обзор
- Прочитайте документацию AWS по WAF https://aws.amazon.com/documentation/waf/
Требования
Ниже приведены требования к хосту, на котором будет выполняться этот модуль.
- python >= 2.6
- boto
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| aws_access_key | Значение по умолчанию: None | Ключ доступа AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY. Псевдонимы: ec2_access_key, access_key |
| aws_secret_key | Значение по умолчанию: None | Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY. Псевдонимы: ec2_secret_key, secret_key |
| ec2_url | Значение по умолчанию: None | 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 обязательно | Имя условия WAF для управления | |
| profile (добавлено в 1.6) | Значение по умолчанию: None | Использует профиль 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) | Значение по умолчанию: None | Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Псевдонимы: access_token |
| state |
| Условие должно быть present или absent
|
| type |
| Тип сопоставления |
| validate_certs (добавлено в 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 сложное | всегда | Возвращаемое значение условия операцией | |||
| size_constraint_set_id строка | при типе size и наличии состояния | Идентификатор набора ограничений размера Пример: de84b4b3-578b-447e-a9a0-0db35c995656 | |||
| ip_set_id строка | при типе ip и наличии состояния | Идентификатор условия Пример: 78ad334a-3535-4036-85e6-8e11e745217b | |||
| condition_id строка | при наличии состояния | Идентификатор условия, независимый от типа Пример: dd74b1ff-8c06-4a4f-897a-6b23605de413 | |||
| ip_set_descriptors сложное | при типе ip и наличии состояния | Список фильтров IP-адресов | |||
| type строка | всегда | Тип IP-адреса (IPV4 или IPV6) Пример: IPV4 | |||
| value строка | всегда | IP-адрес Пример: 10.0.0.0/8 | |||
| geo_match_constraints сложное | при типе geo и наличии состояния | Список географических ограничений | |||
| type строка | Тип географического ограничения Пример: Страна | ||||
| value строка | Значение географического ограничения (обычно код страны) Пример: AT | ||||
| byte_match_tuples сложное | всегда | Список кортежей соответствия байтов | |||
| text_transformation строка | Преобразование, применяемое к полю перед сопоставлением Пример: NONE | ||||
| field_to_match сложное | всегда | Поле для сопоставления | |||
| data строка | Конкретный заголовок (если тип заголовок) Пример: content-type | ||||
| type строка | Тип поля Пример: HEADER | ||||
| target_string строка | Строка для поиска Пример: Hello | ||||
| positional_constraint строка | Позиция в поле для сопоставления Пример: STARTS_WITH | ||||
| name строка | при наличии состояния | Имя условия Пример: my_waf_condition | |||
| geo_match_set_id строка | при типе geo и наличии состояния | Идентификатор набора географических соответствий Пример: dd74b1ff-8c06-4a4f-897a-6b23605de413 | |||
| size_constraints сложное | при типе size и наличии состояния | Список ограничений размера | |||
| text_transformation строка | Преобразование, применяемое к тексту перед сопоставлением Пример: NONE | ||||
| field_to_match сложное | Поле, к которому применяется ограничение размера | ||||
| type строка | Имя поля Пример: QUERY_STRING | ||||
| comparison_operator строка | Оператор сравнения Пример: GT | ||||
| size целое число | Размер для сравнения с полем Пример: 300 | ||||
| regex_match_tuples сложное | при типе regex и наличии состояния | Список соответствий по регулярным выражениям | |||
| text_transformation строка | Преобразование, применяемое к тексту перед сопоставлением Пример: NONE | ||||
| field_to_match сложное | Поле, к которому применяется соответствие по регулярному выражению | ||||
| type строка | при типе regex и наличии состояния | Имя поля Пример: QUERY_STRING | |||
| regex_pattern_set_id строка | Идентификатор набора регулярных выражений Пример: 6fdf7f2d-9091-445c-aef2-98f3c051ac9e | ||||
| byte_match_set_id строка | всегда | Идентификатор набора соответствий байтов Пример: c4882c96-837b-44a2-a762-4ea87dbf812b | |||
| regex_match_set_id string | when type is regex and state is present | Идентификатор набора соответствий по регулярному выражению Пример: 5ea3f6a8-3cd3-488b-b637-17b79ce7089c | |||
| sql_injection_match_set_id string | when type is sql and state is present | Идентификатор набора соответствий для SQL-инъекций Пример: de84b4b3-578b-447e-a9a0-0db35c995656 | |||
| sql_injection_match_tuples complex | when type is sql and state is present | Список наборов соответствий для SQL-инъекций | |||
| text_transformation string | Преобразование, применяемое к тексту перед сопоставлением Пример: URL_DECODE | ||||
| field_to_match complex | Поле, к которому применяется сопоставление SQL-инъекций | ||||
| type string | Имя поля Пример: QUERY_STRING | ||||
| xss_match_tuples complex | when type is xss and state is present | Список наборов соответствий для XSS | |||
| text_transformation string | Преобразование, применяемое к тексту перед сопоставлением Пример: URL_DECODE | ||||
| field_to_match complex | Поле, к которому применяется сопоставление XSS | ||||
| type string | Имя поля Пример: QUERY_STRING | ||||
| xss_match_set_id string | when type is xss and state is present | Идентификатор набора соответствий для XSS Пример: de84b4b3-578b-447e-a9a0-0db35c995656 | |||
Статус
Этот модуль помечен как превью, что означает отсутствие гарантии обратной совместимости интерфейса.
Автор
- 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.5/modules/aws_waf_condition_module.html