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


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

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

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

Предварительные условия

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

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

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

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

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

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

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

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

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

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

    Снимок экрана: выделенные кнопки регистрации приложений, разрешения API, добавление разрешения и my API, чтобы разрешить пользователю запрашивать разрешения API.

  5. Выберите веб-API, зарегистрированный в разделе 'Предварительные требования', и выберите Делегированные разрешения.

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

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

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

  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. В разделе "Выбор разрешений" выберите следующие разрешения:

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

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

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

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

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

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

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

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

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

Дополнительные сведения о настройке учетных данных приложения см. в разделе «Добавление учетных данных»статьи "Краткое руководство: регистрация приложения на платформе идентификации Microsoft".

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

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

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

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

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

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

Кнопка предоставления согласия администратора, выделенная на панели

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

Настройка таблицы разрешений на портале Azure с предоставлением согласия администратора для разрешения Files.Read.All

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

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

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

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

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