Spec-Zone.ru › AWS CLI v2

[ aws . apigatewayv2 ]

create-authorizer

Описание

Создаёт авторизатор для API.

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

Синтаксис

  create-authorizer
--api-id <value>
[--authorizer-credentials-arn <value>]
[--authorizer-payload-format-version <value>]
[--authorizer-result-ttl-in-seconds <value>]
--authorizer-type <value>
[--authorizer-uri <value>]
[--enable-simple-responses | --no-enable-simple-responses]
--identity-source <value>
[--identity-validation-expression <value>]
[--jwt-configuration <value>]
--name <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]

Параметры

--api-id (строка)

Идентификатор API.

--authorizer-credentials-arn (строка)

Указывает необходимые учётные данные в виде роли IAM для вызова авторизатора API Gateway. Чтобы указать роль IAM для взятия API Gateway, используйте Amazon Resource Name (ARN) роли. Чтобы использовать разрешения на основе ресурсов в функции Lambda, не указывайте этот параметр. Поддерживается только для авторизаторов REQUEST.

--authorizer-payload-format-version (строка)

Указывает формат полезной нагрузки, отправляемой в авторизатор HTTP API Lambda. Требуется для авторизаторов HTTP API Lambda. Поддерживаемые значения — 1.0 и 2.0. Узнайте больше в разделе Работа с авторизаторами AWS Lambda для HTTP API .

--authorizer-result-ttl-in-seconds (целое число)

Время жизни (TTL) кэшированных результатов авторизатора в секундах. Если оно равно 0, кеширование авторизации отключено. Если оно больше 0, API Gateway кэширует ответы авторизатора. Максимальное значение — 3600, или 1 час. Поддерживается только для авторизаторов HTTP API Lambda.

--authorizer-type (строка)

Тип авторизатора. Укажите REQUEST для функции Lambda, использующей параметры входящего запроса. Укажите JWT для использования JSON Web Tokens (поддерживается только для HTTP API).

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

  • REQUEST
  • JWT

--authorizer-uri (строка)

Унифицированный идентификатор ресурса (URI) авторизатора. Для авторизаторов REQUEST это должен быть правильно сформированный URI функции Lambda, например, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. В общем случае URI имеет такой вид: arn:aws:apigateway:{region}:lambda:path/{service_api}, где {region} — такой же регион, в котором размещена функция Lambda, path указывает, что оставшаяся часть URI должна обрабатываться как путь к ресурсу, включая начальный /. Для функций Lambda это обычно имеет вид /2015-03-31/functions/[FunctionARN]/invocations. Поддерживается только для авторизаторов REQUEST.

--enable-simple-responses | --no-enable-simple-responses (булево)

Указывает, возвращает ли авторизатор Lambda ответ в простом формате. По умолчанию авторизатор Lambda должен возвращать политику IAM. Если включено, авторизатор Lambda может возвращать логическое значение вместо политики IAM. Поддерживается только для HTTP API. Узнайте больше в разделе Работа с авторизаторами AWS Lambda для HTTP API

--identity-source (список)

Источник идентификатора, для которого запрашивается авторизация.

Для авторизатора REQUEST это необязательно. Значение представляет собой набор одного или нескольких выражений сопоставления указанных параметров запроса. Источник идентификатора может быть заголовками, параметрами строки запроса, переменными этапа и параметрами контекста. Например, если заголовок Auth и параметр строки запроса Name определены как источники идентификатора, это значение route.request.header.Auth, route.request.querystring.Name для WebSocket API. Для HTTP API используйте выражения выбора, начинающиеся с $, например, $request.header.Auth, $request.querystring.Name. Эти параметры используются для выполнения проверки во время выполнения для авторизаторов на основе Lambda, проверяя, присутствуют ли все параметры запроса, относящиеся к идентификатору, в запросе, не равны null и не пустые. Только когда это истинно, авторизатор вызывает функцию авторизатора Lambda. В противном случае он возвращает ответ 401 Unauthorized, не вызывая функцию Lambda. Для HTTP API источники идентификаторов также используются в качестве ключа кеша при включенном кешировании. Узнайте больше в разделе Работа с авторизаторами AWS Lambda для HTTP API .

Для JWT — единственный элемент, указывающий, где извлечь JSON Web Token (JWT) из входящих запросов. В настоящее время поддерживаются только выбор по заголовкам и параметрам строки запроса, например $request.header.Authorization.

(строка)

Синтаксис:

"string" "string" ...

--identity-validation-expression (строка)

Этот параметр не используется.

--jwt-configuration (структура)

Представляет конфигурацию авторизатора JWT. Требуется для типа авторизатора JWT. Поддерживается только для HTTP API.

Audience -> (список)

Список предполагаемых получателей JWT. Действительный JWT должен предоставить aud, соответствующий хотя бы одному элементу этого списка. См. RFC 7519 . Поддерживается только для HTTP API.

(строка)

Issuer -> (строка)

Основной домен поставщика идентификаторов, который выдает JSON Web Tokens. Например, Amazon Cognito user pool имеет следующий формат: https://cognito-idp.{region}.amazonaws.com/{userPoolId}. Требуется для типа авторизатора JWT. Поддерживается только для HTTP API.

Сокращённый синтаксис:

Audience=string,string,Issuer=string

JSON синтаксис:

{
  "Audience": ["string", ...],
  "Issuer": "string"
}

--name (строка)

Имя авторизатора.

--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 (булево)

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

--no-cli-auto-prompt (булево)

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

Примеры

Примечание

Для использования следующих примеров необходимо установить и настроить AWS CLI. Подробнее см. руководство по началу работы в руководстве пользователя AWS CLI.

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

