Spec-Zone.ru › AWS CLI v2

[ aws . waf ]

create-rate-based-rule

Описание

Примечание

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

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

Создаёт RateBasedRule. В RateBasedRule содержится RateLimit, определяющий максимальное количество запросов, разрешённых AWS WAF с указанного IP-адреса за пятиминутный период. RateBasedRule также содержит объекты IPSet, объекты ByteMatchSet и другие предикаты, определяющие запросы, которые необходимо подсчитывать или блокировать, если эти запросы превышают RateLimit.

Если к RateBasedRule добавляется более одного предиката, запрос должен не только превысить RateLimit, но также соответствовать всем условиям, чтобы быть учтённым или заблокированным. Например, предположим, что вы добавили следующее к RateBasedRule:

  • IPSet, соответствующий IP-адресу 192.0.2.44/32
  • ByteMatchSet, соответствующий значению в заголовке BadBot заголовка User-Agent

Кроме того, вы указываете RateLimit в 1000.

Затем вы добавляете RateBasedRule к WebACL и указываете, что хотите блокировать запросы, соответствующие условиям правила. Для блокировки запроса необходимо, чтобы он исходил с IP-адреса 192.0.2.44 и заголовок User-Agent в запросе содержал значение BadBot. Кроме того, запросы, соответствующие этим двум условиям, должны поступать со скоростью более 1000 запросов в пять минут. Если оба условия выполняются, а скорость превышена, AWS WAF блокирует запросы. Если скорость падает ниже 1000 за пятиминутный период, AWS WAF больше не блокирует запросы.

В качестве второго примера, предположим, что вы хотите ограничить запросы к определённой странице на вашем сайте. Для этого вы можете добавить следующее к RateBasedRule:

  • ByteMatchSet с FieldToMatch значениями URI
  • PositionalConstraint со значением STARTS_WITH
  • TargetString со значением login

Кроме того, вы указываете RateLimit в 1000.

Добавив эту RateBasedRule к WebACL, вы можете ограничить запросы к вашей странице входа без влияния на остальной часть вашего сайта.

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

  • Создайте и обновите предикаты, которые вы хотите включить в правило. Для получения дополнительной информации см. CreateByteMatchSet, CreateIPSet и CreateSqlInjectionMatchSet.
  • Используйте GetChangeToken для получения маркера изменения, который вы предоставите в параметре ChangeToken запроса CreateRule.
  • Отправьте запрос CreateRateBasedRule.
  • Используйте GetChangeToken для получения маркера изменения, который вы предоставите в параметре ChangeToken запроса UpdateRule.
  • Отправьте запрос UpdateRateBasedRule для указания предикатов, которые вы хотите включить в правило.
  • Создайте и обновите WebACL, содержащую RateBasedRule. Для получения дополнительной информации см. CreateWebACL.

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

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

Синтаксис

  create-rate-based-rule
--name <value>
--metric-name <value>
--rate-key <value>
--rate-limit <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 (строка)

Напоминательное имя или описание RateBasedRule. Вы не можете изменить имя RateBasedRule после его создания.

--metric-name (строка)

Напоминательное имя или описание метрик для этого RateBasedRule. Имя может содержать только буквенно-цифровые символы (A-Z, a-z, 0-9), с максимальной длиной 128 и минимальной длиной 1. Оно не может содержать пробелы или имена метрик, зарезервированные для AWS WAF, включая “All” и “Default_Action”. Вы не можете изменить имя метрики после создания RateBasedRule.

--rate-key (строка)

Поле, которое AWS WAF использует для определения того, поступают ли запросы, скорее всего, из одного источника, и, следовательно, подлежат мониторингу скорости. Единственное допустимое значение для RateKey — IP. IP указывает, что запросы, поступающие с одного IP-адреса, подлежат RateLimit, указанному в RateBasedRule.

Возможные значения:

  • IP

--rate-limit (целое)

