Поделиться через


Проверка подлинности и авторизация

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

  • Проверка подлинности с помощью одного региона, глобального или многослужбного ключа ресурса.
  • Проверка подлинности с помощью маркера носителя.
  • Проверка подлинности с помощью идентификатора Microsoft Entra — это облачное решение для удостоверений, предназначенное для управления доступом пользователей и разрешениями для служб Майкрософт, ресурсов и приложений. Идентификатор Microsoft Entra позволяет выполнять проверку подлинности запросов к ресурсам Azure без необходимости использовать пароли или ключи.

Заголовки

Подпишитесь на Переводчик или мультислужбу в Средства Foundry и используйте ключ (доступный на портале Azure) для проверки подлинности.

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

Заголовки Описание
Ocp-Apim-Subscription-Key Используйте подписку Foundry Tools, если вы передаете секретный ключ.
Значением является секретный ключ Azure для подписки на Переводчик.
Авторизация Используйте подписку Foundry Tools, если вы передаете маркер проверки подлинности.
Значением является маркер носителя: Bearer <token>
Ocp-Apim-Subscription-Region Используйте многослужбный и региональный ресурс переводчика.
Значением является регион ресурса с несколькими службами или региональным переводчиком. Это значение является необязательным при использовании глобального ресурса переводчика.

Секретный ключ

Первым вариантом является проверка подлинности с помощью заголовка Ocp-Apim-Subscription-Key . Ocp-Apim-Subscription-Key: <YOUR_SECRET_KEY> Добавьте заголовок в запрос.

Проверка подлинности с помощью глобального ресурса

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

Заголовки Описание
Ocp-Apim-Subscription-Key Значением является секретный ключ Azure для подписки на Переводчик.

Ниже приведен пример запроса на вызов переводчика с помощью глобального ресурса переводчика

// Pass secret key using headers
curl -X POST "https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=es" \
    -H "Ocp-Apim-Subscription-Key:<your-key>" \
    -H "Content-Type: application/json" \
    -d "[{'Text':'Hello, what is your name?'}]"

Проверка подлинности с помощью регионального ресурса

При использовании регионального ресурса переводчика необходимо вызвать переводчика два заголовка.

Заголовки Описание
Ocp-Apim-Subscription-Key Значением является секретный ключ Azure для подписки на Переводчик.
Ocp-Apim-Subscription-Region Значением является регион ресурса переводчика.

Ниже приведен пример запроса на вызов переводчика с помощью регионального ресурса переводчика

// Pass secret key and region using headers
curl -X POST "https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=es" \
    -H "Ocp-Apim-Subscription-Key:<your-key>" \
    -H "Ocp-Apim-Subscription-Region:<your-region>" \
    -H "Content-Type: application/json" \
    -d "[{'Text':'Hello, what is your name?'}]"

Проверка подлинности с помощью ресурса с несколькими службами

Ресурс с несколькими службами позволяет использовать один ключ API для проверки подлинности запросов для нескольких служб.

При использовании ключа секрета с несколькими службами необходимо включить два заголовка проверки подлинности в запрос. Существует два заголовка, которые необходимо вызвать переводчик.

Заголовки Описание
Ocp-Apim-Subscription-Key Значением является секретный ключ Azure для ресурса с несколькими службами.
Ocp-Apim-Subscription-Region Значением является регион ресурса с несколькими службами.

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

Если вы передаете секретный ключ в строке запроса с параметром Subscription-Key, необходимо указать регион с параметром Subscription-Regionзапроса.

Проверка подлинности с помощью маркера доступа

Кроме того, вы можете обменять секретный ключ на маркер доступа. Этот маркер включается в каждый запрос в качестве заголовка Authorization . Чтобы получить маркер авторизации, выполните POST запрос по следующему URL-адресу:

Тип ресурса URL-адрес службы проверки подлинности
Глобальный https://api.cognitive.microsoft.com/sts/v1.0/issueToken
Региональные или многослужбы https://<your-region>.api.cognitive.microsoft.com/sts/v1.0/issueToken

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

// Pass secret key using header
curl --header 'Ocp-Apim-Subscription-Key: <your-key>' --data "" 'https://api.cognitive.microsoft.com/sts/v1.0/issueToken'

// Pass secret key using query string parameter
curl --data "" 'https://api.cognitive.microsoft.com/sts/v1.0/issueToken?Subscription-Key=<your-key>'

Ниже приведены примеры запросов на получение маркера, заданного секретным ключом для регионального ресурса, расположенного в центральной части США:

// Pass secret key using header
curl --header "Ocp-Apim-Subscription-Key: <your-key>" --data "" "https://centralus.api.cognitive.microsoft.com/sts/v1.0/issueToken"

// Pass secret key using query string parameter
curl --data "" "https://centralus.api.cognitive.microsoft.com/sts/v1.0/issueToken?Subscription-Key=<your-key>"

Успешный запрос возвращает закодированный маркер доступа в виде обычного текста в тексте ответа. Допустимый маркер передается переводчику в качестве маркера носителя в авторизации.

Authorization: Bearer <Base64-access_token>

Маркер проверки подлинности действителен в течение 10 минут. Маркер следует повторно использовать при выполнении нескольких вызовов переводчика. Однако если программа запрашивает переводчика в течение длительного периода времени, программа должна запрашивать новый маркер доступа через регулярные интервалы (например, каждые 8 минут).

Проверка подлинности с помощью Microsoft Entra ID

