Spec-Zone.ru › Ansible

Модуль community.aws.waf_condition — Создание и удаление условий WAF

Примечание

Этот модуль является частью коллекции community.aws (версия 8.0.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install community.aws. Для использования этого модуля требуются дополнительные зависимости, см. Требования для подробностей.

Для использования в плейбуке укажите: community.aws.waf_condition.

Введено в версии community.aws 1.0.0

  • Описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Описание

  • Прочитайте документацию AWS для WAF https://aws.amazon.com/documentation/waf/
  • До версии 5.0.0 этот модуль назывался community.aws.aws_waf_condition. Использование не изменилось.

Псевдонимы: aws_waf_condition

Требования

Ниже перечислены требования к хосту, на котором выполняется этот модуль.

  • python >= 3.6
  • boto3 >= 1.26.0
  • botocore >= 1.29.0
END_OF_DOCUMENT_MARKER

Параметры

Параметр

Комментарии

access_key

псевдонимы: aws_access_key_id, aws_access_key, ec2_access_key

строка

Идентификатор ключа доступа AWS.

См. документацию AWS для получения дополнительной информации об access токенах 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 или EC2_ACCESS_KEY в порядке убывания приоритета.

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

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

Псевдоним ec2_access_key устарел и будет удален в релизе после 2024-12-01.

Поддержка переменной среды EC2_ACCESS_KEY устарела и будет удалена в релизе после 2024-12-01.

aws_ca_bundle

путь

Расположение набора сертификатов CA для проверки SSL-сертификатов.

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

aws_config

словарь

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

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

debug_botocore_endpoint_logs

логический

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

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

Варианты:

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

endpoint_url

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

строка

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

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

Псевдонимы ec2_url и s3_url устарели и будут удалены в релизе после 2024-12-01.

Поддержка переменной среды EC2_URL устарела и будет удалена в релизе после 2024-12-01.

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

строка

Тип сравнения.

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

Варианты:

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

country

строка

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

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

field_to_match

строка

Поле для сравнения.

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

Варианты:

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

header

строка

Конкретный заголовок для сопоставления.

Требуется при field_to_match=header.

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

ip_address

строка

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

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

position

строка

Место в поле, где должно произойти совпадение.

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

Варианты:

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

regex_pattern

словарь

Словарь, описывающий регулярные выражения для сопоставления.

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

name

строка

Имя для описания набора шаблонов.

regex_strings

список / элементы=строка

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

END_OF_DOCUMENT_MARKER

size

целое число

Размер поля (в байтах).

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

target_string

строка

Строка для поиска.

Допускается до 50 байт.

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

transformation

строка

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

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

Варианты:

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

name

строка / обязательно

Имя условия межсайтовой атаки для управления.

profile

алиасы: aws_profile

строка

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

См. документацию AWS для получения дополнительной информации о профилях https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html.

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

Параметр profile несовместим с параметрами aws_access_key, aws_secret_key и security_token.

purge_filters

булево

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

Варианты:

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

region

алиасы: aws_region, ec2_region

строка

Используемый регион AWS.

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

Также можно использовать переменные окружения AWS_REGION или EC2_REGION.

См. документацию Amazon AWS для получения дополнительной информации http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region.

Алиас ec2_region устарел и будет удален в релизе после 2024-12-01

Поддержка переменной окружения EC2_REGION устарела и будет удалена в релизе после 2024-12-01.

secret_key

алиасы: aws_secret_access_key, aws_secret_key, ec2_secret_key

строка

Секретный ключ доступа AWS.

См. документацию AWS для получения дополнительной информации об access-токен 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, или EC2_SECRET_KEY также могут использоваться в порядке убывания приоритета.

Параметры secret_key и profile несовместимы.

Алиас aws_secret_access_key добавлен в релизе 5.1.0 для соответствия SDK AWS botocore.

Алиас ec2_secret_key устарел и будет удален в релизе после 2024-12-01.

Поддержка переменной окружения EC2_SECRET_KEY устарела и будет удалена в релизе после 2024-12-01.

session_token

алиасы: aws_session_token, security_token, aws_security_token, access_token

строка

Токен сессии AWS STS для использования с временными учетными данными.

См. документацию AWS для получения дополнительной информации об access-токен https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys.

Переменные окружения AWS_SESSION_TOKEN, AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN также могут использоваться в порядке убывания приоритета.

Параметры security_token и profile несовместимы.

Алиасы aws_session_token и session_token были добавлены в релизе 3.2.0, параметр был переименован из security_token в session_token в релизе 6.0.0.

Алиасы security_token, aws_security_token и access_token устарели и будут удалены в релизе после 2024-12-01.

Поддержка переменных окружения EC2_SECRET_KEY и AWS_SECURITY_TOKEN устарела и будет удалена в релизе после 2024-12-01.

state

строка

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

Варианты:

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

type

строка / обязательно

Тип соответствия.

Варианты:

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

validate_certs

булево

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

Установка validate_certs=false категорически не рекомендуется. В качестве альтернативы, следует установить aws_ca_bundle.

Варианты:

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

waf_regional

булево

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

Варианты:

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

Примечания

Примечание

  • Внимание: Для модулей переменные окружения и конфигурационные файлы считываются из контекста Ansible «хост», а не из контекста «контроллер». Поэтому файлы могут потребоваться скопировать на «хост». Для плагинов поиска и подключения переменные окружения и конфигурационные файлы считываются из контекста Ansible «контроллер», а не из контекста «хост».
  • AWS SDK (boto3), используемый Ansible, также может читать значения по умолчанию для учетных данных и других настроек, таких как регион, из своих конфигурационных файлов в контексте 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

сложный

Условие, возвращаемое операцией.

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

byte_match_set_id

строка

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

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

Пример: "c4882c96-837b-44a2-a762-4ea87dbf812b"

byte_match_tuples

сложный

Список кортежей соответствий байтов.

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

field_to_match

сложный

Поле для соответствия.

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

data

строка

Какой именно заголовок (если тип - заголовок).

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

Пример: "content-type"

type

строка

Тип поля

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

Пример: "HEADER"

positional_constraint

строка

Позиция в поле для соответствия.

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

Пример: "STARTS_WITH"

target_string

строка

Строка для поиска.

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

Пример: "Hello"

text_transformation

строка

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

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

Пример: "NONE"

condition_id

строка

Независимый от типа ID условия.

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

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

geo_match_constraints

сложный

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

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

type

строка

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

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

Пример: "Country"

value

строка

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

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

Пример: "AT"

geo_match_set_id

строка

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

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

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

ip_set_descriptors

сложный

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

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

type

строка

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

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

Пример: "IPV4"

value

строка

IP-адрес.

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

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

ip_set_id

строка

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

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

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

name

string

Имя условия.

Возвращается: когда состояние присутствует

Пример: "my_waf_condition"

regex_match_set_id

string

ID набора соответствий регулярных выражений.

Возвращается: когда тип — 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

ID шаблона регулярного выражения.

Возвращается: успех

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

text_transformation

string

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

Возвращается: успех

Пример: "NONE"

size_constraint_set_id

string

ID набора ограничений размера.

Возвращается: когда тип — 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

ID набора соответствий для 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

строка

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

Возвращаемое значение: success

Пример: "URL_DECODE"

xss_match_set_id

строка

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

Возвращаемое значение: при type равно xss и state равно present

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

xss_match_tuples

сложный тип

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

Возвращаемое значение: при type равно xss и state равно present

field_to_match

сложный тип

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

Возвращаемое значение: success

type

строка

Имя поля

Возвращаемое значение: success

Пример: "QUERY_STRING"

text_transformation

строка

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

Возвращаемое значение: success

Пример: "URL_DECODE"

Авторы

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

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

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

© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/aws/waf_condition_module.html

Spec-Zone.ru

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