Краткое руководство. Настройка клиентского приложения для доступа к веб-API

В этом кратком руководстве вы предоставляете клиентское приложение, зарегистрированное на платформе удостоверений Microsoft, с ограниченным доступом на основе разрешений к своему веб-API. Вы также предоставляете клиентскому приложению доступ к Microsoft Graph.

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

Необходимые компоненты

Добавление разрешений для доступа к веб-API

Совет

Действия, описанные в этой статье, могут немного отличаться на портале, с который вы начинаете работу.

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

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

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

Line diagram showing a web API with exposed scopes on the right and a client app on the left with those scopes selected as permissions

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

  1. Войдите в Центр администрирования Microsoft Entra как минимум облачные приложения Администратор istrator.

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

  3. Перейдите к приложениям> удостоверений>Регистрация приложений и выберите клиентское приложение (а не веб-API).

  4. Выберите Разрешения API>Добавить разрешение>Мои API.

  5. Выберите предварительно зарегистрированный веб-API.

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

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

  6. В разделе Выбор разрешений разверните ресурс, области которого определены для веб-API, и выберите разрешения, которым клиентское приложение должно обладать от имени пользователя, выполнившего вход.

    Если вы использовали примеры имен областей, указанные в предыдущем кратком руководстве, вы увидите имена Employees.Read.All и Employees.Write.All. Выберите Employees.Read.All или другое разрешение, которое могло быть создано заранее.

  7. Чтобы завершить процесс, выберите Добавление разрешений.

После добавления разрешений в API вы увидите выбранные разрешения в разделе Настроенные разрешения. На следующем рисунке показан пример делегированного разрешения Employees.Read.All, добавленного в регистрацию клиентского приложения.

Configured permissions pane in the Azure portal showing the newly added permission

Вы также можете увидеть разрешение User.Read для API Microsoft Graph. Это разрешение добавляется автоматически при регистрации приложения на портале Azure.

Добавление разрешений для доступа к Microsoft Graph

Помимо доступа к вашему веб-API от имени пользователя, выполнившего вход, приложению также может потребоваться доступ к данным этого (или другого) пользователя, хранящимся в Microsoft Graph, или их изменение. Возможно, у вас есть приложение в виде службы или управляющей программы, которому требуется доступ к Microsoft Graph от своего имени для выполнения операций без вмешательства пользователя.

Делегированное разрешение для Microsoft Graph

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

  1. Войдите в Центр администрирования Microsoft Entra как минимум облачные приложения Администратор istrator.

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

  3. Перейдите к приложениям> удостоверений>Регистрация приложений и выберите клиентское приложение.

  4. Выберите Разрешения API>Добавить разрешение>Microsoft Graph

  5. Выберите Делегированные разрешения. Microsoft Graph предоставляет множество разрешений, наиболее часто используемые из которых отображаются в верхней части списка.

  6. В разделе Выбор разрешений выберите следующие разрешения.

    Разрешение Description
    email Просмотр пользовательских адресов электронной почты.
    offline_access Ведение доступа к данным, к которым вам был предоставлен доступ
    openid Вход пользователей
    profile Просмотр базового профиля пользователей
  7. Чтобы завершить процесс, выберите Добавление разрешений.

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

Администратор может также предоставить согласие от имени сразу всех пользователей, чтобы они не получали запрос вообще. Согласие администратора обсуждается далее в разделе Дополнительные сведения о разрешениях API и согласии администратора этой статьи.

Разрешение приложения для Microsoft Graph

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

В последующих шагах в качестве примера вы предоставляете разрешение Files.Read.All Microsoft Graph.

  1. Войдите в Центр администрирования Microsoft Entra как минимум облачные приложения Администратор istrator.

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

  3. Перейдите к приложениям> удостоверений>Регистрация приложений и выберите клиентское приложение.

  4. Выберите Разрешения API>Добавить разрешение>Microsoft Graph>Разрешения приложения.

  5. Все разрешения, предоставляемые Microsoft Graph, отображаются в разделе Выбор разрешений.

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

    В разделе Выбор разрешения разверните Файлы, а затем выберите разрешение Files.Read.All.

  7. Выберите Добавить разрешения.

Некоторые разрешения, такие как разрешение Microsoft Graph Files.Read.All, требуют согласия администратора. Чтобы предоставить согласие администратора, выберите Предоставление согласия администратора, как описано далее в разделе Кнопка "Согласие администратора".

Настройка учетных данных клиента

Приложения, использующие разрешения приложения, проходят проверку подлинности самостоятельно, используя собственные учетные данные, без вмешательства пользователя. Прежде чем приложение (или API) сможет получить доступ к Microsoft Graph, вашему веб-API или другому API с помощью разрешений приложения, необходимо настроить учетные данные клиентского приложения.

Дополнительные сведения о настройке учетных данных приложения см. в разделе "Добавление учетных данных" краткого руководства. Регистрация приложения с помощью платформа удостоверений Майкрософт.

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

Настроенные разрешения

В таблице Настроенные разрешения на панели Разрешения API отображается список разрешений, необходимых приложению для базовой работы — список требуемого доступа к ресурсам. Пользователям или их администраторам необходимо согласиться с этими разрешениями перед использованием приложения. Кроме того, позже во время выполнения могут запрашиваться дополнительные разрешения (с использованием динамического согласия).

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

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

Другие предоставленные разрешения

Кроме того, вы можете увидеть таблицу Другие предоставленные разрешения для {имя_вашего_арендатора} на панели Разрешения API. В таблице Другие предоставленные разрешения для {имя_вашего_арендатора} показаны предоставленные арендатору разрешения, которые не были настроены явно на объекте приложения. Для этих разрешений администратором от имени всех пользователей были динамически выполнены запросы и предоставлено согласие. Этот раздел отображается, только если имеется хотя бы одно подходящее разрешение.

Можно добавить полный набор разрешений API или отдельные разрешения, отображаемые в этой таблице, в таблице Настроенные разрешения. Администратор может отозвать согласие для API или отдельных разрешений в этом разделе.

Кнопка Предоставление согласия администратора для {имя_вашего_клиента} позволяет администратору предоставить согласие администратора для разрешений, настроенных для приложения. После нажатия кнопки отображается диалоговое окно с запросом на согласие выполнить действие.

Grant admin consent button highlighted in the Configured permissions pane in the Azure portal

После предоставления согласия разрешения, для которых необходимо предоставить согласие администратора, показаны как разрешения с предоставленным согласием.

Configure permissions table in Azure portal showing admin consent granted for the Files.Read.All permission

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

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

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