Для создания авторизатора JWT для HTTP API

Следующий create-authorizer пример создаёт авторизатор JWT, использующий Amazon Cognito в качестве поставщика идентификаторов.

aws apigatewayv2 create-authorizer \
    --name my-jwt-authorizer \
    --api-id a1b2c3d4 \
    --authorizer-type JWT \
    --identity-source '$request.header.Authorization' \
    --jwt-configuration Audience=123456abc,Issuer=https://cognito-idp.us-west-2.amazonaws.com/us-west-2_abc123

Вывод:

{
    "AuthorizerId": "a1b2c3",
    "AuthorizerType": "JWT",
    "IdentitySource": [
        "$request.header.Authorization"
    ],
    "JwtConfiguration": {
        "Audience": [
            "123456abc"
        ],
        "Issuer": "https://cognito-idp.us-west-2.amazonaws.com/us-west-2_abc123"
    },
    "Name": "my-jwt-authorizer"
}

Для получения дополнительной информации, см. Управление доступом к HTTP API с помощью авторизаторов JWT в руководстве разработчика Amazon API Gateway.

Выходные данные

AuthorizerCredentialsArn -> (строка)

Указывает требуемые учетные данные в виде роли IAM для вызова авторизатора API Gateway. Для указания роли IAM, которую API Gateway должен принять, используйте Amazon Resource Name (ARN) роли. Чтобы использовать разрешения на основе ресурсов для функции Lambda, не указывайте этот параметр. Поддерживается только для авторизаторов REQUEST.

AuthorizerId -> (строка)

Идентификатор авторизатора.

AuthorizerPayloadFormatVersion -> (строка)

Указывает формат полезной нагрузки, отправляемой авторизатору Lambda HTTP API. Требуется для авторизаторов Lambda HTTP API. Поддерживаемые значения — 1.0 и 2.0. Дополнительную информацию см. в разделе Работа с авторизаторами AWS Lambda для HTTP API.

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

Срок хранения (TTL) кэшированных результатов авторизатора в секундах. Если значение равно 0, кэширование авторизации отключено. Если значение больше 0, API Gateway кеширует ответы авторизатора. Максимальное значение — 3600 или 1 час. Поддерживается только для авторизаторов Lambda HTTP API.

AuthorizerType -> (строка)

Тип авторизатора. Укажите REQUEST для функции Lambda, использующей параметры входящего запроса. Укажите JWT для использования JSON Web Tokens (поддерживается только для HTTP API).

AuthorizerUri -> (строка)

Указатель ресурса авторизатора (URI). Для авторизаторов REQUEST это должен быть URI функции Lambda, например, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. В общем случае URI имеет такой вид: arn:aws:apigateway:{region}:lambda:path/{service_api}, где {region} — тот же регион, что и регион размещения функции Lambda, path указывает, что оставшаяся подстрока в URI должна обрабатываться как путь к ресурсу, включая начальный /. Для функций Lambda это обычно имеет вид /2015-03-31/functions/[FunctionARN]/invocations. Поддерживается только для авторизаторов REQUEST.

EnableSimpleResponses -> (булево)

Указывает, возвращает ли авторизатор Lambda ответ в простом формате. Если включено, авторизатор Lambda может возвращать булево значение вместо политики IAM. Поддерживается только для HTTP API. Дополнительную информацию см. в разделе Работа с авторизаторами AWS Lambda для HTTP API.

IdentitySource -> (список)

Источник идентификатора, для которого требуется авторизация.

Для авторизатора REQUEST это необязательно. Значение представляет собой набор одного или нескольких выражений сопоставления указанных параметров запроса. Источником идентификатора могут быть заголовки, параметры строки запроса, переменные этапа и параметры контекста. Например, если в качестве источников идентификатора определены заголовок Auth и параметр строки запроса Name, это значение route.request.header.Auth, route.request.querystring.Name для WebSocket API. Для HTTP API используйте выражения выбора, начинающиеся с $, например, $request.header.Auth, $request.querystring.Name. Эти параметры используются для проверки во время выполнения для авторизаторов на основе Lambda, проверяя, что все параметры запроса, относящиеся к идентификатору, присутствуют в запросе, не равны null и не пустые. Только если это верно, авторизатор вызывает функцию Lambda авторизатора. В противном случае он возвращает ответ 401 Unauthorized без вызова функции Lambda. Для HTTP API источники идентификаторов также используются в качестве ключа кеша при включенном кэшировании. Дополнительную информацию см. в разделе Работа с авторизаторами AWS Lambda для HTTP API.

Для JWT — единственный элемент, указывающий, где извлечь JSON Web Token (JWT) из входящих запросов. В настоящее время поддерживаются только выборки на основе заголовков и параметров строки запроса, например, $request.header.Authorization.

(строка)

IdentityValidationExpression -> (строка)

Выражение валидации не применяется к авторизатору REQUEST.

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

Представляет конфигурацию авторизатора JWT. Требуется для типа авторизатора JWT. Поддерживается только для HTTP API.

Audience -> (список)

Список предполагаемых получателей JWT. Действительный JWT должен предоставить значение aud, которое совпадает хотя бы с одним элементом в этом списке. См. RFC 7519. Поддерживается только для HTTP API.

(строка)

Issuer -> (строка)

Основное доменное имя поставщика идентификаторов, который выдает JSON Web Tokens. Например, у Amazon Cognito user pool есть следующий формат: https://cognito-idp.{region}.amazonaws.com/{userPoolId}. Требуется для типа авторизатора JWT. Поддерживается только для HTTP API.

Name -> (строка)

Имя авторизатора.

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

Spec-Zone.ru

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