Изучение субъектов-служб
Чтобы делегировать функции управления удостоверениями и доступом Azure Active Directory, приложение должно быть зарегистрировано в клиенте Azure Active Directory. При регистрации приложения в Azure Active Directory создается конфигурация удостоверений для приложения, которая позволяет интегрировать его с Azure Active Directory. При регистрации приложения на портале Azure вы выбираете, поддерживает ли оно:
- один клиент: доступно только в вашем клиенте;
- несколько клиентов: доступно в других клиентах.
Если вы регистрируете приложение на портале, в вашем домашнем клиенте автоматически создаются объект приложения (глобальный уникальный экземпляр приложения) и объект субъекта-службы. Вам также будет предоставлен глобальный уникальный идентификатор приложения (идентификатор приложения или клиента). Затем на портале можно добавить секреты или сертификаты и области, чтобы обеспечить работу приложения, настроить его фирменную символику в диалоговом окне для входа и многое другое.
Примечание
Вы также можете создавать объекты субъекта-службы в клиенте с помощью Azure PowerShell, Azure CLI, Microsoft Graph и других средств.
Объект приложения
Приложение Azure Active Directory определяется его единственным объектом приложения. Объект приложения находится в клиенте Azure Active Directory, где было зарегистрировано приложение (известный как "домашний" клиент приложения). Объект приложения используется в качестве шаблона или схемы для создания одного или нескольких объектов субъекта-службы. Субъект-служба создается в каждом клиенте, в котором используется приложение. Аналогично классу в объектно-ориентированном программировании объект приложения имеет некоторые статические свойства, которые применяются ко всем созданным субъектам-службам (или экземплярам приложения).
Объект приложения описывает три аспекта приложения: способы выдачи службой маркеров для доступа к приложению, ресурсы, к которым приложению может потребоваться доступ, и действия, которые может предпринять приложение.
Схема для свойств объекта приложения определяется в сущности приложения Microsoft Graph.
Объект субъекта-службы
Для доступа к ресурсам, защищенным клиентом Azure Active Directory, сущность, требующая доступа, должна быть представлена субъектом безопасности. Это применимо и к пользователям (субъект-пользователь), и к приложениям (субъект-служба).
Субъект безопасности определяет политику доступа и разрешения для пользователя или приложения в клиенте Azure Active Directory. Это обеспечивает базовые функции, включая аутентификацию пользователя или приложения во время входа, а также авторизацию во время получения доступа к ресурсам.
Существует три типа субъекта-службы:
Приложение. Этот тип субъекта-службы является локальным представлением или экземпляром приложения глобального объекта приложения в одном клиенте или каталоге. Субъект-служба создается в каждом клиенте, где используется приложение, и ссылается на глобальный уникальный объект приложения. Объект субъекта-службы определяет, какие действия приложение фактически может выполнять в определенном клиенте, кто имеет доступ к приложению и к каким ресурсам приложение может получить доступ.
Управляемое удостоверение. Этот тип субъекта-службы используется для представления управляемого удостоверения. Управляемые удостоверения предоставляют для приложений удостоверение, используемое при подключении к ресурсам с поддержкой проверки подлинности Azure Active Directory (Azure AD). Когда управляемое удостоверение включено, в вашем клиенте создается субъект-служба, представляющий это управляемое удостоверение. Субъектам-службам, представляющим управляемые удостоверения, можно предоставить доступ и разрешения, но их нельзя обновить или изменить напрямую.
Устаревший. Этот тип субъекта-службы представляет собой устаревшее приложение, созданное до того, как регистрация приложений была введена, или созданное с помощью устаревшего интерфейса. Устаревшая субъект-служба может иметь учетные данные, имена субъектов-служб, URL-адреса ответов и другие свойства, которые может редактировать авторизованный пользователь, но который не имеет связанной регистрации приложения. Субъект-службу можно использовать только в том клиенте, в котором он был создан.
Отношение между объектами приложения и субъектами-службами
Объект приложения является глобальным представлением вашего приложения для использования во всех клиентах, а субъект-служба — локальным представлением для использования в определенном клиенте. Объект приложения служит шаблоном, который определяет общие свойства и свойства по умолчанию, используемые для создания соответствующих объектов субъекта-службы.
Объект приложения имеет:
- Связь "один к одному" с программным приложением;
- Связь "один ко многим" с соответствующими объектами субъекта-службы.
Субъект-службу необходимо создать в каждом клиенте, где используется приложение, чтобы позволить ему установить удостоверение для входа и (или) доступа к ресурсам, защищенным клиентом. Приложение с одним клиентом будет иметь только один субъект-службу (в своем домашнем клиенте). Создание субъекта-службы и предоставление разрешения на его использование выполняется во время регистрации приложения. Для мультитенантного приложения также будет создан субъект-служба в каждом клиенте, пользователь которого даст согласие на его использование.