Spec-Zone.ru › Ansible

модуль azure.azcollection.azure_rm_applicationfirewallpolicy – Управление экземпляром политики брандмауэра приложений

Примечание

Этот модуль входит в коллекцию azure.azcollection (версия 3.18.0).

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

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

Чтобы использовать его в плейбуке, укажите: azure.azcollection.azure_rm_applicationfirewallpolicy.

Новое в azure.azcollection 3.1.0

  • Краткое описание
  • Требования
  • Параметры
  • Примечания
  • См. также
  • Примеры
  • Возвращаемые значения

Краткое описание

  • Создание, обновление или удаление экземпляра политики брандмауэра приложений.

Требования

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

  • python >= 2.7
  • На хосте, который выполняет этот модуль, должна быть установлена коллекция azure.azcollection из Galaxy
  • Все пакеты Python, перечисленные в requirements.txt коллекции, должны быть установлены с помощью pip на хосте, который выполняет модули из azure.azcollection
  • Полные инструкции по установке приведены по адресу https://galaxy.ansible.com/azure/azcollection

Параметры

Параметр

Комментарии

ad_user

string

Имя пользователя Active Directory. Используйте при аутентификации с помощью пользователя Active Directory, а не субъекта-службы.

adfs_authority_url

string

добавлено в azure.azcollection 0.0.1

URL-адрес центра Azure AD. Используйте при аутентификации с помощью имени пользователя и пароля, если у вас есть собственный центр ADFS.

api_profile

string

добавлено в azure.azcollection 0.0.1

Выбирает профиль API для взаимодействия со службами Azure. Значение по умолчанию latest подходит для общедоступных облаков; в будущем другие значения позволят использовать Azure Stack.

По умолчанию: "latest"

append_tags

boolean

Определяет, является ли поле тегов каноническим или просто добавляет теги к существующим.

Если поле каноническое, все теги, отсутствующие в параметре tags, будут удалены из метаданных объекта.

Варианты:

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

auth_source

string

добавлено в azure.azcollection 0.0.1

Определяет источник учетных данных для аутентификации.

Также можно задать с помощью переменной окружения ANSIBLE_AZURE_AUTH_SOURCE.

Если задано значение auto (по умолчанию), используется следующий порядок приоритета: параметры модуля -> env -> credential_file -> cli.

Если задано значение env, учетные данные считываются из переменных окружения.

Если задано значение credential_file, профиль считывается из ~/.azure/credentials.

Если задано значение cli, источником учетных данных будет профиль Azure CLI. Для определения идентификатора подписки, если их несколько, можно использовать subscription_id или переменную окружения AZURE_SUBSCRIPTION_ID; в противном случае используется подписка az cli по умолчанию.

Если задано значение msi, хост-компьютер должен быть ресурсом Azure с включенным расширением MSI. Для определения идентификатора подписки, если ресурсу предоставлен доступ к нескольким подпискам, можно использовать subscription_id или переменную окружения AZURE_SUBSCRIPTION_ID; в противном случае выбирается первая подписка.

Параметр msi добавлен в Ansible 2.6.

Варианты:

  • "auto" ← (по умолчанию)
  • "cli"
  • "credential_file"
  • "env"
  • "msi"

cert_validation_mode

string

добавлено в azure.azcollection 0.0.1

Определяет поведение проверки сертификатов для конечных точек Azure. По умолчанию все модули проверяют сертификат сервера, однако при использовании HTTPS-прокси или Azure Stack может потребоваться отключить эту проверку, передав ignore. Значение также можно задать в профиле файла учетных данных или с помощью переменной окружения AZURE_CERT_VALIDATION.

Варианты:

  • "ignore"
  • "validate"

client_id

string

Идентификатор клиента Azure. Используйте при аутентификации с помощью субъекта-службы или управляемого удостоверения (msi).

Также можно задать с помощью переменной окружения AZURE_CLIENT_ID.

cloud_environment

string

добавлено в azure.azcollection 0.0.1

Для облачных сред, отличных от общедоступного облака США, укажите имя среды (согласно Azure Python SDK, например, AzureChinaCloud, AzureUSGovernment) или URL-адрес конечной точки обнаружения метаданных (требуется для Azure Stack). Значение также можно задать в профиле файла учетных данных или с помощью переменной окружения AZURE_CLOUD_ENVIRONMENT.

По умолчанию: "AzureCloud"

custom_rules

list / elements=dictionary

Пользовательские правила политики.

action

string

Тип действия.

