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


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

В этой статье объясняется, как разработчик может выбрать, разрешено ли ваше приложение только пользователям из клиента Microsoft Entra, любого клиента Microsoft Entra или пользователей с личными учетными записями Майкрософт. Приложение можно настроить как однопользовательское или многопользовательское во время регистрации приложения в Microsoft Entra. Убедитесь, что принцип "Нулевое доверие" для доступа с минимальными привилегиями позволяет приложению запрашивать только необходимые разрешения.

Платформа удостоверений Майкрософт обеспечивает поддержку определенных типов удостоверений:

  • Рабочие или учебные учетные записи, если у организации есть учетная запись в системе идентификации Microsoft Entra ID.
  • Microsoft личная учетная запись (MSA) для всех, кто имеет учетную запись в Outlook.com, Hotmail, Live, Skype, Xbox и т. д.
  • Внешние удостоверения в Microsoft Entra ID для партнеров (пользователи за пределами вашей организации).

Необходимой частью регистрации приложений в идентификаторе Microsoft Entra является выбор поддерживаемых типов учетных записей. Хотя ИТ-специалисты в ролях администратора решают, кто может предоставить согласие на приложения в клиенте, вы, как разработчик, укажите, кто может использовать ваше приложение на основе типа учетной записи. Если клиент не позволяет зарегистрировать приложение в идентификаторе Microsoft Entra, администраторы предоставляют вам способ обмена данными с ними с помощью другого механизма.

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

  • Accounts in this organizational directory only (O365 only - Single tenant)
  • Accounts in any organizational directory (Any Azure AD directory - Multitenant)
  • Accounts in any organizational directory (Any Azure AD directory - Multitenant) and personal Microsoft accounts (e.g. Skype, Xbox)
  • Personal Microsoft accounts only

Учетные записи только в этом каталоге организации — один клиент

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

Учетные записи только в любом каталоге организации — мультитенантные

При выборе учетных записей в любом каталоге организации (любой каталог Microsoft Entra — Multitenant) можно разрешить любому пользователю из любого каталога Microsoft Entra войти в мультитенантное приложение. Если вы хотите разрешить доступ только пользователям из определенных арендаторов, отфильтруйте этих пользователей в коде, проверив, что утверждение tid в идентификационном токене находится в списке разрешенных арендаторов. Приложение может использовать конечную точку организации или общую конечную точку для входа пользователей в домашний клиент пользователя. Чтобы поддерживать вход гостевых пользователей в мультитенантное приложение, вы используете конкретную конечную точку клиента для клиента, где пользователь является гостем для входа пользователя.

Учетные записи в любой учетной записи организации и личных учетных записях Майкрософт

При выборе учетных записей в любой организационной учетной записи и личных учетных записях Майкрософт (любой каталог Microsoft Entra — многопользовательский) и личных учетных записей Майкрософт (например, Skype, Xbox), пользователь может войти в ваше приложение, используя собственное удостоверение из любого арендатора Microsoft Entra или учетной записи потребителя. Те же фильтры клиентов и использование конечных точек применяются к этим приложениям, как и к мультитенантным приложениям, как описано ранее.

Только личные учетные записи Майкрософт

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

Это не только до разработчика

Хотя вы определяете в регистрации приложения, которые могут войти в приложение, последнее слово происходит от отдельного пользователя или администраторов домашнего клиента пользователя. Администраторы клиентов часто хотят иметь больше контроля над приложением, чем только кто может войти. Например, им может потребоваться применить политику условного доступа к приложению или управлять группой, которую они позволяют использовать приложение. Чтобы администраторы клиентов могли иметь этот элемент управления, в платформа удостоверений Майкрософт есть второй объект: приложение Enterprise. Корпоративные приложения также называются субъектами-службами.

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

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

Существует только один объект регистрации приложения или приложения. Однако в каждом клиенте есть корпоративное приложение или субъект-служба (SP), позволяющее пользователям входить в приложение. Администратор клиента может контролировать работу приложения в клиенте.

Рекомендации по мультитенантным приложениям

Мультитенантные приложения войдите пользователей из домашнего клиента пользователя, когда приложение использует общую или конечную точку организации. Приложение имеет одну регистрацию приложения, как показано на следующей схеме. В этом примере приложение регистрируется в клиенте Adatum. Пользователь A из Adatum и User B из Contoso может войти в приложение с ожиданием User A от Adatum обращается к данным Adatum и что пользователь B из Contoso обращается к данным Contoso.

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

В качестве разработчика вы несете ответственность за разделение сведений о клиенте. Например, если данные Contoso из Microsoft Graph, пользователь B из Contoso видит только данные Microsoft Graph компании Contoso. Нет возможности для пользователя B из Компании Contoso получить доступ к данным Microsoft Graph в клиенте Adatum, так как Microsoft 365 имеет истинное разделение данных.

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

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