Spec-Zone.ru › AWS CLI v2

[ aws . waf-regional ]

update-byte-match-set

Описание

Примечание

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

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

Вставляет или удаляет объекты ByteMatchTuple (фильтры) в ByteMatchSet. Для каждого объекта ByteMatchTuple вы указываете следующие значения:

  • Необходимо ли вставить или удалить объект из массива. Если вы хотите изменить объект ByteMatchSetUpdate, вы удаляете существующий объект и добавляете новый.
  • Часть веб-запроса, которую AWS WAF должен проверять, например, строку запроса или значение заголовка User-Agent.
  • Байты (обычно строка, соответствующая ASCII-символам), которые AWS WAF должен искать. Для получения дополнительной информации, включая то, как вы указываете значения для API AWS WAF и AWS CLI или SDK, см. TargetString в типе данных ByteMatchTuple.
  • Место поиска, например, в начале или конце строки запроса.
  • Нужно ли выполнять какие-либо преобразования запроса, например, приводить его к нижнему регистру, прежде чем проверять его на указанную строку.

Например, вы можете добавить объект ByteMatchSetUpdate, который соответствует веб-запросам, в которых заголовки User-Agent содержат строку BadBot. Затем вы можете настроить AWS WAF для блокирования этих запросов.

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

  • Создайте ByteMatchSet.. Для получения дополнительной информации см. CreateByteMatchSet.
  • Используйте GetChangeToken для получения маркера изменения, который вы предоставляете в параметре ChangeToken запроса UpdateByteMatchSet.
  • Отправьте запрос UpdateByteMatchSet для указания части запроса, которую AWS WAF должен проверять (например, заголовок или URI), и значения, которое AWS WAF должен искать.

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

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

Синтаксис

  update-byte-match-set
--byte-match-set-id <value>
--change-token <value>
--updates <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]

Параметры

--byte-match-set-id (строка)

Идентификатор ByteMatchSet, который вы хотите обновить. ByteMatchSetId возвращается методами CreateByteMatchSet и ListByteMatchSets.

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

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

--updates (список)

Массив объектов ByteMatchSetUpdate, которые вы хотите вставить или удалить из ByteMatchSet. Дополнительную информацию см. в соответствующих типах данных:

  • ByteMatchSetUpdate : Содержит Action и ByteMatchTuple
  • ByteMatchTuple : Содержит FieldToMatch , PositionalConstraint , TargetString и TextTransformation
  • FieldToMatch : Содержит Data и Type

(структура)

Примечание

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

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

В запросе UpdateByteMatchSet параметр ByteMatchSetUpdate указывает, нужно ли вставлять или удалять ByteMatchTuple, и содержит настройки для ByteMatchTuple.

Action -> (строка)

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

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

Информация о части веб-запроса, которую AWS WAF должен проверить, и значении, которое AWS WAF должен искать. Если вы укажете DELETE для значения Action , значения ByteMatchTuple должны точно совпадать со значениями в ByteMatchTuple, которые вы хотите удалить из ByteMatchSet.

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

Часть веб-запроса, которую AWS WAF должен искать, например, указанный заголовок или строку запроса. Дополнительную информацию см. в разделе FieldToMatch.

Type -> (строка)

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

  • HEADER : Указанный заголовок запроса, например, значение заголовка User-Agent или Referer. Если вы выберите HEADER для типа, укажите имя заголовка в Data.
  • METHOD : HTTP-метод, который указывает тип операции, которую запрос просит выполнить у источника. Amazon CloudFront поддерживает следующие методы: DELETE, GET, HEAD, OPTIONS, PATCH, POST и PUT.
  • QUERY_STRING : Строка запроса, которая является частью URL, появляющейся после символа ?, если таковой имеется.
  • URI : Часть веб-запроса, которая идентифицирует ресурс, например, /images/daily-ad.jpg.
  • BODY : Часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на ваш веб-сервер в качестве тела HTTP-запроса, например, данные из формы. Тело запроса сразу следует за заголовками запроса. Обратите внимание, что только первые 8192 байты тела запроса передаются AWS WAF для проверки. Чтобы разрешать или блокировать запросы на основе длины тела, вы можете создать набор ограничений размера. Дополнительную информацию см. в разделе CreateSizeConstraintSet.
  • SINGLE_QUERY_ARG : Параметр в строке запроса, который будет проверяться, например, UserName или SalesRegion. Максимальная длина SINGLE_QUERY_ARG составляет 30 символов.
  • ALL_QUERY_ARGS : Аналогично SINGLE_QUERY_ARG, но вместо проверки одного параметра AWS WAF будет проверять все параметры в строке запроса на значение или шаблон регулярных выражений, указанные в TargetString.