Варианты:

  • "Allow"
  • "Block"
  • "Log"
  • "JSChallenge"

group_by_user_session

list / elements=dictionary

Список условий группировки по идентификатору пользовательского сеанса.

group_by_variables

list / elements=dictionary

Список переменных условий группировки.

variable_name

string

Переменная условия пользовательского сеанса.

Варианты:

  • "ClientAddr"
  • "GeoLocation"
  • "None"

match_conditions

list / elements=dictionary / обязательный

Список условий сопоставления.

match_values

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

Значение для сопоставления.

match_variables

list / elements=dictionary / обязательный

Список переменных сопоставления.

selector

string

Селектор переменной сопоставления.

variable_name

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

Переменная сопоставления.

Варианты:

  • "RemoteAddr"
  • "RequestMethod"
  • "QueryString"
  • "PostArgs"
  • "RequestUri"
  • "RequestHeaders"
  • "RequestBody"
  • "RequestCookies"

negation_conditon

boolean

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

Варианты:

  • false
  • true

operator

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

Оператор сопоставления.

Варианты:

  • "IPMatch"
  • "Equal"
  • "Contains"
  • "LessThan"
  • "GreaterThan"
  • "LessThanOrEqual"
  • "GreaterThanOrEqual"
  • "BeginsWith"
  • "EndsWith"
  • "Regex"
  • "GeoMatch"
  • "Any"

transforms

list / elements=string

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

Варианты:

  • "Uppercase"
  • "Lowercase"
  • "Trim"
  • "UrlDecode"
  • "UrlEncode"
  • "RemoveNulls"
  • "HtmlEntityDecode"

name

string

Имя ресурса, уникальное в пределах политики.

Это имя можно использовать для доступа к ресурсу.

priority

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

Приоритет правила.

Правила с меньшим значением проверяются раньше правил с большим значением.

rate_limit_duration

string

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

Применяется только если ruleType имеет значение RateLimitRule.

Варианты:

  • "OneMin"
  • "FiveMins"

rate_limit_threshold

integer

Порог ограничения частоты запросов, применяемый, если ruleType имеет значение RateLimitRule.

Должен быть не меньше 1.

rule_type

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

Тип правила.

Варианты:

  • "MatchRule"
  • "RateLimitRule"
  • "Invalid"

state

string

Определяет, включено или отключено пользовательское правило. Если значение не указано, по умолчанию используется Enabled.

Варианты:

  • "Disabled"
  • "Enabled"

disable_instance_discovery

boolean

добавлено в azure.azcollection 2.3.0

Определяет, выполняется ли обнаружение экземпляра при попытке аутентификации. Если задать значение true, обнаружение экземпляра и проверка центра будут полностью отключены. Эта возможность предназначена для сценариев, в которых недоступна конечная точка метаданных, например в частных облаках или Azure Stack. Процесс обнаружения экземпляра включает получение метаданных центра с https://login.microsoft.com/ для проверки центра. Если задать значение **True**, проверка центра будет отключена. Поэтому крайне важно убедиться, что настроенный узел центра является допустимым и заслуживающим доверия.

Задается в профиле файла учетных данных или с помощью переменной окружения AZURE_DISABLE_INSTANCE_DISCOVERY.

Варианты:

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

location

string

Допустимое расположение Azure. По умолчанию используется расположение группы ресурсов.

log_mode

string

Родительский аргумент.

log_path

string

Родительский аргумент.

managed_rules

dictionary

Описывает структуру managedRules.

exclusions

list / elements=dictionary

Исключения, применяемые к политике.

exclusion_managed_rule_sets

list / elements=dictionary

Наборы управляемых правил, связанные с исключением.

rule_groups

list / elements=dictionary

Определяет группы правил, применяемые к набору правил.

rule_group_name

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

Группа управляемых правил для исключения.

rules

list / elements=dictionary

Список исключаемых правил. Если ни одно правило не указано, будут исключены все правила в группе.

rule_id

string

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

rule_set_type

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

Определяет тип используемого набора правил.

rule_set_version

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

Определяет версию используемого набора правил.

match_variable

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

Исключаемая переменная.

Варианты:

  • "RequestHeaderNames"
  • "RequestCookieNames"
  • "RequestArgNames"
  • "RequestHeaderKeys"
  • "RequestHeaderValues"
  • "RequestCookieKeys"
  • "RequestCookieValues"
  • "RequestArgKeys"
  • "RequestArgValues"

selector

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

Если matchVariable является коллекцией, оператор используется для указания элементов коллекции, к которым применяется это исключение.

