Spec-Zone.ru › AWS CLI v2

[ aws . waf ]

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 или 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
  • text
  • table
  • yaml
  • yaml-stream

--query (строка)

Запрос JMESPath для фильтрации данных ответа.

--profile (строка)

Использовать определенный профиль из файла учетных данных.

--region (строка)

Регион для использования. Переопределяет настройки конфигурации/среды.

--version (строка)

Отобразить версию этого инструмента.

--color (строка)

Включить/отключить вывод цвета.

  • on
  • off
  • auto

--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.

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

Следующая update-byte-match-set команда удаляет объект ByteMatchTuple (фильтр) в наборе соответствий байтов:

aws waf 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