Spec-Zone.ru › AWS CLI v2

[ aws . waf ]

update-web-acl

Описание

Примечание

Это документация по AWS WAF Classic. Дополнительную информацию см. в руководстве для разработчиков AWS WAF Classic.

Для последней версии AWS WAF используйте API AWS WAFV2 и см. руководство для разработчиков AWS WAF. В последней версии AWS WAF используется единый набор конечных точек для регионального и глобального использования.

Вставляет или удаляет объекты ActivatedRule в WebACL . Каждый Rule идентифицирует веб-запросы, которые вы хотите разрешить, заблокировать или подсчитать. При обновлении WebACL вы указываете следующие значения:

  • Действие по умолчанию для WebACL , либо ALLOW , либо BLOCK . AWS WAF выполняет действие по умолчанию, если запрос не соответствует критериям ни одного из Rules в WebACL .
  • Rules, которые вы хотите добавить или удалить. Если вы хотите заменить один Rule другим, вы удаляете существующий Rule и добавляете новый.
  • Для каждого Rule укажите, хочет ли AWS WAF разрешить запросы, заблокировать запросы или подсчитать запросы, соответствующие условиям в Rule .
  • Порядок, в котором вы хотите, чтобы AWS WAF оценивал Rules в WebACL . Если вы добавляете более одного Rule в WebACL , AWS WAF оценивает каждый запрос по Rules в порядке, основанном на значении Priority . (Rule с наименьшим значением для Priority оценивается первым.) Когда веб-запрос соответствует всем предикатам (например, ByteMatchSets и IPSets ) в Rule , AWS WAF немедленно выполняет соответствующее действие, разрешить или заблокировать, и не оценивает запрос по остальным Rules в WebACL , если таковые имеются.

Для создания и настройки WebACL выполните следующие шаги:

  • Создайте и обновите предикаты, которые вы хотите включить в Rules . Дополнительную информацию см. в CreateByteMatchSet , UpdateByteMatchSet , CreateIPSet , UpdateIPSet , CreateSqlInjectionMatchSet и UpdateSqlInjectionMatchSet .
  • Создайте и обновите Rules, которые вы хотите включить в WebACL . Дополнительную информацию см. в CreateRule и UpdateRule .
  • Создайте WebACL . См. CreateWebACL .
  • Используйте GetChangeToken для получения маркера изменения, который вы предоставляете в параметре ChangeToken запроса UpdateWebACL.
  • Отправьте запрос UpdateWebACL для указания Rules, которые вы хотите включить в WebACL, для указания действия по умолчанию и для связывания WebACL с распределением CloudFront. ActivatedRule может быть группой правил. Если вы укажете группу правил как вашу ActivatedRule, вы можете исключить определенные правила из этой группы правил. Если у вас уже есть группа правил, связанная с веб-ACL, и вы хотите отправить запрос UpdateWebACL для исключения определенных правил из этой группы правил, вы должны сначала удалить группу правил из веб-ACL, а затем снова вставить ее, указав исключенные правила. Подробности см. в ActivatedRule$ExcludedRules.

Обратите внимание, что если вы попытаетесь добавить правило RATE_BASED в веб-ACL без задания типа правила при первом создании правила, запрос UpdateWebACL завершится ошибкой, поскольку запрос пытается добавить правило REGULAR (тип правила по умолчанию) с указанным идентификатором, которого не существует.

Дополнительную информацию о том, как использовать API AWS WAF для разрешения или блокирования HTTP-запросов, см. в руководстве для разработчиков AWS WAF.

См. также: Документация по API AWS

Резюме

  update-web-acl
--web-acl-id <value>
--change-token <value>
[--updates <value>]
[--default-action <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--debug]
[--endpoint-url <value>]
[--no-verify-ssl]
[--no-paginate]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--no-sign-request]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]
[--cli-binary-format <value>]
[--no-cli-pager]
[--cli-auto-prompt]
[--no-cli-auto-prompt]

Параметры

--web-acl-id (строка)

Идентификатор обновляемого WebACL. WebACLId возвращается методами CreateWebACL и ListWebACLs.

--change-token (строка)

Значение, возвращённое последним вызовом GetChangeToken.

--updates (список)

Массив обновлений для WebACL.

Массив объектов WebACLUpdate, которые нужно вставить или удалить из WebACL. Для получения дополнительной информации см. соответствующие типы данных:

  • WebACLUpdate : Содержит Action и ActivatedRule
  • ActivatedRule : Содержит Action , OverrideAction , Priority , RuleId и Type . ActivatedRule|OverrideAction используется только при обновлении или добавлении RuleGroup в WebACL. В этом случае не используется ActivatedRule|Action. Для всех остальных запросов обновления используется ActivatedRule|Action вместо ActivatedRule|OverrideAction.
  • WafAction : Содержит Type