selector_match_operator

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

Если matchVariable является коллекцией, оператор применяется к селектору, чтобы указать элементы коллекции, к которым относится это исключение.

Варианты:

  • "Equals"
  • "Contains"
  • "StartsWith"
  • "EndsWith"
  • "EqualsAny"

managed_rule_sets

list / elements=dictionary / обязательный

Наборы управляемых правил, связанные с политикой.

rule_group_overrides

list / elements=dictionary

Определяет переопределения групп правил, применяемые к набору правил.

rule_group_name

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

Группа управляемых правил, параметры которой нужно переопределить.

rules

list / elements=dictionary

Список правил, которые будут отключены.

Если ни одно правило не указано, будут отключены все правила в группе.

action

string

Определяет действие переопределения, применяемое при совпадении правила.

Варианты:

  • "AnomalyScoring"
  • "Allow"
  • "Block"
  • "Log"
  • "JSChallenge"

rule_id

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

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

sensitivity

string

Определяет уровень чувствительности переопределения, применяемый при совпадении правила.

Варианты:

  • "None"
  • "Low"
  • "Medium"
  • "High"

state

string

Состояние управляемого правила. Если не указано, по умолчанию используется Disabled.

Варианты:

  • "Enabled"
  • "Disabled"

rule_set_type

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

Задает тип набора правил, который следует использовать.

rule_set_version

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

Задает версию набора правил, которую следует использовать.

name

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

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

oidc_token

string

добавлено в azure.azcollection 3.17.0

Токен OpenID Connect (OIDC) (JWT), используемый для аутентификации с помощью удостоверения рабочей нагрузки.

Этот токен обменивается с Azure AD с использованием федеративного удостоверения OIDC.

Полезно в системах CI (например, GitHub Actions и Azure DevOps), где токен OIDC предоставляется непосредственно платформой.

Также можно задать с помощью переменной окружения AZURE_FEDERATED_TOKEN.

oidc_token_file_path

path

добавлено в azure.azcollection 3.17.0

Путь к файлу с токеном OpenID Connect (OIDC) (JWT), используемым для аутентификации с помощью удостоверения рабочей нагрузки.

Файл должен содержать только необработанный токен.

Этот способ обычно используется на платформах, которые сохраняют токены OIDC в файлах.

Также можно задать с помощью переменной окружения AZURE_FEDERATED_TOKEN_FILE.

password

string

Пароль пользователя Active Directory. Используется для аутентификации от имени пользователя Active Directory, а не субъекта-службы.

policy_settings

dictionary

Параметры политики.

custom_block_response_body

string

Если тип действия — block, пользователь может переопределить тело ответа.

Тело необходимо указать в кодировке base64.

custom_block_response_status_code

integer

Если тип действия — block, пользователь может переопределить код состояния ответа.

file_upload_enforcement

boolean

Разрешить ли WAF ограничивать размер загружаемых файлов.

Варианты:

  • false
  • true

file_upload_limit_in_mb

integer

Максимальный размер загружаемого файла в МБ для WAF.

js_challenge_cookie_expiration_in_mins

integer

Время истечения срока действия файла cookie проверки JavaScript для межсетевого экрана веб-приложений в минутах.

log_scrubbing

dictionary

Для очистки конфиденциальных полей журналов.

scrubbing_rules

list / элементы=dictionary

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

match_variable

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

Переменная, которую необходимо удалить из журналов.

Варианты:

  • "RequestHeaderNames"
  • "RequestCookieNames"
  • "RequestArgNames"
  • "RequestPostArgNames"
  • "RequestJSONArgNames"
  • "RequestIPAddress"

selector

string

Если matchVariable является коллекцией, оператор указывает, к каким элементам коллекции применяется это правило.

selector_match_operator

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

Если matchVariable является коллекцией, оператор применяется к селектору, чтобы указать, к каким элементам коллекции применяется это правило.

Варианты:

  • "Equals"
  • "EqualsAny"

state

string

Задает состояние правила очистки журналов.

Варианты:

  • "Enabled"
  • "Disabled"

state

string

Состояние конфигурации очистки журналов.

Варианты:

  • "Enabled"
  • "Disabled"

max_request_body_size_in_kb

integer

Максимальный размер тела запроса в КБ для WAF.

mode

string

Режим политики.

Варианты:

  • "Prevention"
  • "Detection"

request_body_check

boolean

Разрешить ли WAF проверять тело запроса.

Варианты:

  • false
  • true

request_body_enforcement

boolean

