Spec-Zone.ru › Ansible

Модуль 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_ID или AWS_ACCESS_KEY в порядке убывания приоритета.

Параметры aws_access_key и profile являются взаимоисключающими.

Псевдоним aws_access_key_id добавлен в выпуске 5.1.0 для согласованности с AWS SDK botocore.

aws_ca_bundle

path

Путь к пакету сертификатов центра сертификации, используемому для проверки SSL-сертификатов.

Также можно использовать переменную среды AWS_CA_BUNDLE.

aws_config

dictionary

Словарь для изменения конфигурации botocore.

Список параметров см. в документации AWS: https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config.

debug_botocore_endpoint_logs

boolean

Использовать регистратор botocore.endpoint для сбора уникальных (а не общих) вызовов API "resource:action", выполненных во время задачи, и записи их списка в ключ resource_actions результатов задачи. Используйте callback aws_resource_action, чтобы вывести полный список вызовов, выполненных в ходе плейбука.

Также можно использовать переменную среды ANSIBLE_DEBUG_BOTOCORE_LOGS.

Варианты:

  • false ← (по умолчанию)
  • true

endpoint_url

псевдонимы: aws_endpoint_url

string

URL для подключения вместо стандартных конечных точек AWS. Хотя этот параметр можно использовать для подключения к другим совместимым с AWS сервисам, коллекции amazon.aws и community.aws тестируются только с AWS.

Также можно использовать переменную среды AWS_URL.

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.

Варианты:

  • "EQ"
  • "NE"
  • "LE"
  • "LT"
  • "GE"
  • "GT"

country

string

Значение географического ограничения (обычно двухбуквенный код страны).

Единственный допустимый ключ при type=geo.

field_to_match

string

Поле, по которому выполняется сопоставление.

Допустимо при type=byte, type=regex, type=sql или type=xss.

Варианты:

  • "uri"
  • "query_string"
  • "header"
  • "method"
  • "body"

header

string

Заголовок, который нужно сопоставить.

Обязательный параметр при field_to_match=header.

Допустимо при type=byte.

ip_address

string

IP-адрес или CIDR для сопоставления.

Единственный допустимый ключ при type=ip.

position

string

Место в поле, в котором должно быть найдено совпадение.

Допустимо только при type=byte.

Варианты:

  • "exactly"
  • "starts_with"
  • "ends_with"
  • "contains"
  • "contains_word"

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.

Варианты:

  • "none"
  • "compress_white_space"
  • "html_entity_decode"
  • "lowercase"
  • "cmd_line"
  • "url_decode"

name

string / обязательный

Название условия Web Application Firewall, которым нужно управлять.

profile

псевдонимы: aws_profile

string

Именованный профиль AWS для аутентификации.

Дополнительные сведения об именованных профилях см. в документации AWS: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html.

Также можно использовать переменную среды AWS_PROFILE.

Параметр profile взаимоисключающий с параметрами aws_access_key, aws_secret_key и session_token.

purge_filters

boolean

Удалять ли существующие фильтры условия, если они не указаны в filters.

Варианты:

  • false ← (по умолчанию)
  • true

region

псевдонимы: aws_region

string

Регион AWS для использования.

Для глобальных сервисов, таких как IAM, Route53 и CloudFront, параметр region игнорируется.

Также можно использовать переменную среды AWS_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.

Также можно использовать переменные среды AWS_SECRET_ACCESS_KEY или AWS_SECRET_KEY в порядке убывания приоритета.

Параметры 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.

Также можно использовать переменную среды AWS_SESSION_TOKEN.

Параметры session_token и profile являются взаимоисключающими.

state

string

Должно ли условие быть present или absent.

Варианты:

  • "present" ← (по умолчанию)
  • "absent"

type

string / обязательный

Тип сопоставления, которое нужно выполнить.

Варианты:

  • "byte"
  • "geo"
  • "ip"
  • "regex"
  • "size"
  • "sql"
  • "xss"

validate_certs

boolean

Если установлено значение false, SSL-сертификаты для связи с API AWS проверяться не будут.

Настоятельно не рекомендуется устанавливать validate_certs=false; вместо этого рассмотрите возможность использования параметра aws_ca_bundle.

Варианты:

  • false
  • true ← (по умолчанию)

waf_regional

boolean

Использовать ли модуль waf-regional.

