Spec-Zone.ru › Ansible 2.11

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
строка
    Варианты:
  • EQ
  • NE
  • LE
  • LT
  • GE
  • GT
Тип сравнения.
Допустимо только при type=size.
country
строка
Значение географического ограничения (обычно двухбуквенный код страны).
Единственный допустимый ключ при type=geo.
field_to_match
строка
    Варианты:
  • uri
  • query_string
  • header
  • method
  • body
Поле для сопоставления.
Допустимо при 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
строка
    Варианты:
  • none
  • compress_white_space
  • html_entity_decode
  • lowercase
  • cmd_line
  • url_decode
Преобразование, применяемое к полю перед сопоставлением.
Допустимо при 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
строка / требуется
    Варианты:
  • байт
  • гео
  • ip
  • regex
  • размер
  • sql
  • xss
Тип сопоставления.
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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API