Переводчик версии 3.0 поддерживает проверку подлинности Microsoft Entra, облачное решение для управления удостоверениями и доступом Майкрософт. Заголовки авторизации позволяют переводчику проверить, разрешен ли запрашивающий клиент использовать ресурс и завершить запрос.

Необходимые условия

Заголовки идентификатора Microsoft Entra

Заголовок Ценность
Авторизация Значением является маркер носителя доступа, созданный идентификатором Microsoft Entra.
  • Маркер носителя предоставляет подтверждение проверки подлинности и проверяет авторизацию клиента для использования ресурса.
  • Маркер проверки подлинности действителен в течение 10 минут и должен использоваться повторно при выполнении нескольких вызовов переводчика.
  • См. пример запроса: 2. Получение маркера
Ocp-Apim-Subscription-Region Значением является регион ресурса переводчика.
  • Это значение является необязательным, если ресурс является глобальным.
Ocp-Apim-ResourceId Значением является идентификатор ресурса для экземпляра ресурса Переводчика.
  • Идентификатор ресурса на портале Azure можно найти на сайте "Свойства ресурса Переводчика" →.
  • Формат идентификатора ресурса:
    /</>resourceGroups/<resourceGroupName>/providers/Microsoft.CognitiveServices/accounts/<resourceName>/
Страница свойств Переводчика — портал Azure

Снимок экрана: страница свойств Переводчика на портале Azure.

Это важно

Назначьте роль пользователя Cognitive Services субъекту-службе. Назначив эту роль, вы предоставляете субъекту-службе доступ к ресурсу Переводчика.

Примеры

Использование глобальной конечной точки

// Using headers, pass a bearer token generated by Azure AD, resource ID, and the region.

curl -X POST "https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=es" \
    -H "Authorization: Bearer <Base64-access_token>"\
    -H "Ocp-Apim-ResourceId: <Resource ID>" \
    -H "Ocp-Apim-Subscription-Region: <your-region>" \
    -H "Content-Type: application/json" \
    -data-raw "[{'Text':'Hello, friend.'}]"

Использование пользовательской конечной точки

// Using headers, pass a bearer token generated by Azure AD.

curl -X POST https://<your-custom-domain>.cognitiveservices.azure.com/translator/text/v3.0/translate?api-version=3.0&to=es \
    -H "Authorization: Bearer <Base64-access_token>"\
    -H "Content-Type: application/json" \
    -data-raw "[{'Text':'Hello, friend.'}]"

Примеры использования управляемых удостоверений

Переводчик версии 3.0 также поддерживает авторизацию доступа к управляемым удостоверениям. Если управляемое удостоверение включено для ресурса переводчика, вы можете передать маркер носителя, созданный управляемым удостоверением в заголовке запроса.

С глобальной конечной точкой

// Using headers, pass a bearer token generated either by Azure AD or Managed Identities, resource ID, and the region.

curl -X POST https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=es \
    -H "Authorization: Bearer <Base64-access_token>"\
    -H "Ocp-Apim-ResourceId: <Resource ID>" \
    -H "Ocp-Apim-Subscription-Region: <your-region>" \
    -H "Content-Type: application/json" \
    -data-raw "[{'Text':'Hello, friend.'}]"

С пользовательской конечной точкой

//Using headers, pass a bearer token generated by Managed Identities.

curl -X POST https://<your-custom-domain>.cognitiveservices.azure.com/translator/text/v3.0/translate?api-version=3.0&to=es \
    -H "Authorization: Bearer <Base64-access_token>"\
    -H "Content-Type: application/json" \
    -data-raw "[{'Text':'Hello, friend.'}]"

Поддержка виртуальной сети

Переводчик теперь доступен с возможностями виртуальной сети (VNET) во всех регионах общедоступного облака Azure. Сведения о включении виртуальной сети см. в разделе"Настройка виртуальных сетей средств foundry".

После включения этой возможности необходимо использовать пользовательскую конечную точку для вызова переводчика. Вы не можете использовать глобальную конечную точку переводчика ("api.cognitive.microsofttranslator.com") и не можете пройти проверку подлинности с помощью маркера доступа.

Пользовательская конечная точка можно найти после создания ресурса переводчика и разрешить доступ из выбранных сетей и частных конечных точек.

  1. Перейдите к ресурсу Переводчика на портале Azure.

  2. Выберите "Сеть" в разделе "Управление ресурсами".

  3. На вкладке "Брандмауэры и виртуальные сети " выберите выбранные сети и частные конечные точки.

    Снимок экрана: параметр виртуальной сети на портале Azure.

  4. Нажмите кнопку Сохранить, чтобы применить изменения.

  5. Выберите ключи и конечную точку из раздела "Управление ресурсами ".

  6. Перейдите на вкладку "Виртуальная сеть ".

  7. Перечислены конечные точки для перевода текста и перевода документов.

    Снимок экрана: конечная точка виртуальной сети.

Заголовки Описание
Ocp-Apim-Subscription-Key Значением является секретный ключ Azure для подписки на Переводчик.
Ocp-Apim-Subscription-Region Значением является регион ресурса переводчика. Это значение является необязательным, если ресурс имеет значение global

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

// Pass secret key and region using headers
curl -X POST "https://<your-custom-domain>.cognitiveservices.azure.com/translator/text/v3.0/translate?api-version=3.0&to=es" \
    -H "Ocp-Apim-Subscription-Key:<your-key>" \
    -H "Ocp-Apim-Subscription-Region:<your-region>" \
    -H "Content-Type: application/json" \
    -d "[{'Text':'Hello, what is your name?'}]"