Варианты:

  • false ← (по умолчанию)
  • true

Примечания

Примечание

  • Внимание: Для модулей переменные среды и файлы конфигурации считываются из контекста «хоста» 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

Идентификатор набора совпадений байтов.

Возвращается: всегда

Пример: "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

Идентификатор условия, не зависящий от его типа.

Возвращается: если состояние — present

Пример: "dd74b1ff-8c06-4a4f-897a-6b23605de413"

geo_match_constraints

complex

Список географических ограничений.

Возвращается: если тип — geo и состояние — present

type

string

Тип географического ограничения.

Возвращается: при успешном выполнении

Пример: "Country"

value

string

Значение географического ограничения (обычно код страны).

Возвращается: при успешном выполнении

Пример: "AT"

geo_match_set_id

string

Идентификатор набора географических совпадений.

Возвращается: если тип — geo и состояние — present

Пример: "dd74b1ff-8c06-4a4f-897a-6b23605de413"

ip_set_descriptors

complex

Список фильтров IP-адресов

Возвращается: если тип — ip и состояние — present

type

string

Тип IP-адреса (IPV4 или IPV6).

Возвращается: всегда

Пример: "IPV4"

value

string

IP-адрес.

Возвращается: всегда

Пример: "10.0.0.0/8"

ip_set_id

string

Идентификатор условия.

Возвращается: если тип — ip и состояние — present

Пример: "78ad334a-3535-4036-85e6-8e11e745217b"

name

string

Имя условия.

Возвращается: если состояние — present

Пример: "my_waf_condition"

regex_match_set_id

string

Идентификатор набора совпадений регулярных выражений.

Возвращается: если тип — regex и состояние — present

Пример: "5ea3f6a8-3cd3-488b-b637-17b79ce7089c"

regex_match_tuples

complex

Список совпадений регулярных выражений.

Возвращается: если тип — regex и состояние — present

field_to_match

complex

Поле, к которому применяется сопоставление регулярного выражения.

Возвращается: при успешном выполнении

type

string

Имя поля.

Возвращается: если тип — regex и состояние — present

Пример: "QUERY_STRING"

regex_pattern_set_id

string

Идентификатор шаблона регулярного выражения.

Возвращается: при успешном выполнении

Пример: "6fdf7f2d-9091-445c-aef2-98f3c051ac9e"

text_transformation

string

Преобразование, применяемое к тексту перед сопоставлением

Возвращается: при успешном выполнении

Пример: "NONE"

size_constraint_set_id

string

Идентификатор набора ограничений размера.

Возвращается: если тип — size и состояние — present

Пример: "de84b4b3-578b-447e-a9a0-0db35c995656"

size_constraints

complex

Список применяемых ограничений размера.

Возвращается: если тип — size и состояние — present

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 и состояние — present

Пример: "de84b4b3-578b-447e-a9a0-0db35c995656"

sql_injection_match_tuples

complex

Список наборов совпадений SQL-инъекций.

Возвращается: если тип — sql и состояние — present

field_to_match

complex

Поле, к которому применяется сопоставление SQL-инъекций.

Возвращается: при успешном выполнении

type

string

Имя поля.

Возвращается: при успешном выполнении

Пример: "QUERY_STRING"

text_transformation

string

Преобразование, применяемое к тексту перед сопоставлением.

Возвращается: при успешном выполнении

Пример: "URL_DECODE"

xss_match_set_id

string

Идентификатор набора совпадений XSS.

Возвращается: если тип — xss и состояние — present

Пример: "de84b4b3-578b-447e-a9a0-0db35c995656"

xss_match_tuples

complex

Список наборов совпадений XSS.

Возвращается: если тип — xss и состояние — present

field_to_match

complex

Поле, к которому применяется сопоставление XSS.

Возвращается: при успешном выполнении

type

string

Имя поля

Возвращается: при успешном выполнении

Пример: "QUERY_STRING"

text_transformation

string

Преобразование, применяемое к тексту перед сопоставлением.

Возвращается: при успешном выполнении

Пример: "URL_DECODE"

Статус

  • Этот модуль будет удалён в версии 12.0.0. [устарело]
  • Дополнительные сведения см. в разделе УСТАРЕЛО.

Авторы

  • Will Thames (@willthames)
  • Mike Mochan (@mmochan)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Связь

© 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

Spec-Zone.ru

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