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


Настройка токенов

Как разработчик, основное взаимодействие с идентификатором Microsoft Entra заключается в запросе маркера для идентификации пользователя. Вы также запрашиваете маркер, чтобы получить авторизацию для вызова веб-API. Маркер веб-API определяет, что этот API может делать при выполнении определенного запроса. В этой статье описаны сведения, которые можно получить в токенах и способах настройки маркеров. Эти рекомендации разработчика zero Trust повышают гибкость и контроль при повышении безопасности приложений с минимальными привилегиями.

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

API Microsoft Graph предоставляет надежный набор сведений о каталоге и данных в Microsoft 365. Вы можете разработать многофункциональную систему авторизации, опираясь на данные в Microsoft Graph. Например, вы можете получить доступ к данным из членства в группе пользователя, подробных данных профиля, SharePoint и Outlook для использования в решениях по авторизации. Вы также можете включить данные авторизации в маркер из идентификатора Microsoft Entra.

Авторизация на уровне приложения

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

ИТ-специалисты могут предотвратить выдачу маркеров любому приложению в клиенте с помощью обязательного флага назначения пользователя, чтобы убедиться, что только набор пользователей сможет войти в приложение. Без этого флага все пользователи в клиенте могут получить доступ к приложению. С помощью этого флага только назначенные пользователи и группы могут получить доступ к приложению. Когда назначенный пользователь обращается к приложению, приложение получает маркер. Если у пользователя нет назначения, приложение не получает маркер. Не забывайте всегда обрабатывать запросы маркеров, которые не получают маркеры.

Методы настройки маркера

Существует два способа настройки маркеров: необязательные утверждения и сопоставление утверждений.

Необязательные утверждения

Необязательные утверждения указывают утверждения, которые требуется идентификатору Microsoft Entra для отправки в приложение в токенах. Необязательные утверждения можно использовать, чтобы:

  • Выберите дополнительные утверждения, чтобы включить в маркеры приложения.
  • Измените поведение утверждений, возвращаемых платформа удостоверений Майкрософт маркерами.
  • добавлять пользовательские утверждения для приложения и обращаться к ним.

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

По умолчанию гостевые пользователи в клиенте также могут войти в приложение. Если вы хотите заблокировать гостевых пользователей, войдите в необязательное утверждение (acct). Если это значение 1, то у пользователя есть гостевая классификация. Если вы хотите заблокировать гостей, заблокируйте маркеры с помощью acct==1.

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

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

Сопоставление утверждений используется для сведений, относящихся к клиенту, которые не имеют схемы (например, EmployeeID, DivisionName). Сопоставление утверждений применяется на уровне субъекта-службы, который управляет администратором клиента. Сопоставление утверждений соответствует корпоративному приложению или субъекту-службе для этого приложения. Каждый клиент может иметь собственное сопоставление утверждений.

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

Чтобы содержать эти сведения, можно использовать один из стандартных атрибутов расширения. Вы можете определить маркер с утверждением имени деления, которое можно создать из соответствующего расширения (даже если оно не применяется для каждого клиента). Например, организация помещает имя подразделения в атрибут расширения 13.

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

Настройка маркера плана

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

Настройка маркеров идентификатора

Если вы разрабатываете клиентское приложение, настройте маркер идентификатора, так как это маркер, который вы запрашиваете для идентификации пользователя. Маркер принадлежит приложению, когда утверждение аудитории (aud) в маркере соответствует идентификатору клиента приложения. Для клиентского приложения, которое вызывает API, но не реализует их, убедитесь, что вы настраиваете только маркер идентификатора приложения.

API портал Azure и Microsoft Graph позволяют настраивать маркер доступа для приложения, но эти настройки не влияют. Невозможно настроить маркер доступа для API, который вы не владеете. Помните, что приложение не должно пытаться декодировать или проверять маркер доступа, который ваше клиентское приложение получает в качестве авторизации для вызова API.

Настройка маркеров доступа

Если вы разрабатываете API, вы настраиваете маркер доступа, так как API получает маркеры доступа в рамках вызова клиента к API.

Клиентские приложения всегда настраивают маркер идентификатора, который они получают для удостоверения пользователя. API настраивают маркеры доступа, которые API получает в рамках вызова API.

Группы и роли приложения

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

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

  • Сопоставление утверждений пользователей службы совместной работы B2B описывает поддержку идентификатора Microsoft Entra id для настройки утверждений, выданных в маркере языка разметки утверждений безопасности (SAML) для пользователей совместной работы B2B.
  • Настройте утверждения токена SAML приложения, когда пользователь проходит проверку подлинности в приложении через платформа удостоверений Майкрософт с помощью протокола SAML 2.0.
  • Защита API описывает рекомендации по защите API путем регистрации, определения разрешений и согласия и принудительного доступа к достижению целей нулевого доверия.
  • Рекомендации по авторизации помогут реализовать лучшие модели авторизации, разрешения и согласия для приложений.
  • Используйте рекомендации по разработке удостоверений и управления доступом в жизненном цикле разработки приложений для создания безопасных приложений.