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


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

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

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

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

Регистрация приложения с защитой Microsoft Entra ID

Любое приложение, которое хочет использовать возможности идентификатора 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 версии 2). Издатель должен использовать этот маркер при вызове различных API выполнения SaaS. Этот маркер действителен только в течение одного часа.

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

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

Метод HTTP

Пост

URL-адрес запроса

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

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

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

{
      "token_type": "Bearer",
      "expires_in": "3600",
      "ext_expires_in": "0",
      "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6ImlCakwxUmNxemhpeTRmcHhJeGRacW9oTTJZayIsImtpZCI6ImlCakwxUmNxemhpeTRmcHhJeGRacW9oTTJZayJ9…"
  }
Элемент Описание
access_token Этот элемент представляет собой <access_token>, который будет передаваться в качестве параметра авторизации при вызове всех API исполнения SaaS и API измерения Marketplace. При вызове защищенного REST API маркер внедряется в поле заголовка запроса Authorization в качестве маркера носителя, что позволяет API пройти проверку подлинности вызывающего.
expires_in Количество секунд, в течение которых токен доступа остается действительным, начиная с момента его выдачи и до истечения срока действия. Время выдачи можно найти в клейме iat токена.
expires_on Интервал времени, когда срок действия маркера доступа истекает. Дата представлена в виде количества секунд от "1970-01-01T0:0Z UTC" (соответствует утверждению токена exp).
token_type Тип токена, который является токеном доступа типа "Bearer", что означает, что ресурс может предоставить доступ обладателю этого токена.

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

Видеоуроки