Разрешить ли WAF ограничивать размер тела запроса.

Варианты:

  • false
  • true

request_body_inspect_limit_in_kb

integer

Максимальный предел проверки тела запроса для WAF в КБ.

state

string

Состояние политики.

Варианты:

  • "Disabled"
  • "Enabled"

profile

string

Профиль безопасности из файла ~/.azure/credentials.

resource_group

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

Имя группы ресурсов.,

secret

string

Секрет клиента Azure. Используется для аутентификации с помощью субъекта-службы.

state

string

Задает требуемое состояние политики межсетевого экрана.

Используйте present для создания или обновления, а absent — для удаления.

Варианты:

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

subscription_id

string

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

tags

dictionary

Словарь пар строка:строка, назначаемых объекту в качестве метаданных.

Теги метаданных объекта будут обновлены с использованием всех указанных значений.

Чтобы удалить теги, задайте для параметра append_tags значение false.

В настоящее время в тегах зон Azure DNS и служб Traffic Manager также нельзя использовать пробелы.

Azure Front Door не поддерживает использование

Azure Automation и Azure CDN поддерживают не более 15 тегов для ресурсов.

tenant

string

Идентификатор клиента Azure. Используется для аутентификации с помощью субъекта-службы.

thumbprint

string

добавлено в azure.azcollection 1.14.0

Отпечаток закрытого ключа, указанного в x509_certificate_path.

Используется для аутентификации с помощью субъекта-службы.

Обязательно, если задан x509_certificate_path.

x509_certificate_path

path

добавлено в azure.azcollection 1.14.0

Путь к сертификату X509 в формате PEM, используемому для создания субъекта-службы.

Сертификат необходимо добавить к закрытому ключу.

Используется для аутентификации с помощью субъекта-службы.

Примечания

Примечание

  • Для аутентификации в Azure можно передать параметры, задать переменные окружения, использовать профиль из ~/.azure/credentials или выполнить вход перед запуском задач или плейбука с помощью az login.
  • Аутентификация также возможна с помощью субъекта-службы или пользователя Active Directory.
  • Для аутентификации через OIDC передайте client_id, tenant и oidc_token или oidc_token_file_path либо задайте переменные окружения AZURE_CLIENT_ID, AZURE_TENANT и AZURE_FEDERATED_TOKEN или AZURE_FEDERATED_TOKEN_FILE.
  • Для аутентификации через субъект-службу передайте subscription_id, client_id, secret и tenant либо задайте переменные окружения AZURE_SUBSCRIPTION_ID, AZURE_CLIENT_ID, AZURE_SECRET и AZURE_TENANT.
  • Для аутентификации от имени пользователя Active Directory передайте ad_user и password либо задайте в окружении AZURE_AD_USER и AZURE_PASSWORD.
  • Кроме того, учетные данные можно хранить в ~/.azure/credentials. Это ini-файл, содержащий раздел [default] и следующие ключи: subscription_id, client_id, secret и tenant либо subscription_id, ad_user и password. Также можно добавить дополнительные профили. Укажите профиль, передав profile или задав переменную окружения AZURE_PROFILE.

См. также

См. также

Вход с помощью Azure CLI

Инструкция по аутентификации с помощью команды az login.

Примеры

- name: Create a new application firewall policy
  azure_rm_applicationfirewallpolicy:
    resource_group: "{{ resource_group }}"
    name: "new{{ rpfx }}02"
    location: australiasoutheast
    policy_settings:
      file_upload_enforcement: true
      file_upload_limit_in_mb: 88
      js_challenge_cookie_expiration_in_mins: 30
      max_request_body_size_in_kb: 128
      mode: Detection
      request_body_check: true
      request_body_enforcement: true
      request_body_inspect_limit_in_kb: 128
      state: Enabled
      custom_block_response_status_code: 200
      custom_block_response_body: Fredtest
      log_scrubbing:
        state: Enabled
        scrubbing_rules:
          - match_variable: RequestHeaderNames
            selector_match_operator: Equals
            selector: '*'
            state: Enabled
    custom_rules:
      - action: Block
        match_conditions:
          - match_values:
              - 10.1.0.0/24
              - 10.2.0.0/24
            match_variables:
              - variable_name: RemoteAddr
            negation_conditon: true
            operator: IPMatch
            transforms:
              - Uppercase
              - Lowercase
        name: ruledefine01
        priority: 21
        rule_type: MatchRule
        state: Enabled
      - action: Block
        group_by_user_session:
          - group_by_variables:
              - variable_name: ClientAddr
        match_conditions:
          - match_values:
              - 10.1.0.0/24
              - 10.2.0.0/24
            match_variables:
              - variable_name: RemoteAddr
            negation_conditon: false
            operator: IPMatch
        name: ruledefine02
        priority: 22
        rule_type: RateLimitRule
        rate_limit_threshold: 100
        rate_limit_duration: OneMin
        state: Enabled
    managed_rules:
      exclusions:
        - match_variable: RequestHeaderNames
          selector_match_operator: Equals
          selector: IPMatch
          exclusion_managed_rule_sets:
            - rule_set_type: Microsoft_DefaultRuleSet
              rule_set_version: 2.1
      managed_rule_sets:
        - rule_set_type: Microsoft_BotManagerRuleSet
          rule_set_version: 1.0
        - rule_set_type: Microsoft_DefaultRuleSet
          rule_set_version: 2.1