(структура)

Примечание

Это документация для AWS WAF Classic. Для получения дополнительной информации см. AWS WAF Classic в руководстве разработчика.

Для последней версии AWS WAF используйте API AWS WAFV2 и см. руководство разработчика AWS WAF. В последней версии AWS WAF используется единый набор конечных точек для региональных и глобальных применений.

Указывает, нужно ли вставлять Rule или удалять Rule из WebACL.

Action -> (строка)

Указывает, нужно ли вставлять Rule или удалять Rule из WebACL.

ActivatedRule -> (структура)

Объект ActivatedRule в запросе UpdateWebACL определяет Rule, которую нужно вставить или удалить, приоритет Rule в WebACL и действие, которое AWS WAF должен выполнить, когда веб-запрос соответствует Rule (ALLOW, BLOCK или COUNT).

Priority -> (целое число)

Указывает порядок обработки правил в WebACL. Правила с меньшим значением Priority обрабатываются до правил с большим значением Rules. Значение должно быть уникальным целым числом. Если вы добавляете несколько Rules в WebACL, значения не обязательно должны быть последовательными.

RuleId -> (строка)

Идентификатор RuleId для Rule. Вы используете RuleId, чтобы получить дополнительную информацию о Rule (см. GetRule), обновить Rule (см. UpdateRule), вставить или удалить Rule в WebACL или удалить из WebACL (см. UpdateWebACL) или удалить Rule из AWS WAF (см. DeleteRule).

RuleId возвращается методами CreateRule и ListRules.

Action -> (структура)

Указывает действие, которое CloudFront или AWS WAF выполняют, когда веб-запрос соответствует условиям в Rule. Допустимые значения для Action включают:

  • ALLOW : CloudFront отвечает запрошенным объектом.
  • BLOCK : CloudFront отвечает кодом состояния HTTP 403 (Запрещено).
  • COUNT : AWS WAF увеличивает счётчик запросов, соответствующих условиям правила, и продолжает проверять веб-запрос на основе оставшихся правил в веб-ACL.
ActivatedRule|OverrideAction используется только при обновлении или добавлении RuleGroup в WebACL. В этом случае не используется ActivatedRule|Action. Для всех остальных запросов обновления используется ActivatedRule|Action вместо ActivatedRule|OverrideAction.

Type -> (строка)

Указывает, как AWS WAF должен отвечать на запросы, соответствующие настройкам в Rule. Допустимые значения включают:

  • ALLOW : AWS WAF разрешает запросы
  • BLOCK : AWS WAF блокирует запросы
  • COUNT : AWS WAF увеличивает счётчик запросов, соответствующих всем условиям правила. AWS WAF затем продолжает проверять веб-запрос на основе оставшихся правил в веб-ACL. Нельзя указать COUNT для действия по умолчанию для WebACL.

OverrideAction -> (структура)

Используйте OverrideAction для проверки RuleGroup.

Любое правило в RuleGroup потенциально может заблокировать запрос. Если вы установите OverrideAction в None, RuleGroup заблокирует запрос, если какое-либо отдельное правило в RuleGroup соответствует запросу и настроено на блокировку этого запроса. Однако, если вы сначала хотите проверить RuleGroup, установите OverrideAction в Count. RuleGroup переопределит любое действие блокировки, указанное отдельными правилами, содержащимися в группе. Вместо блокировки соответствующих запросов, эти запросы будут подсчитываться. Вы можете просмотреть запись подсчитанных запросов с помощью GetSampledRequests.

ActivatedRule|OverrideAction применяется только при обновлении или добавлении RuleGroup в WebACL. В этом случае не используется ActivatedRule|Action. Для всех остальных запросов обновления используется ActivatedRule|Action вместо ActivatedRule|OverrideAction.

Type -> (строка)

COUNT переопределяет действие, указанное отдельным правилом в RuleGroup. Если установлено в NONE, действие правила будет выполнено.

Type -> (строка)

Тип правила, либо REGULAR, как определено в Rule, либо RATE_BASED, как определено в RateBasedRule, либо GROUP, как определено в RuleGroup. По умолчанию REGULAR. Хотя это поле необязательное, имейте в виду, что если вы попытаетесь добавить правило RATE_BASED в веб-ACL без задания типа, запрос UpdateWebACL завершится ошибкой, так как запрос пытается добавить правило REGULAR с указанным ID, которого не существует.