Data -> (строка)

Когда значение Type равно HEADER, введите имя заголовка, который AWS WAF должен искать, например, User-Agent или Referer. Название заголовка не чувствительно к регистру.

Когда значение Type равно SINGLE_QUERY_ARG, введите имя параметра, который AWS WAF должен искать, например, UserName или SalesRegion. Название параметра не чувствительно к регистру.

Если значение Type — любое другое значение, опустите Data.

TargetString -> (blob)

Значение, которое вы хотите, чтобы AWS WAF искал. AWS WAF ищет указанную строку в части веб-запросов, указанных в FieldToMatch. Максимальная длина значения составляет 50 байт.

Допустимые значения зависят от значений, указанных для FieldToMatch:

  • HEADER : Значение, которое вы хотите, чтобы AWS WAF искал в заголовке запроса, указанном в FieldToMatch, например, значение заголовка User-Agent или Referer.
  • METHOD : HTTP-метод, который указывает тип операции, указанной в запросе. CloudFront поддерживает следующие методы: DELETE, GET, HEAD, OPTIONS, PATCH, POST и PUT.
  • QUERY_STRING : Значение, которое вы хотите, чтобы AWS WAF искал в строке запроса, которая является частью URL, появляющейся после символа ?.
  • URI : Значение, которое вы хотите, чтобы AWS WAF искал в части URL, идентифицирующей ресурс, например, /images/daily-ad.jpg.
  • BODY : Часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на ваш веб-сервер в качестве тела HTTP-запроса, например, данные из формы. Тело запроса сразу следует за заголовками запроса. Обратите внимание, что только первые 8192 байта тела запроса передаются AWS WAF для проверки. Чтобы разрешать или блокировать запросы на основе длины тела, вы можете создать набор ограничений размера. Дополнительную информацию см. в разделе CreateSizeConstraintSet.
  • SINGLE_QUERY_ARG : Параметр в строке запроса, который будет проверяться, например, UserName или SalesRegion. Максимальная длина SINGLE_QUERY_ARG составляет 30 символов.
  • ALL_QUERY_ARGS : Аналогично SINGLE_QUERY_ARG, но вместо проверки одного параметра AWS WAF проверяет все параметры в строке запроса на значение или шаблон регулярных выражений, указанные в TargetString.

Если TargetString содержит буквенные символы A-Z и a-z, обратите внимание, что значение чувствительно к регистру.

Если вы используете API AWS WAF

Укажите кодированную по основанию 64 версию значения. Максимальная длина значения перед кодированием по основанию 64 составляет 50 байт.

Например, предположим, что значение Type равно HEADER, а значение Data равно User-Agent. Если вы хотите искать в заголовке User-Agent значение BadBot, закодируйте BadBot с помощью кодирования MIME base64 и включите полученное значение QmFkQm90 в значение TargetString.

Если вы используете AWS CLI или один из AWS SDK

Значение, которое вы хотите, чтобы AWS WAF искал. SDK автоматически кодирует значение по основанию 64.

TextTransformation -> (строка)

Преобразования текста устраняют некоторые необычные форматирования, которые используют злоумышленники в веб-запросах, пытаясь обойти AWS WAF. Если вы укажете преобразование, AWS WAF выполнит преобразование над FieldToMatch перед проверкой его на соответствие.

Вы можете указать только один тип TextTransformation.

CMD_LINE

