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


Управление проверкой подлинности приложенийОбзоры

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

Можно настроить следующие варианты поведения:

Примечание.

Свойство authenticationBehaviors объекта приложения в настоящее время доступно только в beta .

Чтение параметра authenticationBehaviors для приложения

Свойство authenticationBehaviors возвращается только при запросах $select .

Чтобы прочитать свойство и другие указанные свойства всех приложений в клиенте, выполните следующий пример запроса. Запрос возвращает код отклика 200 OK и представление объекта приложения в формате JSON, отображающее только выбранные свойства.

GET https://graph.microsoft.com/beta/applications?$select=id,displayName,appId,authenticationBehaviors

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

GET https://graph.microsoft.com/beta/applications/03ef14b0-ca33-4840-8f4f-d6e91916010e/authenticationBehaviors

Вы также можете использовать свойство appId следующим образом:

GET https://graph.microsoft.com/beta/applications(appId='37bf1fd4-78b0-4fea-ac2d-6c82829e9365')/authenticationBehaviors

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

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

  • Если атрибут mail объекта пользователя содержит адрес электронной почты с непроверенным владельцем домена
  • Для мультитенантных приложений, в которых пользователь из одного клиента может повысить свои привилегии для доступа к ресурсам из другого клиента путем изменения атрибута почты .

Дополнительные сведения о выявлении таких случаев в клиенте см. в статье Переход от использования утверждений электронной почты для идентификации или авторизации пользователей.

Сегодня по умолчанию по умолчанию удаляются адреса электронной почты с непроверенными владельцами домена в утверждениях, за исключением приложений с одним клиентом и мультитенантных приложений с предыдущими действиями входа с непроверенными электронными письмами. Если ваше приложение попадает в одно из этих исключений и вы хотите удалить непроверенные адреса электронной почты, задайте для свойства removeUnverifiedEmailClaimauthenticationBehaviors значение true , как показано в следующих примерах. Запрос возвращает код отклика 204 No Content.

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

Вариант 1

Этот шаблон для указания свойства в URL-адресе запроса позволяет обновлять только указанное свойство в запросе.

PATCH https://graph.microsoft.com/beta/applications/03ef14b0-ca33-4840-8f4f-d6e91916010e/authenticationBehaviors
Content-Type: application/json

{
    "removeUnverifiedEmailClaim": true
}

Вариант 2

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

PATCH https://graph.microsoft.com/beta/applications/03ef14b0-ca33-4840-8f4f-d6e91916010e
Content-Type: application/json

{
    "authenticationBehaviors": {
        "removeUnverifiedEmailClaim": true
    }
}

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

Вариант 1

PATCH https://graph.microsoft.com/beta/applications/03ef14b0-ca33-4840-8f4f-d6e91916010e/authenticationBehaviors
Content-Type: application/json

{
    "removeUnverifiedEmailClaim": false
}

Вариант 2

PATCH https://graph.microsoft.com/beta/applications/03ef14b0-ca33-4840-8f4f-d6e91916010e
Content-Type: application/json

{
    "authenticationBehaviors": {
        "removeUnverifiedEmailClaim": false
    }
}

Восстановление поведения по умолчанию

Вариант 1

PATCH https://graph.microsoft.com/beta/applications/03ef14b0-ca33-4840-8f4f-d6e91916010e/authenticationBehaviors
Content-Type: application/json

{
    "removeUnverifiedEmailClaim": null
}

Вариант 2

PATCH https://graph.microsoft.com/beta/applications/03ef14b0-ca33-4840-8f4f-d6e91916010e/
Content-Type: application/json

{
    "authenticationBehaviors": {
        "removeUnverifiedEmailClaim": null
    }
}

Разрешить расширенный доступ Azure AD Graph до 30 июня 2025 г.

По умолчанию приложения, созданные после 31 августа 2024 г., будут получать 403 Unauthorized сообщение об ошибке при выполнении запросов на Azure AD API Graph, если только они не настроены на разрешение расширенного доступа Azure AD Graph. Кроме того, существующие приложения, созданные до 31 августа 2024 г. и выполняющие запросы Azure AD API Graph, должны быть настроены таким образом, чтобы разрешить расширенный доступ к Graph Azure AD до 1 февраля 2025 г. Этот расширенный доступ доступен только до 30 июня 2025 г., когда Azure AD Graph будет полностью прекращен. После этой даты все приложения будут получать 403 Unauthorized сообщение об ошибке при выполнении запросов на Azure AD API Graph, независимо от конфигурации расширенного доступа. Дополнительные сведения см. в обновлении за июнь 2024 г. о Azure AD API Graph прекращения использования.

В следующем запросе показано, как обновить приложение, чтобы включить расширенный доступ Azure AD Graph. Запрос возвращает код отклика 204 No Content.

Вариант 1

PATCH https://graph.microsoft.com/beta/applications/5c142e6f-0bd3-4e58-b510-8a106704f44f/authenticationBehaviors
Content-Type: application/json

{
    "blockAzureADGraphAccess": false
}

Вариант 2

PATCH https://graph.microsoft.com/beta/applications/5c142e6f-0bd3-4e58-b510-8a106704f44f
Content-Type: application/json

{
    "authenticationBehaviors": {
        "blockAzureADGraphAccess": false
    }
}