ExcludedRules -> (список)

Массив правил, исключаемых из группы правил. Это применимо только тогда, когда ActivatedRule относится к RuleGroup.

Иногда необходимо отладить группы правил, которые блокируют трафик неожиданно (ложноположительные результаты). Один из методов отладки — определить конкретное правило в группе правил, которое блокирует законный трафик, а затем отключить (исключить) это конкретное правило. Вы можете исключить правила как из собственных групп правил, так и из групп правил AWS Marketplace, которые были связаны с веб-ACL.

Указание ExcludedRules не удаляет эти правила из группы правил. Вместо этого это изменяет действие для правил на COUNT. Следовательно, запросы, соответствующие ExcludedRule, подсчитываются, но не блокируются. Владелец RuleGroup получит метрики подсчёта для каждого ExcludedRule.

Если вы хотите исключить правила из группы правил, которая уже связана с веб-ACL, выполните следующие шаги:

  • Используйте журналы AWS WAF для определения идентификаторов правил, которые вы хотите исключить. Дополнительную информацию о журналах см. в разделе Ведение журнала информации о трафике веб-ACL.
  • Отправьте запрос UpdateWebACL с двумя действиями:
    • Первое действие удаляет существующую группу правил из веб-ACL. То есть в запросе UpdateWebACL первое Updates:Action должно быть DELETE, а Updates:ActivatedRule:RuleId — это группа правил, содержащая правила, которые вы хотите исключить.
    • Второе действие вставляет ту же группу правил обратно, но указывает правила для исключения. То есть второе Updates:Action должно быть INSERT, Updates:ActivatedRule:RuleId должна быть группа правил, которую вы только что удалили, а ExcludedRules должна содержать правила, которые вы хотите исключить.

(структура)

Примечание

Это документация для AWS WAF Classic. Для получения дополнительной информации см. AWS WAF Classic в руководстве разработчика.

Для последней версии AWS WAF используйте API AWS WAFV2 и см. руководство разработчика AWS WAF. В последней версии AWS WAF используется единый набор конечных точек для региональных и глобальных применений.

Правило, исключаемое из группы правил. Это применимо только тогда, когда ActivatedRule относится к RuleGroup. Правило должно принадлежать RuleGroup, которое указано в ActivatedRule.

RuleId -> (строка)

Уникальный идентификатор правила, исключаемого из группы правил.

Синтаксис JSON:

[
  {
    "Action": "INSERT"|"DELETE",
    "ActivatedRule": {
      "Priority": integer,
      "RuleId": "string",
      "Action": {
        "Type": "BLOCK"|"ALLOW"|"COUNT"
      },
      "OverrideAction": {
        "Type": "NONE"|"COUNT"
      },
      "Type": "REGULAR"|"RATE_BASED"|"GROUP",
      "ExcludedRules": [
        {
          "RuleId": "string"
        }
        ...
      ]
    }
  }
  ...
]

--default-action (структура)

Действие по умолчанию для веб-ACL, либо ALLOW, либо BLOCK. AWS WAF выполняет действие по умолчанию, если запрос не соответствует критериям ни одного из правил в веб-ACL.

Type -> (строка)

Указывает, как AWS WAF должен отвечать на запросы, соответствующие настройкам в Rule. Допустимые значения включают:

  • ALLOW : AWS WAF разрешает запросы
  • BLOCK : AWS WAF блокирует запросы
  • COUNT : AWS WAF увеличивает счётчик запросов, соответствующих всем условиям правила. AWS WAF затем продолжает проверять веб-запрос на основе оставшихся правил в веб-ACL. Нельзя указать COUNT для действия по умолчанию для WebACL.

Краткая форма синтаксиса:

Type=string

Синтаксис JSON:

{
  "Type": "BLOCK"|"ALLOW"|"COUNT"
}

--cli-input-json | --cli-input-yaml (строка) Считывает аргументы из предоставленной JSON-строки. JSON-строка следует формату, предоставленному --generate-cli-skeleton. Если на командной строке предоставлены другие аргументы, эти значения переопределят значения, предоставленные JSON. Невозможно передать произвольные двоичные значения с помощью предоставленного JSON-значения, так как строка будет взята буквально. Это не может быть указано вместе с --cli-input-yaml.

