[ aws . waf-regional ]
create-web-acl
Описание
Примечание
Это документация для AWS WAF Classic. Дополнительную информацию см. в руководстве разработчика AWS WAF Classic.
Создаёт WebACL, который содержит Rules, идентифицирующие запросы веб-страниц CloudFront, которые вы хотите разрешить, заблокировать или посчитать. AWS WAF оценивает Rules в порядке, основанном на значении Priority для каждого Rule.
Вы также указываете действие по умолчанию: либо ALLOW, либо BLOCK. Если веб-запрос не соответствует ни одному из Rules в WebACL, AWS WAF отвечает на запрос с помощью действия по умолчанию.
Для создания и настройки WebACL выполните следующие действия:
- Создайте и обновите объекты
ByteMatchSetи другие предикаты, которые вы хотите включить вRules. Дополнительную информацию см. в документации CreateByteMatchSet, UpdateByteMatchSet, CreateIPSet, UpdateIPSet, CreateSqlInjectionMatchSet и UpdateSqlInjectionMatchSet. - Создайте и обновите
Rules, которые вы хотите включить вWebACL. Дополнительную информацию см. в документации CreateRule и UpdateRule. - Используйте GetChangeToken, чтобы получить маркер изменения, который вы предоставите в параметре
ChangeTokenзапросаCreateWebACL. - Отправьте запрос
CreateWebACL. - Используйте
GetChangeToken, чтобы получить маркер изменения, который вы предоставите в параметреChangeTokenзапроса UpdateWebACL. - Отправьте запрос UpdateWebACL, чтобы указать
Rules, которые вы хотите включить вWebACL, указать действие по умолчанию и связатьWebACLс распределением CloudFront.
Дополнительную информацию о том, как использовать API AWS WAF, см. в руководстве разработчика AWS WAF.
См. также: Документация по API AWS
Синтаксис
create-web-acl
--name <value>
--metric-name <value>
--default-action <value>
--change-token <value>
[--tags <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]
Параметры
--name (строка)
Name после создания WebACL.--metric-name (строка)
WebACL. Имя может содержать только буквенно-цифровые символы (A-Z, a-z, 0-9), с максимальной длиной 128 и минимальной длиной один. Оно не может содержать пробелы или имена метрик, зарезервированные для AWS WAF, включая «All» и «Default_Action». Вы не можете изменить MetricName после создания WebACL.--default-action (структура)
Действие, которое вы хотите, чтобы AWS WAF предпринял, когда запрос не соответствует критериям, указанным в одном из объектов Rule, связанных с WebACL.
Тип -> (строка)
Определяет, как вы хотите, чтобы AWS WAF отвечал на запросы, которые соответствуют параметрам в Rule. Допустимые значения включают:
-
ALLOW: AWS WAF разрешает запросы -
BLOCK: AWS WAF блокирует запросы -
COUNT: AWS WAF увеличивает счётчик запросов, которые соответствуют всем условиям в правиле. AWS WAF затем продолжает проверку веб-запроса на основе оставшихся правил в веб-ACL. Вы не можете указатьCOUNTдля действия по умолчанию дляWebACL.
Сокращённый синтаксис:
Type=string
Синтаксис JSON:
{
"Type": "BLOCK"|"ALLOW"|"COUNT"
}
--change-token (строка)
--tags (список)
(структура)
Примечание
Это документация для AWS WAF Classic. Дополнительную информацию см. в руководстве разработчика AWS WAF Classic.
Тег, связанный с ресурсом AWS. Теги — пары ключ:значение, которые вы можете использовать для категоризации и управления своими ресурсами, например, для выставления счетов. Например, вы можете установить ключ тега «клиент» и значение — имя или идентификатор клиента. Вы можете указать один или несколько тегов для добавления к каждому ресурсу AWS, не более 50 тегов на ресурс.
Теги доступны только через API, SDK и командную строку. Вы не можете управлять или просматривать теги через консоль AWS WAF Classic. Вы можете добавить теги к ресурсам AWS, управляемым через AWS WAF Classic: веб-ACL, группам правил и правилам.
Ключ -> (строка)
Значение -> (строка)
Сокращённый синтаксис:
Key=string,Value=string ...
Синтаксис JSON:
[
{
"Key": "string",
"Value": "string"
}
...
]
--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
- text
- таблица
- 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.
Вывод
WebACL -> (структура)
WebACL, возвращённый в ответе CreateWebACL.
WebACLId -> (строка)
Уникальный идентификатор WebACL. Используйте WebACLId, чтобы получить информацию о WebACL (см. GetWebACL), обновить WebACL (см. UpdateWebACL) и удалить WebACL из AWS WAF (см. DeleteWebACL).
WebACLId возвращается методами CreateWebACL и ListWebACLs.Name -> (строка)
WebACL. Имя WebACL изменить нельзя после создания.MetricName -> (строка)
WebACL. Имя может содержать только буквенно-цифровые символы (A-Z, a-z, 0-9), с максимальной длиной 128 символов и минимальной длиной один символ. Оно не должно содержать пробелов или зарезервированных имён метрик AWS WAF, включая «All» и «Default_Action». MetricName изменить нельзя после создания WebACL.DefaultAction -> (структура)
Действие, выполняемое, если ни один из Rules в WebACL не соответствует запросу. Действие задаётся объектом WafAction.
Type -> (строка)
Определяет, как AWS WAF будет реагировать на запросы, соответствующие настройкам в Rule. Допустимые значения:
-
ALLOW: AWS WAF пропускает запросы -
BLOCK: AWS WAF блокирует запросы -
COUNT: AWS WAF увеличивает счётчик запросов, соответствующих всем условиям правила. AWS WAF продолжает проверку веб-запроса на основе оставшихся правил в веб-ACL. Для действия по умолчанию дляWebACLнельзя указатьCOUNT.
Rules -> (список)
Массив, содержащий действие для каждого Rule в WebACL, приоритет Rule и ID Rule.
(структура)
Примечание
Это документация по AWS WAF Classic. Дополнительная информация в руководстве разработчика.
Объект ActivatedRule в запросе UpdateWebACL указывает на Rule, который нужно вставить или удалить, приоритет Rule в WebACL и действие, которое AWS WAF должен выполнить при соответствии веб-запроса Rule (ALLOW, BLOCK или COUNT).
Чтобы указать, нужно ли вставлять или удалять Rule, используйте параметр Action в типе данных WebACLUpdate.
Priority -> (целое число)
Rules в 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. Для действия по умолчанию дляWebACLнельзя указатьCOUNT.
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, учитываются, но не блокируются. Владелец ExcludedRule получит метрики COUNT для каждого ExcludedRule.
Если вы хотите исключить правила из группы правил, которая уже связана с веб-ACL, выполните следующие действия:
- Используйте логи AWS WAF, чтобы определить ID правил, которые вы хотите исключить. Дополнительная информация о логах — в разделе Logging Web ACL Traffic Information.
- Отправьте запрос UpdateWebACL с двумя действиями:
- Первое действие — удаление существующей группы правил из веб-ACL. То есть, в запросе UpdateWebACL первое
Updates:Actionдолжно бытьDELETE, аUpdates:ActivatedRule:RuleId— группой правил, содержащей правила, которые вы хотите исключить. - Второе действие — вставка той же группы правил обратно, но с указанием исключаемых правил. То есть, второе
Updates:Actionдолжно бытьINSERT,Updates:ActivatedRule:RuleId— группой правил, которую вы только что удалили, аExcludedRulesдолжно содержать правила, которые вы хотите исключить.
- Первое действие — удаление существующей группы правил из веб-ACL. То есть, в запросе UpdateWebACL первое
(структура)
Примечание
Это документация по AWS WAF Classic. Дополнительная информация в руководстве разработчика.
Исключаемое правило из группы правил. Это применимо только когда ActivatedRule относится к RuleGroup. Правило должно принадлежать к RuleGroup, указанной в ActivatedRule.
RuleId -> (строка)
WebACLArn -> (строка)
ChangeToken -> (строка)
ChangeToken, который был использован для отправки запроса CreateWebACL. Также может быть использован для запроса статуса запроса. Дополнительная информация в GetChangeTokenStatus.
© Copyright 2025, Amazon Web Services. Created using Sphinx.