Модуль community.aws.waf_condition — создание и удаление условий WAF
Примечание
Этот модуль входит в коллекцию community.aws (версия 10.1.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.aws. Для использования этого модуля требуются дополнительные компоненты; подробности см. в разделе Требования.
Чтобы использовать модуль в плейбуке, укажите: community.aws.waf_condition.
Добавлено в community.aws 1.0.0
УСТАРЕЛО
- Удаление:
-
версия 12.0.0
- Причина:
-
Amazon прекратила поддержку сервиса «WAF Classic».
- Альтернатива:
-
Вместо этого используйте сервис «AWS WAF (WAFv2)» и соответствующие модули.
Краткое описание
- Ознакомьтесь с документацией AWS по WAF: https://aws.amazon.com/documentation/waf/
- До выпуска 5.0.0 этот модуль назывался
community.aws.aws_waf_condition. Способ использования не изменился.
Псевдонимы: aws_waf_condition
Требования
Следующие требования должны быть выполнены на хосте, на котором запускается этот модуль.
- python >= 3.6
- boto3 >= 1.34.0
- botocore >= 1.34.0
Параметры
Параметр | Описание |
|---|---|
access_key псевдонимы: aws_access_key_id, aws_access_key string | Идентификатор ключа доступа AWS. Дополнительные сведения о токенах доступа см. в документации AWS: 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 для согласованности с AWS SDK botocore. |
aws_ca_bundle path | Путь к пакету сертификатов центра сертификации, используемому для проверки SSL-сертификатов. Также можно использовать переменную среды |
aws_config dictionary | Словарь для изменения конфигурации botocore. Список параметров см. в документации AWS: https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. |
debug_botocore_endpoint_logs boolean | Использовать регистратор Также можно использовать переменную среды Варианты:
|
endpoint_url псевдонимы: aws_endpoint_url string | URL для подключения вместо стандартных конечных точек AWS. Хотя этот параметр можно использовать для подключения к другим совместимым с AWS сервисам, коллекции amazon.aws и community.aws тестируются только с AWS. Также можно использовать переменную среды |
filters list / элементы=dictionary | Список фильтров, по которым выполняется сопоставление. Для 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 string |
Тип сравнения, которое нужно выполнить. Допустимый ключ только при type=size. Варианты:
|
|
country string |
Значение географического ограничения (обычно двухбуквенный код страны). Единственный допустимый ключ при type=geo. |
|
field_to_match string |
Поле, по которому выполняется сопоставление. Допустимо при type=byte, type=regex, type=sql или type=xss. Варианты:
|
|
header string |
Заголовок, который нужно сопоставить. Обязательный параметр при field_to_match=header. Допустимо при type=byte. |
|
ip_address string |
IP-адрес или CIDR для сопоставления. Единственный допустимый ключ при type=ip. |
|
position string |
Место в поле, в котором должно быть найдено совпадение. Допустимо только при type=byte. Варианты:
|
|
regex_pattern dictionary |
Словарь с описанием регулярных выражений, используемых для сопоставления. Допустимо только при type=regex. |
|
name string |
Название для описания набора шаблонов. |
|
regex_strings list / элементы=string |
Список регулярных выражений для сопоставления. |
|
size integer |
Размер поля (в байтах). Допустимый ключ только при type=size. |
|
target_string string |
Строка для поиска. Длина может составлять до 50 байт. Допустимо при type=byte. |
|
transformation string |
Преобразование, применяемое к полю перед выполнением сопоставления. Допустимо при type=byte, type=regex, type=sql или type=xss. Варианты:
|
name string / обязательный | Название условия Web Application Firewall, которым нужно управлять. |
profile псевдонимы: aws_profile string | Именованный профиль AWS для аутентификации. Дополнительные сведения об именованных профилях см. в документации AWS: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html. Также можно использовать переменную среды Параметр profile взаимоисключающий с параметрами aws_access_key, aws_secret_key и session_token. |
purge_filters boolean | Удалять ли существующие фильтры условия, если они не указаны в filters. Варианты:
|
region псевдонимы: aws_region string | Регион 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 string | Секретный ключ доступа AWS. Дополнительные сведения о токенах доступа см. в документации AWS: 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 для согласованности с AWS SDK botocore. |
session_token псевдонимы: aws_session_token string | Токен сеанса AWS STS для временных учетных данных. Дополнительные сведения о токенах доступа см. в документации AWS: https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Также можно использовать переменную среды Параметры session_token и profile являются взаимоисключающими. |
state string | Должно ли условие быть Варианты:
|
type string / обязательный | Тип сопоставления, которое нужно выполнить. Варианты:
|
validate_certs boolean | Если установлено значение Настоятельно не рекомендуется устанавливать validate_certs=false; вместо этого рассмотрите возможность использования параметра aws_ca_bundle. Варианты:
|
waf_regional boolean | Использовать ли модуль Варианты:
|
Примечания
Примечание
- Внимание: Для модулей переменные среды и файлы конфигурации считываются из контекста «хоста» Ansible, а не из контекста «контроллера». Поэтому может потребоваться явно скопировать файлы на «хост». Для плагинов поиска и подключения переменные среды и файлы конфигурации считываются из контекста «контроллера» Ansible, а не из контекста «хоста».
- Используемый Ansible AWS SDK (boto3) также может считывать значения по умолчанию для учетных данных и других параметров, например региона, из файлов конфигурации в контексте «хоста» 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 complex | Условие, возвращённое операцией. Возвращается: всегда |
|
byte_match_set_id string |
Идентификатор набора совпадений байтов. Возвращается: всегда Пример: |
|
byte_match_tuples complex |
Список кортежей совпадений байтов. Возвращается: всегда |
|
field_to_match complex |
Поле для сопоставления. Возвращается: всегда |
|
data string |
Конкретный заголовок (если тип — заголовок). Возвращается: при успешном выполнении Пример: |
|
type string |
Тип поля Возвращается: при успешном выполнении Пример: |
|
positional_constraint string |
Позиция в поле для сопоставления. Возвращается: при успешном выполнении Пример: |
|
target_string string |
Строка для поиска. Возвращается: при успешном выполнении Пример: |
|
text_transformation string |
Преобразование, применяемое к полю перед сопоставлением. Возвращается: при успешном выполнении Пример: |
|
condition_id string |
Идентификатор условия, не зависящий от его типа. Возвращается: если состояние — present Пример: |
|
geo_match_constraints complex |
Список географических ограничений. Возвращается: если тип — geo и состояние — present |
|
type string |
Тип географического ограничения. Возвращается: при успешном выполнении Пример: |
|
value string |
Значение географического ограничения (обычно код страны). Возвращается: при успешном выполнении Пример: |
|
geo_match_set_id string |
Идентификатор набора географических совпадений. Возвращается: если тип — geo и состояние — present Пример: |
|
ip_set_descriptors complex |
Список фильтров IP-адресов Возвращается: если тип — ip и состояние — present |
|
type string |
Тип IP-адреса (IPV4 или IPV6). Возвращается: всегда Пример: |
|
value string |
IP-адрес. Возвращается: всегда Пример: |
|
ip_set_id string |
Идентификатор условия. Возвращается: если тип — ip и состояние — present Пример: |
|
name string |
Имя условия. Возвращается: если состояние — present Пример: |
|
regex_match_set_id string |
Идентификатор набора совпадений регулярных выражений. Возвращается: если тип — regex и состояние — present Пример: |
|
regex_match_tuples complex |
Список совпадений регулярных выражений. Возвращается: если тип — regex и состояние — present |
|
field_to_match complex |
Поле, к которому применяется сопоставление регулярного выражения. Возвращается: при успешном выполнении |
|
type string |
Имя поля. Возвращается: если тип — regex и состояние — present Пример: |
|
regex_pattern_set_id string |
Идентификатор шаблона регулярного выражения. Возвращается: при успешном выполнении Пример: |
|
text_transformation string |
Преобразование, применяемое к тексту перед сопоставлением Возвращается: при успешном выполнении Пример: |
|
size_constraint_set_id string |
Идентификатор набора ограничений размера. Возвращается: если тип — size и состояние — present Пример: |
|
size_constraints complex |
Список применяемых ограничений размера. Возвращается: если тип — size и состояние — present |
|
comparison_operator string |
Оператор сравнения для применения. Возвращается: при успешном выполнении Пример: |
|
field_to_match complex |
Поле, к которому применяется ограничение размера. Возвращается: при успешном выполнении |
|
type string |
Имя поля. Возвращается: при успешном выполнении Пример: |
|
size integer |
Размер для сравнения с полем. Возвращается: при успешном выполнении Пример: |
|
text_transformation string |
Преобразование, применяемое к тексту перед сопоставлением. Возвращается: при успешном выполнении Пример: |
|
sql_injection_match_set_id string |
Идентификатор набора совпадений SQL-инъекций. Возвращается: если тип — sql и состояние — present Пример: |
|
sql_injection_match_tuples complex |
Список наборов совпадений SQL-инъекций. Возвращается: если тип — sql и состояние — present |
|
field_to_match complex |
Поле, к которому применяется сопоставление SQL-инъекций. Возвращается: при успешном выполнении |
|
type string |
Имя поля. Возвращается: при успешном выполнении Пример: |
|
text_transformation string |
Преобразование, применяемое к тексту перед сопоставлением. Возвращается: при успешном выполнении Пример: |
|
xss_match_set_id string |
Идентификатор набора совпадений XSS. Возвращается: если тип — xss и состояние — present Пример: |
|
xss_match_tuples complex |
Список наборов совпадений XSS. Возвращается: если тип — xss и состояние — present |
|
field_to_match complex |
Поле, к которому применяется сопоставление XSS. Возвращается: при успешном выполнении |
|
type string |
Имя поля Возвращается: при успешном выполнении Пример: |
|
text_transformation string |
Преобразование, применяемое к тексту перед сопоставлением. Возвращается: при успешном выполнении Пример: |
Статус
- Этот модуль будет удалён в версии 12.0.0. [устарело]
- Дополнительные сведения см. в разделе УСТАРЕЛО.
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/aws/waf_condition_module.html