Максимальное количество запросов, имеющих идентичное значение в поле, указанном в RateKey, разрешённых за пятиминутный период. Если количество запросов превышает RateLimit и другие предикаты, указанные в правиле, также выполняются, AWS WAF запускает действие, указанное для этого правила.

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

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

--tags (список)

(структура)

Примечание

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

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

Тег, связанный с ресурсом 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.

Вывод

Правило -> (структура)

Правило RateBasedRule, которое возвращается в ответ CreateRateBasedRule.

RuleId -> (строка)

Уникальный идентификатор для RateBasedRule. Используйте RuleId, чтобы получить более подробную информацию о RateBasedRule (см. GetRateBasedRule), обновить RateBasedRule (см. UpdateRateBasedRule), вставить RateBasedRule в WebACL или удалить из WebACL (см. UpdateWebACL), или удалить RateBasedRule из AWS WAF (см. DeleteRateBasedRule).

Имя -> (строка)

Наглядное имя или описание для RateBasedRule. Вы не можете изменить имя RateBasedRule после его создания.

ИмяМетрики -> (строка)

Наглядное имя или описание метрик для RateBasedRule. Имя может содержать только буквенно-цифровые символы (A-Z, a-z, 0-9), с максимальной длиной 128 символов и минимальной 1. Оно не может содержать пробелы или имена метрик, зарезервированные для AWS WAF, включая «All» и «Default_Action». Вы не можете изменить имя метрики после создания RateBasedRule.

MatchPredicates -> (список)

Объект Predicates содержит по одному элементу Predicate для каждого объекта ByteMatchSet, IPSet или SqlInjectionMatchSet, которые вы хотите включить в RateBasedRule.

(структура)

Примечание

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

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

Указывает объекты ByteMatchSet, IPSet, SqlInjectionMatchSet, XssMatchSet, RegexMatchSet, GeoMatchSet и SizeConstraintSet, которые вы хотите добавить в Rule, и для каждого объекта указывает, хотите ли вы инвертировать настройки, например, запросы, НЕ исходящие из IP-адреса 192.0.2.44.

Negated -> (булево)

Установите Negated на значение False, если вы хотите, чтобы AWS WAF разрешал, блокировал или учитывал запросы, основанные на настройках в указанном ByteMatchSet, IPSet, SqlInjectionMatchSet, XssMatchSet, RegexMatchSet, GeoMatchSet или SizeConstraintSet. Например, если IPSet включает IP-адрес 192.0.2.44, AWS WAF будет разрешать или блокировать запросы на основе этого IP-адреса.

Установите Negated на значение True, если вы хотите, чтобы AWS WAF разрешал или блокировал запрос на основе инвертирования настроек в ByteMatchSet, IPSet, SqlInjectionMatchSet, XssMatchSet, RegexMatchSet, GeoMatchSet или SizeConstraintSet. Например, если IPSet включает IP-адрес 192.0.2.44, AWS WAF будет разрешать, блокировать или учитывать запросы на основе всех IP-адресов, *кроме* 192.0.2.44.

Тип -> (строка)

Тип предиката в Rule, например, ByteMatch или IPSet.

DataId -> (строка)

Уникальный идентификатор предиката в Rule, например, ByteMatchSetId или IPSetId. Идентификатор возвращается соответствующей командой Create или List.

RateKey -> (строка)

Поле, которое AWS WAF использует для определения, поступают ли запросы, вероятно, от одного источника, и, следовательно, подлежат мониторингу скорости. Единственное допустимое значение для RateKey — IP. IP указывает, что запросы, поступающие с одного IP-адреса, подлежат RateLimit, указанной в RateBasedRule.

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

Максимальное количество запросов, имеющих одинаковое значение в поле, указанном RateKey, разрешённых в пятиминутный период. Если количество запросов превысит RateLimit и другие предикаты, указанные в правиле, также выполнены, AWS WAF запускает действие, указанное для этого правила.

ChangeToken -> (строка)

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

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

END_OF_DOCUMENT_MARKER

Spec-Zone.ru

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