Объекты приложения и субъекта-службы в Azure Active Directory

В этой статье описываются регистрация приложений, объекты приложений и субъекты-службы в Azure Active Directory (Azure AD): что они собой представляют, как используются и каким образом связаны между собой. Здесь также приводится пример сценария с несколькими клиентами, иллюстрирующий связь между объектом приложения и соответствующими объектами субъекта-службы.

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

Чтобы поручить Azure AD выполнение функций управления идентификацией и доступом, приложение необходимо зарегистрировать в клиенте Azure AD. При регистрации приложения в Azure AD создается конфигурация идентификатора, что позволяет интегрировать приложение с Azure AD. Регистрируя приложение на портале Azure, следует указать, является ли оно однотенантным (доступным только в вашем клиенте) или мультитенантным (доступным в других клиентах), и при необходимости установить URI перенаправления (куда отправляются маркеры доступа). Пошаговые инструкции см. в кратком руководстве по регистрации приложений.

После завершения регистрации приложения вы получите глобальный уникальный экземпляр приложения (объект приложения), который находится в вашем домашнем клиенте или каталоге. Вам также будет предоставлен глобальный уникальный идентификатор приложения (идентификатор приложения или клиента). Затем на портале можно добавить секреты или сертификаты и области, чтобы обеспечить работу приложения, настроить его фирменную символику в диалоговом окне для входа и многое другое.

При регистрации приложения на портале в домашнем клиенте автоматически создаются объект приложения, а также объект субъекта-службы. Если вы регистрируете или создаете приложение с помощью Microsoft Graph API, создание объекта субъекта-службы выполняется на отдельном этапе.

Объект приложения

Приложение Azure AD определяется единственным объектом приложения, который размещается в клиенте Azure AD, где зарегистрировано приложение (называемом "домашним" клиентом приложения). Объект приложения используется в качестве шаблона или схемы для создания одного или нескольких объектов субъекта-службы. Субъект-служба создается в каждом клиенте, в котором используется приложение. Аналогично классу в объектно-ориентированном программировании объект приложения имеет некоторые статические свойства, которые применяются ко всем созданным субъектам-службам (или экземплярам приложения).

Объект приложения описывает три аспекта приложения: способы выдачи службой маркеров для доступа к приложению, ресурсы, к которым приложению может потребоваться доступ, и действия, которые может предпринять приложение.

Можно использовать колонку Регистрация приложений на портале Azure для составления списка объектов приложения в домашнем клиенте и управления ими.

Колонка "Регистрация приложений"

Схема для свойств объекта приложения определяется в сущности приложения Microsoft Graph.

Объект субъекта-службы

Чтобы получить доступ к ресурсам, которые защищены с помощью клиента Azure AD, сущность, которой требуется доступ, должна быть представлена субъектом безопасности. Это требование применяется как к пользователям (субъект-пользователь), так и к приложениям (субъект-служба). Субъект безопасности определяет политику доступа и разрешения для пользователя или приложения в клиенте Azure AD. Это обеспечивает базовые функции, включая аутентификацию пользователя или приложения во время входа, а также авторизацию во время получения доступа к ресурсам.