Когда вы беспокоитесь о том, что злоумышленники вводят команду командной строки операционной системы и используют необычное форматирование, чтобы скрыть часть или все команды, используйте этот параметр для выполнения следующих преобразований:

  • Удалите следующие символы: “ ‘ ^
  • Удалите пробелы перед следующими символами: / (
  • Замените следующие символы на пробел: , ;
  • Замените несколько пробелов одним пробелом
  • Преобразуйте заглавные буквы (A-Z) в строчные (a-z)
COMPRESS_WHITE_SPACE

Используйте этот параметр для замены следующих символов символом пробела (десятичное 32):

  • f, подача формы, десятичное 12
  • t, табуляция, десятичное 9
  • n, перевод строки, десятичное 10
  • r, возврат каретки, десятичное 13
  • v, вертикальная табуляция, десятичное 11
  • неразрывный пробел, десятичное 160

COMPRESS_WHITE_SPACE также заменяет несколько пробелов одним пробелом.

HTML_ENTITY_DECODE

Используйте этот параметр для замены кодированных HTML символов некодированными символами. HTML_ENTITY_DECODE выполняет следующие операции:

  • Заменяет (ampersand)quot; на "
  • Заменяет (ampersand)nbsp; на неразрывный пробел, десятичное 160
  • Заменяет (ampersand)lt; на символ «меньше чем»
  • Заменяет (ampersand)gt; на >
  • Заменяет символы, представленные в шестнадцатеричном формате, (ampersand)#xhhhh;, на соответствующие символы
  • Заменяет символы, представленные в десятичном формате, (ampersand)#nnnn;, на соответствующие символы
LOWERCASE

Используйте этот параметр для преобразования заглавных букв (A-Z) в строчные (a-z).

URL_DECODE

Используйте этот параметр для декодирования значения, закодированного в URL.

NONE

Укажите NONE, если вы не хотите выполнять никаких преобразований текста.

PositionalConstraint -> (строка)

В части веб-запроса, которую вы хотите искать (например, в строке запроса, если таковая имеется), укажите, где AWS WAF должен искать. Допустимые значения включают:

CONTAINS

Указанная часть веб-запроса должна включать значение TargetString, но местоположение не имеет значения.

CONTAINS_WORD

Указанная часть веб-запроса должна включать значение TargetString, и TargetString должно содержать только буквенно-цифровые символы или символ подчеркивания (A-Z, a-z, 0-9 или _). Кроме того, TargetString должно быть словом, что означает следующее:

  • TargetString точно совпадает со значением указанной части веб-запроса, например, значением заголовка.
  • TargetString находится в начале указанной части веб-запроса и за ним следует символ, отличный от буквенно-цифрового или символа подчеркивания (_), например, BadBot;.
  • TargetString находится в конце указанной части веб-запроса и перед ним следует символ, отличный от буквенно-цифрового или символа подчеркивания (_), например, ;BadBot.
  • TargetString находится посередине указанной части веб-запроса и перед ним, и после него следуют символы, отличные от буквенно-цифровых или символа подчеркивания (_), например, -BadBot;.
EXACTLY

Значение указанной части веб-запроса должно точно совпадать со значением TargetString.

STARTS_WITH

Значение TargetString должно находиться в начале указанной части веб-запроса.

ENDS_WITH

Значение TargetString должно находиться в конце указанной части веб-запроса.

Сокращенная синтаксическая запись:

Action=string,ByteMatchTuple={FieldToMatch={Type=string,Data=string},TargetString=blob,TextTransformation=string,PositionalConstraint=string} ...

Синтаксис JSON:

[
  {
    "Action": "INSERT"|"DELETE",
    "ByteMatchTuple": {
      "FieldToMatch": {
        "Type": "URI"|"QUERY_STRING"|"HEADER"|"METHOD"|"BODY"|"SINGLE_QUERY_ARG"|"ALL_QUERY_ARGS",
        "Data": "string"
      },
      "TargetString": blob,
      "TextTransformation": "NONE"|"COMPRESS_WHITE_SPACE"|"HTML_ENTITY_DECODE"|"LOWERCASE"|"CMD_LINE"|"URL_DECODE",
      "PositionalConstraint": "EXACTLY"|"STARTS_WITH"|"ENDS_WITH"|"CONTAINS"|"CONTAINS_WORD"
    }
  }
  ...
]

--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-auto-prompt (логическое)

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

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

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

Примеры

Примечание

Чтобы использовать следующие примеры, вы должны установить и настроить AWS CLI. Более подробную информацию см. в руководстве по началу работы в руководстве пользователя AWS CLI.

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

Для обновления набора байт-совпадений

Следующая команда update-byte-match-set удаляет объект ByteMatchTuple (фильтр) в ByteMatchSet. Поскольку значение updates содержит вложенные двойные кавычки, вы должны заключить значение в одинарные кавычки.

aws waf-regional update-byte-match-set \
    --cli-binary-format raw-in-base64-out \
    --byte-match-set-id a123fae4-b567-8e90-1234-5ab67ac8ca90 \
    --change-token 12cs345-67cd-890b-1cd2-c3a4567d89f1 \
    --updates 'Action="DELETE",ByteMatchTuple={FieldToMatch={Type="HEADER",Data="referer"},TargetString="badrefer1",TextTransformation="NONE",PositionalConstraint="CONTAINS"}'

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

Вывод

ChangeToken -> (строка)

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

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

Spec-Zone.ru

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