Регистрация приложения SaaS

В этой статье объясняется, как зарегистрировать приложение SaaS с помощью Microsoft портал Azure и как получить маркер доступа издателя (маркер доступа Microsoft Entra). Издатель будет использовать этот токен для проверки подлинности приложения SaaS, вызывая API выполнения SaaS. API выполнения используют учетные данные клиента OAuth 2.0 для предоставления потока конечным точкам Microsoft Entra ID (версии 1.0) для выполнения запроса маркера доступа к службе.

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

Дополнительные сведения об идентификаторе Microsoft Entra (Active Directory) см. в разделе "Что такое проверка подлинности".

Регистрация приложения Microsoft Entra ID-secured

Любое приложение, которое хочет использовать возможности идентификатора Microsoft Entra, сначала должно быть зарегистрировано в клиенте Microsoft Entra. Этот процесс регистрации включает в себя предоставление Microsoft Entra некоторых сведений о приложении. Чтобы зарегистрировать новое приложения с помощью портала Azure, сделайте следующее:

  1. Войдите на портал Azure.

  2. Если ваша учетная запись предоставляет доступ к нескольким учетным записям, выберите свою учетную запись в правом верхнем углу. Затем задайте сеанс портала требуемому клиенту Microsoft Entra.

  3. В области навигации слева выберите службу идентификатора Microsoft Entra ID, выберите Регистрация приложений и нажмите кнопку "Создать регистрацию приложения".

    Снимок экрана: экран регистрации приложения SaaS Entra.

  4. На странице "Создание" введите сведения о регистрации приложения:

    • Имя. Введите понятное имя для приложения.

    • Поддерживаемые типы учетных записей:

      Выберите учетные записи только в этом каталоге организации (только один клиент).

  5. По завершении щелкните Зарегистрировать. Идентификатор Microsoft Entra назначает уникальный идентификатор приложения новому приложению. Необходимо зарегистрировать одно приложение, которое обращается только к API, и в качестве отдельного клиента.

  6. Чтобы создать секрет клиента, перейдите на страницу "Сертификаты и секреты" и нажмите кнопку +Создать секрет клиента. Не забудьте скопировать значение секрета, чтобы использовать его в коде.

Идентификатор приложения Microsoft Entra связан с идентификатором издателя, поэтому убедитесь, что один и тот же идентификатор приложения используется во всех ваших предложениях.

Примечание.

Если издатель имеет две или несколько разных учетных записей в Центре партнеров, сведения о регистрации приложения Microsoft Entra можно использовать только в одной учетной записи. Используя тот же идентификатор клиента, пара идентификаторов приложения для предложения в другой учетной записи издателя не поддерживается.

Примечание.

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

Как получить маркер авторизации издателя

После регистрации приложения вы можете программно запросить маркер авторизации издателя (маркер доступа Microsoft Entra с помощью конечной точки Azure AD версии 1). Издатель должен использовать этот маркер при вызове различных API выполнения SaaS. Этот маркер действителен только на протяжении 1 часа.

Дополнительные сведения об этих маркерах см. в разделе маркеры доступа Microsoft Entra. В потоке ниже используется маркер конечной точки версии 1.

Получение маркера с помощью HTTP-запроса POST

Метод HTTP

Опубликовать

Request URL (URL-адрес запроса)

https://login.microsoftonline.com/*{tenantId}*/oauth2/token

Параметр универсального кода ресурса
Наименование параметра Обязательное поле Описание
tenantId Истина Идентификатор клиента зарегистрированного приложения Microsoft Entra.
Заголовок запроса
Имя заголовка Обязательное поле Описание
content-type Истина Связанный с этим запросом тип содержимого. Значение по умолчанию — application/x-www-form-urlencoded.
Текст запроса
Имя свойства Обязательное поле Описание
grant_type Истина Тип предоставления разрешения. Используйте "client_credentials".
client_id Истина Идентификатор клиента или приложения, связанный с приложением Microsoft Entra.
client_secret Истина Секрет, связанный с приложением Microsoft Entra.
resource Истина Целевой ресурс, для которого запрашивается токен. Используйте 20e940b3-4c77-4b0b-9a53-9e16a1b010a7, так как в этом случае в качестве API SaaS в Marketplace всегда используется целевой ресурс.
Response
Имя. Тип Описание
200 OK TokenResponse Запрос успешно выполнен.
TokenResponse

Пример ответа:

{
      "token_type": "Bearer",
      "expires_in": "3600",
      "ext_expires_in": "0",
      "expires_on": "15251…",
      "not_before": "15251…",
      "resource": "20e940b3-4c77-4b0b-9a53-9e16a1b010a7",
      "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6ImlCakwxUmNxemhpeTRmcHhJeGRacW9oTTJZayIsImtpZCI6ImlCakwxUmNxemhpeTRmcHhJeGRacW9oTTJZayJ9…"
  }
Элемент Description
access_token Это элемент, <access_token> который будет передаваться в качестве параметра авторизации при вызове всех API-интерфейсов проверки подлинности SaaS и Marketplace. При вызове защищенного REST API маркер внедряется в поле Authorization заголовка запроса в качестве маркера носителя, позволяя API выполнить проверку подлинности вызывающего объекта.
expires_in Количество секунд, в течение которых маркер доступа является действительным, прежде чем его срок действия истечет (с момента выдачи). Время выдачи можно найти в утверждении iat маркера.
expires_on Период времени после истечения срока действия маркера доступа. Дата представляется как количество секунд с 1970-01-01T0:0:0Z в формате UTC (соответствует утверждению exp маркера).
not_before Период времени, когда маркер доступа вступает в силу и может быть принят. Дата представляется как количество секунд с 1970-01-01T0:0:0Z в формате UTC (соответствует утверждению nbf маркера).
resource Ресурс, для которого был запрошен маркер доступа, соответствует параметру строки запроса resource.
token_type Тип маркера, который является маркером доступа носителя, что значит, что ресурс может предоставлять доступ носителю этого маркера.

Следующие шаги

Теперь приложение Microsoft Entra, защищенное идентификатором, может использовать API подписки SaaS версии 2 и API операций выполнения SaaS версии 2.

Видеоучебники