Spec-Zone.ru › AWS CLI v2

[ aws . waf-regional ]

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.

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

Следующая update-web-acl команда удаляет объект ActivatedRule в WebACL. Поскольку значение updates содержит встроенные двойные кавычки, необходимо заключить все значение в одинарные кавычки.

aws waf-regional 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="ALLOW"}'

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

Вывод

ChangeToken -> (строка)

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

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

Spec-Zone.ru

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