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


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

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

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

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

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

Совет

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

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

Чтобы предоставить клиентскому приложению доступ к собственному веб-API, необходимо иметь две регистрации приложений;

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

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

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

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

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

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

  4. Выберите разрешения API, а затем добавьте разрешение и выберите "Мои API " на боковой панели.

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

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

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

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

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

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

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

Панель настроенных разрешений на портале Azure, где показано только что добавленное разрешение

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

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

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

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

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

  1. На странице "Обзор" клиентского приложения выберите разрешения>API "Добавить разрешение>Microsoft Graph"

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

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

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

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

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

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

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

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

  1. Войдите в Центр администрирования Microsoft Entra как минимум администратор облачных приложений.
  2. Если у вас есть доступ к нескольким клиентам, используйте значок "Параметры" в верхнем меню, чтобы переключиться на клиент, содержащий регистрацию приложения из меню каталогов и подписок.
  3. Перейдите к приложениям> удостоверений>Регистрация приложений и выберите клиентское приложение.
  4. Выберите Разрешения API>Добавить разрешение>Microsoft Graph>Разрешения приложения.
  5. Все разрешения, предоставляемые Microsoft Graph, отображаются в разделе Выбор разрешений.
  6. Выберите разрешение или разрешения, которые вы хотите предоставить приложению. Например, вы можете использовать управляющее приложение, которое сканирует файлы в вашей организации, уведомляя об определенном типе или имени файла. В разделе "Выбор разрешений" разверните узел "Файлы" и выберите Files.Read.All разрешение.
  7. Выберите Добавить разрешения.
  8. Некоторые разрешения, такие как разрешение Microsoft Graph Files.Read.All, требуют согласия администратора. Чтобы предоставить согласие администратора, выберите Предоставление согласия администратора, как описано далее в разделе Кнопка "Согласие администратора".

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

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

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

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

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

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

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

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

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

Кнопка предоставления согласия администратора выделена на панели настроенных разрешений на портале Azure

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

В таблице

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

Удаление разрешений приложения

Важно не предоставлять приложению слишком много разрешений, чем это необходимо. Отмена согласия администратора на разрешение в приложении;

  1. Перейдите к приложению и выберите разрешения API.
  2. В разделе "Настроенные разрешения" выберите три точки рядом с разрешением, которое нужно удалить, и выберите " Удалить разрешение"
  3. В появившемся всплывающем окнуле нажмите кнопку "Да", чтобы отменить согласие администратора для разрешения.

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