Существует три типа субъекта-службы:

  • Приложение. Этот тип субъекта-службы является локальным представлением или экземпляром приложения глобального объекта приложения в одном клиенте или каталоге. В этом случае субъект-служба представляет собой конкретный экземпляр, созданный из объекта приложения и наследующий определенные свойства от этого объекта приложения. Субъект-служба создается в каждом клиенте, где используется приложение, и ссылается на глобальный уникальный объект приложения. Объект субъекта-службы определяет, какие действия приложение фактически может выполнять в определенном клиенте, кто имеет доступ к приложению и к каким ресурсам приложение может получить доступ.

    Когда приложение получает разрешение на доступ к ресурсам в клиенте (при регистрации или предоставлении согласия), создается объект субъекта службы. При регистрации приложения с помощью портала Azure субъект-служба создается автоматически. Вы также можете создавать объекты субъекта-службы в клиенте с помощью Azure PowerShell, Azure CLI, Microsoft Graph и других средств.

  • Управляемое удостоверение. Этот тип субъекта-службы используется для представления управляемого удостоверения. Управляемые удостоверения устраняют необходимость в управлении учетными данными для разработчиков. Управляемые удостоверения предоставляют удостоверение для приложений, которые могут использоваться при подключении к ресурсам, поддерживающим проверку подлинности Azure AD. Когда управляемое удостоверение включено, в вашем клиенте создается субъект-служба, представляющий это управляемое удостоверение. Субъектам служб, представляющим управляемые удостоверения, могут быть предоставлены доступ и разрешения, но они не могут быть обновлены или изменены напрямую.

  • Устаревший. Этот тип субъекта-службы представляет собой устаревшее приложение, созданное до того, как регистрация приложений была введена, или созданное с помощью устаревшего интерфейса. У устаревшего субъекта-службы могут быть учетные данные, имена субъектов-служб, URL-адреса ответов и другие свойства, которые полномочный пользователь может редактировать, но не имеет связанной регистрации приложения. Субъект-службу можно использовать только в том клиенте, в котором он был создан.

Схема для свойств объекта субъекта-службы определяется в сущности ServicePrincipal Microsoft Graph.

Можно использовать колонку Корпоративные приложения на портале Azure для составления списка субъектов-служб в клиенте и управления ими. Вы можете просматривать разрешения субъекта-службы, разрешения, предоставленные с согласия пользователя, перечень пользователей, давших это согласие, данные для входа и многое другое.

Колонка "Корпоративные приложения"

Отношение между объектами приложения и субъектами-службами

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

Объект приложения имеет:

  • связь "один к одному" с программным приложением и
  • связь "один ко многим" с соответствующими объектами субъекта-службы.

Субъект-службу необходимо создать в каждом клиенте, где будет использоваться приложение, чтобы установить поставщика удостоверений для входа в систему и доступа к ресурсам, защищенным с помощью клиента. Приложение с одним клиентом будет иметь только один субъект-службу (в своем домашнем клиенте). Создание субъекта-службы и предоставление разрешения на его использование выполняется во время регистрации приложения. Для мультитенантного приложения также будет создан субъект-служба в каждом клиенте, пользователь которого даст согласие на его использование.

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

Любые изменения, вносимые в объект приложения, также отражаются в объекте субъекта-службы, размещенном в домашнем клиенте приложения (то есть в клиенте, в котором зарегистрировано приложение). Это означает, что удаление объекта приложения также приведет к удалению связанного объекта субъекта-службы домашнего клиента. Однако восстановление этого объекта приложения не приведет к восстановлению соответствующего субъекта-службы. При использовании мультитенантных приложений изменения объекта приложения не отражаются в объектах субъекта-службы клиента-потребителя до тех пор, пока через Панель доступа приложения доступ не будет удален и предоставлен снова.

Пример

На следующей схеме показана связь между объектом приложения и соответствующими объектами субъекта-службы в контексте образца мультитенантного приложения под названием Приложение по управлению персоналом. В этом примере сценария используются три клиента Azure AD:

  • Adatum — клиент, который использует компания, разработавшая приложение по управлению персоналом;
  • Contoso — клиент, который использует компания Contoso, являющаяся объектом-получателем приложения по управлению персоналом;
  • Fabrikam — клиент, который использует компания Fabrikam, также потребляющая приложение по управлению персоналом.

Отношение между объектом приложения и объектом субъекта-службы

Условия в этом примере сценария.

Шаг Описание
1 Это процесс создания объектов приложения и субъекта-службы в главном клиенте приложения.
2 При согласии администраторов компании Contoso и Fabrikam в клиенте Azure AD компании создается объект субъекта-службы, и ему назначаются разрешения, предоставленные администратором. Обратите внимание, что приложение по управлению персоналом можно создать или настроить для отдельных пользователей.
3 Каждый из клиентов-потребителей приложения по управлению персоналом (Contoso и Fabrikam) имеет собственный объект субъекта-службы. И каждый из них представляет использование экземпляра приложения во время выполнения. Это использование зависит от разрешений, предоставленных соответствующим администратором.

Дальнейшие действия

Узнайте подробнее о создании субъекта-службы в статьях: