Вызов API с использованием ключа подписки

Завершено

При публикации API часто требуется обеспечить контроль за доступом пользователей к API через шлюз. Ключи подписки — один из способов ограничения доступа к API.

Здесь вы узнаете, как использовать ключи подписки для защиты API.

Подписки и ключи

Для защиты API можно использовать ключ подписки.

Примечание.

В рабочих Управление API средах обычно объединяется ключ подписки с другими механизмами защиты API от несанкционированного использования, таких как проверка подлинности сертификата или авторизация OAuth 2.0. Они находятся за пределами область этого модуля.

Ключ подписки — это уникальная строка автоматического создания, которая передается в заголовках клиентского запроса или в виде строки запроса в URL-адресе. Ключ напрямую связан с подпиской, которая определяет различные области применения, что позволяет детально контролировать разрешения и политики. Основные область подписки:

  • Все API
  • Один API
  • Продукт

Приложение, которое вызывает защищенный API, должно включать ключ в запрос.

Эти ключи подписки можно повторно создать в любое время. Например, повторно создайте ключи подписки, если вы подозреваете, что ключ был предоставлен несанкционированным пользователям.

Subscription keys.

Каждый ключ подписки содержит первичный и вторичный ключ. Наличие двух ключей упрощает создание ключа. Например, если вы хотите изменить первичный ключ, не допуская при этом простоя, используйте в приложениях вторичный ключ.

При выполнении вызовов к API в продуктах с активированной подпиской необходимо предоставлять ключ. Разработчики могут получить ключ, отправив запрос на подписку. Этот процесс является основной частью рабочего процесса Управление API.

Примечание.

Создание новых пользователей и предоставление им ключей подписки, чтобы они могли получить доступ к API, является основной частью рабочего процесса Управление API, но находится за пределами область этого модуля.

Вызов API с использованием ключа подписки

При выполнении вызовов к конечным точкам API, которые защищены с использованием подписки, приложения должны включать в запросы HTTP действительный ключ. Ключи могут передаваться как в заголовке запроса, так и в виде строки запроса в URL-адресе.

По умолчанию используется имя заголовка Ocp-Apim-Subscription-Key или строка запроса subscription-key.

Чтобы протестировать вызовы API, можно использовать портал разработчика (если он доступен на уровне служб), средство командной строки, например curl или другие средства, такие как Postman.

Ниже приведен пример запроса GET, который передает ключ в заголовке запроса с помощью команды curl :

curl --header "Ocp-Apim-Subscription-Key: <key string>" https://<apim gateway>.azure-api.net/api/path

В следующем примере показана команда curl, которая передает ключ в виде строки запроса в URL-адресе:

curl https://<apim gateway>.azure-api.net/api/path?subscription-key=<key string>

Если ключ не передается в заголовке или в качестве строки запроса в URL-адресе, вы получите ответ 401 Access Denied из шлюза API.