update-web-acl
Описание
Примечание
Это документация по AWS WAF Classic. Дополнительную информацию см. в руководстве для разработчиков AWS WAF Classic.
Вставляет или удаляет объекты 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 (строка)
WebACLId возвращается методами CreateWebACL и ListWebACLs.--change-token (строка)
--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 в руководстве разработчика.
Указывает, нужно ли вставлять 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должна содержать правила, которые вы хотите исключить.
- Первое действие удаляет существующую группу правил из веб-ACL. То есть в запросе UpdateWebACL первое
(структура)
Примечание
Это документация для AWS WAF Classic. Для получения дополнительной информации см. AWS WAF Classic в руководстве разработчика.
Правило, исключаемое из группы правил. Это применимо только тогда, когда 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.