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


Защита приложений с помощью непрерывной оценки доступа

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

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

Идентификатор Microsoft Entra в основном использует веб-маркеры JSON (JWT) для маркеров доступа. API ресурсов может декодировать, проверять и интерпретировать JWT без необходимости обратного вызова идентификатора Microsoft Entra при каждом вызове API ресурсов. Стандарт JWT определяет утверждение exp, определяющее время окончания срока действия, которое не должно принимать маркер JWT для обработки. По умолчанию маркеры Microsoft Entra истекают 60–90 минут после проблемы. Приложения должны кэшировать и использовать маркеры доступа в течение этого периода, в течение которого идентификатор Microsoft Entra ID не оценивает условия авторизации.

Оценка условий за пределами выдачи маркера

Клиенты Майкрософт обеспокоены задержками между изменениями условий пользователя и применением изменений политики, когда идентификатор Microsoft Entra ID выдает маркеры. Этот сокращенный подход к времени существования маркера может снизить взаимодействие с пользователем и надежность, не устраняя риски.

Одним из решений является оценка условий для каждого вызова защищенного ресурса. Наиболее распространенным способом реализации этого применения является интроспекция маркера. Маркер интроспектации не использует формат JWT для маркера. Вместо этого маркер интроспекция использует непрозрачную строку, которую API ресурсов не может интерпретировать. API ресурсов отправляет маркер поставщику удостоверений по каждому вызову. Затем поставщик удостоверений проверка для любых условий и возвращает данные, которые API ресурсов может использовать для завершения операции. Этот процесс может быть дорогостоящим, так как он добавляет еще один веб-запрос кругового пути к каждому вызову API.

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

Идентификатор Microsoft Entra отправляет событие в ресурсы Майкрософт с поддержкой ЦС при возникновении любого из этих событий:

  • Отключенная или удаленная учетная запись пользователя
  • Изменение или сброс пароля пользователя
  • Включенная многофакторная проверка подлинности пользователя
  • явный отзыв всех маркеров обновления для пользователя администратором;
  • Защита идентификации Microsoft Entra обнаруживает повышенный риск пользователя

Кроме того, ресурсы Майкрософт с поддержкой CAE могут применять политики условного доступа на основе расположения.

Повышение безопасности приложений и устойчивость с помощью ЦС

Более безопасные и устойчивые приложения, созданные на основе видео оценки непрерывного доступа Microsoft Entra, демонстрируют создание клиентского приложения с поддержкой CAE.

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

  • Как приложения работают при использовании современной проверки подлинности
  • Приложение запрашивает удостоверение Майкрософт для маркеров
  • Приложение получает маркер доступа
  • API вызовов приложений и авторизация с помощью JWT
  • Самоанализа
  • Общие сигналы и события
  • Оценка критических событий
  • Оценка политики условного доступа
  • Вызывается оценка непрерывного доступа API
  • Вызов утверждений

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

Так как доступ к ресурсу можно отозвать за пределами времени существования маркера, идентификатор Microsoft Entra может выдавать маркеры в течение более длительного времени существования. Для приложений, поддерживающих CAE, идентификатор Microsoft Entra может выдавать маркеры, допустимые до 28 часов. Хотя это продолжительное время существования маркера не улучшает устойчивость приложения, это снижает затраты на приложения, так как приложение должно запрашивать маркеры гораздо реже.

CAE улучшает устойчивость приложения к проблемам, с которыми может столкнуться приложение при получении маркера доступа от идентификатора Microsoft Entra. По возможности идентификатор Microsoft Entra id выдает время обновления в рамках ответа маркера, содержащего маркер доступа. Библиотеки проверки подлинности Майкрософт (MSAL) используют это время обновления для упреждающего обновления маркера. Время обновления — это часть (обычно половина) срока действия маркера. Пока MSAL может обновить маркер доступа до истечения срока действия маркера, приложение устойчиво к проблемам обновления маркера.

Например, если приложение поддерживает CAE, идентификатор Microsoft Entra id выдает маркер, который разрешает приложению вызывать Microsoft Graph, действительный в течение 24 часов. Затем идентификатор Microsoft Entra сообщает MSAL заранее обновить маркер через 12 часов. Если MSAL пытается обновить маркер доступа сбоем, так как исходный маркер доступа по-прежнему действителен в течение 12 часов, приложение становится более устойчивым к проблемам при получении маркеров из идентификатора Microsoft Entra.

Реализация оценки непрерывного доступа в приложении

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

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