- name: Delete the application firewall policy
  azure_rm_applicationfirewallpolicy:
    resource_group: "{{ resource_group }}"
    name: firewallpolicy
    state: absent

Возвращаемые значения

Общие возвращаемые значения описаны здесь, ниже перечислены поля, уникальные для этого модуля:

Ключ

Описание

firewall_policy

complex

Список сведений о политике брандмауэра веб-приложений

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

custom_rules

complex

Пользовательские правила политики.

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

action

string

Имя ресурса, уникальное в пределах политики.

Это имя можно использовать для доступа к ресурсу.

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

Пример: "Block"

match_conditions

list / elements=string

Список условий сопоставления.

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

Пример: [{"match_values": ["10.1.0.4"], "match_variables": [{"variable_name": "RemoteAddr"}], "negation_condition": false, "operator": "IPMatch", "transforms": []}]

name

string

Имя ресурса, уникальное в пределах политики.

Это имя можно использовать для доступа к ресурсу.

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

Пример: "testrule01"

priority

integer

Приоритет правила.

Правила с меньшим значением оцениваются раньше правил с большим значением.

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

Пример: 33

rule_type

string

Тип правила.

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

Пример: "MatchRule"

state

string

Указывает, включено или отключено пользовательское правило.

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

Пример: "Enabled"

id

string

Идентификатор политики брандмауэра веб-приложений.

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

Пример: "/subscriptions/xxx-xxx/resourceGroups/v-xisuRG/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/firewallpolicy"

location

string

Расположение политики брандмауэра веб-приложений.

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

Пример: "eastus"

managed_rules

complex

Описывает структуру managedRules.

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

exclusions

list / elements=string

Исключения, применяемые к политике.

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

Пример: []

managed_rule_sets

list / elements=string

Наборы управляемых правил, связанные с политикой.

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

Пример: [{"rule_group_overrides": [], "rule_set_type": "Microsoft_DefaultRuleSet", "rule_set_version": "2.1"}]

name

string

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

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

Пример: "firewallpolicy"

policy_settings

complex

Настройки политики.

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

file_upload_enforcement

boolean

Определяет, разрешено ли WAF применять ограничения на загрузку файлов.

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

Пример: true

file_upload_limit_in_mb

integer

Максимальный размер загружаемого файла для WAF в МБ.

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

Пример: 100

js_challenge_cookie_expiration_in_mins

integer

Время действия файла cookie проверки JavaScript брандмауэра веб-приложений в минутах.

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

Пример: 30

max_request_body_size_in_kb

integer

Максимальный размер тела запроса для WAF в КБ.

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

Пример: 128

mode

string

Режим политики.

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

Пример: "Detection"

request_body_check

boolean

Определяет, разрешено ли WAF проверять тело запроса.

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

Пример: false

request_body_enforcement

boolean

Определяет, разрешено ли WAF применять ограничения на размер тела запроса.

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

Пример: false

state

string

Состояние политики.

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

Пример: "Enabled"

provisioning_state

string

Состояние подготовки политики брандмауэра веб-приложений.

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

Пример: "Succeeded"

resource_group

string

Имя группы ресурсов.

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

Пример: "myResourceGroup"

tags

dictionary

Теги политики брандмауэра веб-приложений.

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

Пример: {"key1": "value1"}

type

string

Тип политики брандмауэра веб-приложений.

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

Пример: "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies"

Авторы

  • xuzhang3 (@xuzhang3)
  • Fred-sun (@Fred-sun)

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

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

© 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/azure/azcollection/azure_rm_applicationfirewallpolicy_module.html

Spec-Zone.ru

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