--generate-cli-skeleton (строка) Выводит JSON-скелет в стандартный вывод без отправки запроса к API. Если предоставлено значение без значения или значение input, выводит JSON-входной образец, который можно использовать в качестве аргумента для --cli-input-json. Аналогично, если предоставлено значение yaml-input, выведет пример входного YAML, который можно использовать с --cli-input-yaml. Если предоставлено значение output, оно проверяет входные данные команды и возвращает пример выходного JSON для этой команды. Сгенерированный JSON-скелет не стабилен между версиями AWS CLI, и нет гарантии обратной совместимости в сгенерированном JSON-скелете.

Глобальные параметры

--debug (логическое значение)

Включить отладку регистрации.

--endpoint-url (строка)

Переопределить URL по умолчанию команды указанным URL.

--no-verify-ssl (логическое значение)

По умолчанию AWS CLI использует SSL при взаимодействии с AWS-сервисами. Для каждого SSL-соединения AWS CLI будет проверять сертификаты SSL. Этот параметр переопределяет поведение проверки SSL-сертификатов по умолчанию.

--no-paginate (логическое значение)

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

--output (строка)

Стиль форматирования для вывода команды.

  • json
  • текст
  • таблица
  • yaml
  • yaml-поток

--query (строка)

Запрос JMESPath для фильтрации данных ответа.

--profile (строка)

Использование определенного профиля из файла учетных данных.

--region (строка)

Регион для использования. Переопределяет настройки конфигурации/среды.

--version (строка)

Отображение версии этого инструмента.

--color (строка)

Включение/выключение цветного вывода.

  • включено
  • выключено
  • автоматически

--no-sign-request (логическое значение)

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

--ca-bundle (строка)

Набор сертификатов CA для использования при проверке SSL-сертификатов. Переопределяет настройки конфигурации/среды.

--cli-read-timeout (целое число)

Максимальное время чтения сокета в секундах. Если значение установлено в 0, чтение сокета будет блокирующим и не будет таймаута. Значение по умолчанию составляет 60 секунд.

--cli-connect-timeout (целое число)

Максимальное время подключения сокета в секундах. Если значение установлено в 0, подключение сокета будет блокирующим и не будет таймаута. Значение по умолчанию составляет 60 секунд.

--cli-binary-format (строка)

Стиль форматирования, используемый для двоичных блоков. Формат по умолчанию — base64. Формат base64 ожидает, что двоичные блоки будут представлены как строка, закодированная в base64. Формат raw-in-base64-out сохраняет совместимость с поведением AWS CLI V1, и двоичные значения должны передаваться буквально. При предоставлении содержимого из файла, отображающего двоичный блок, fileb:// всегда будет обрабатываться как двоичный и будет использовать содержимое файла непосредственно независимо от параметра cli-binary-format. При использовании file:// содержимое файла должно быть правильно отформатировано для настроенного параметра cli-binary-format.

  • base64
  • raw-in-base64-out

--no-cli-pager (логическое значение)

Отключить вывод пейджера CLI.

--cli-auto-prompt (логическое значение)

Автоматически запрашивать параметры ввода CLI.

--no-cli-auto-prompt (логическое значение)

Отключить автоматическое запросы параметров ввода CLI.

Примеры

Примечание

Для использования следующих примеров необходимо установить и настроить AWS CLI. Дополнительную информацию см. в руководстве «Начало работы» в Руководстве пользователя AWS CLI.

Если не указано иное, все примеры используют правила цитирования в стиле Unix. Эти примеры необходимо адаптировать к правилам цитирования вашей терминальной среды. См. Использование кавычек со строками в Руководстве пользователя AWS CLI.

Для обновления web ACL

Следующая update-web-acl команда удаляет объект ActivatedRule в WebACL.

aws waf update-web-acl
–web-acl-id a123fae4-b567-8e90-1234-5ab67ac8ca90 –change-token 12cs345-67cd-890b-1cd2-c3a4567d89f1 –updates Action=”DELETE”,ActivatedRule=’{Priority=1,RuleId=”WAFRule-1-Example”,Action={Type=”ALLOW”},Type=”REGULAR”}’

Вывод:

{
    "ChangeToken": "12cs345-67cd-890b-1cd2-c3a4567d89f1"
}

Дополнительную информацию см. в разделе Работа с Web ACL в Руководстве разработчика AWS WAF, AWS Firewall Manager и AWS Shield Advanced.

Вывод

ChangeToken -> (строка)

Используемый ChangeToken для отправки запроса UpdateWebACL. Вы также можете использовать это значение для запроса статуса запроса. Дополнительную информацию см. в разделе GetChangeTokenStatus .

© Copyright 2025, Amazon Web Services. Created using Sphinx.

Spec-Zone.ru

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