Регистрация приложения Microsoft Entra и создание субъекта-службы

В этой статье вы узнаете, как создать приложение Microsoft Entra и субъект-службу, которые можно использовать с управлением доступом на основе ролей (RBAC). При регистрации нового приложения в идентификаторе Microsoft Entra субъект-служба автоматически создается для регистрации приложения. Субъект-служба — это удостоверение приложения в клиенте Microsoft Entra. Доступ к ресурсам ограничен ролями, назначенными для субъекта-службы, что дает пользователю возможность контроля уровня доступа к различным ресурсам. По соображениям безопасности всегда рекомендуется использовать субъекты-службы с автоматизированными средствами, а не разрешать им вход с помощью удостоверения пользователя.

Этот пример применим для бизнес-приложений, используемых в одной организации. Вы также можете использовать Azure PowerShell или Azure CLI для создания субъекта-службы.

Внимание

Вместо создания субъекта-службы вы можете применить управляемые удостоверения ресурсов Azure в качестве удостоверения приложения. Если код выполняется в службе, которая поддерживает управляемые удостоверения и обращается к ресурсам, поддерживающим проверку подлинности Microsoft Entra, управляемые удостоверения являются лучшим вариантом. Дополнительные сведения об управляемых удостоверениях для ресурсов Azure, включая службы, которые в настоящее время поддерживают их, см. в разделе Что такое управляемые удостоверения для ресурсов Azure?

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

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

Чтобы зарегистрировать приложение в клиенте Microsoft Entra, вам потребуется:

  • Учетная запись пользователя Microsoft Entra. Если ее нет, можно создать учетную запись бесплатно.
  • Достаточно разрешений для регистрации приложения в клиенте Microsoft Entra и назначения роли приложения в подписке Azure. Для выполнения этих задач потребуется Application.ReadWrite.All разрешение.

Регистрация приложения с помощью идентификатора Microsoft Entra и создание субъекта-службы

Совет

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

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

  2. Перейдите к приложениям> удостоверений>Регистрация приложений нажмите кнопку "Создать регистрацию".

  3. Назовите приложение, например пример приложения.

  4. В разделе Поддерживаемые типы учетных записей выберите Учетные записи только в этом каталоге организации.

  5. В разделе URI для перенаправления выберите Интернет для типа приложения, которое требуется создать. Введите URI, на который отправляется токен доступа.

  6. Выберите Зарегистрировать.

    Снимок экрана: страница регистрации приложения.

Назначение роли для приложения

Чтобы обеспечить доступ к ресурсам в подписке, необходимо назначить роль для приложения. Укажите, какая роль предоставляет приложению необходимые разрешения. Дополнительные сведения о доступных ролях см. в статье Встроенные роли Azure.

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

  1. Войдите на портал Azure.

  2. Выберите уровень области, которой вы хотите назначить приложение. Например, чтобы назначить роль в области подписки, найдите и выберите подписки. Если требуемая подписка не отображается, выберите фильтр глобальных подписок. Убедитесь, что для клиента выбрана нужная подписка.

  3. Выберите Управление доступом (IAM).

  4. Нажмите + Добавить и выберите Добавить назначение ролей.

  5. На вкладке Роль выберите роль, которую хотите назначить приложению в списке.

  6. Выберите Далее.

  7. На вкладке "Участники" для назначения доступа выберите "Пользователь", "Группа" или "Субъект-служба".

  8. Выберите Выбрать участников. По умолчанию приложения Microsoft Entra не отображаются в доступных параметрах. Чтобы найти приложение, найдите его по имени.

  9. Нажмите кнопку "Выбрать ", а затем нажмите кнопку "Проверить и назначить".

    Снимок экрана: назначение ролей и выделение способа добавления участников.

Субъект-служба настроен. Вы можете начать использовать его, чтобы выполнять скрипты или приложения. Для управления субъектом-службой (разрешениями, утвержденными пользователем разрешениями, просмотром пользователей, которые дали согласие, просмотрели разрешения, информацию для входа и пр.) перейдите в раздел Корпоративные приложения.

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

Вход в приложение

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

  1. Откройте домашнюю страницу Центра администрирования Microsoft Entra.
  2. Перейдите к приложениям> удостоверений>Регистрация приложений и выберите приложение.
  3. На странице обзора приложения скопируйте значение идентификатора каталога (клиента) и сохраните его в коде приложения.
  4. Скопируйте значение идентификатора приложения (клиента) и сохраните его в коде приложения.

Настройка проверки подлинности

Для субъектов-служб доступны два варианта проверки подлинности: проверка подлинности на основе пароля (секрет приложения) и проверка подлинности на основе сертификата. Мы рекомендуем использовать доверенный сертификат, выданный центром сертификации, но также можно создать секрет приложения или создать самозаверяющий сертификат для тестирования.

Чтобы отправить файл сертификата, выполните следующие действия.

  1. Перейдите к приложениям> удостоверений>Регистрация приложений и выберите приложение.
  2. Выберите Сертификаты и секреты.
  3. Выберите сертификаты, а затем нажмите кнопку "Отправить сертификат ", а затем выберите файл сертификата для отправки.
  4. Выберите Добавить. После передачи сертификата отображаются значения отпечатка сертификата, даты начала и истечения срока действия.

После регистрации сертификата в приложении на портале регистрации приложения включите код конфиденциального клиентского приложения для использования сертификата.

Вариант 2. Только тестирование. Создание и отправка самозаверяющего сертификата

Дополнительно можно создать самозаверяющий сертификат только для целей тестирования. Чтобы создать самозаверяющий сертификат, откройте Windows PowerShell и запустите New-SelfSignedCertificate со следующими параметрами, чтобы создать сертификат в хранилище сертификатов пользователя на компьютере:

$cert=New-SelfSignedCertificate -Subject "CN=DaemonConsoleCert" -CertStoreLocation "Cert:\CurrentUser\My"  -KeyExportPolicy Exportable -KeySpec Signature

Экспортируйте этот сертификат в файл с помощью оснастки MMC Управление сертификатом пользователя, доступной на панели управления Windows.

  1. Выберите параметр Выполнить в меню Пуск, а затем введите certmgr.msc. Отобразится инструмент диспетчера сертификатов для текущего пользователя.
  2. Чтобы просмотреть свои сертификаты, в разделе Сертификаты – Текущий пользователь на панели слева разверните каталог Личный уровень.
  3. Щелкните правой кнопкой мыши созданный сертификат, выберите "Все задачи-экспорт>".
  4. Следуйте инструкциям мастера экспорта сертификатов.

Для отправки сертификата выполните следующее.

  1. Перейдите к приложениям> удостоверений>Регистрация приложений и выберите приложение.
  2. Выберите Сертификаты и секреты.
  3. Выберите сертификаты, а затем нажмите кнопку "Отправить сертификат", а затем выберите сертификат (существующий сертификат или самозаверяющий сертификат, который вы экспортировали).
  4. Выберите Добавить.

После регистрации сертификата в приложении на портале регистрации приложения включите код конфиденциального клиентского приложения для использования сертификата.

Вариант 3. Создание нового секрета клиента

Если вы решили не использовать сертификат, можно создать новый секрет клиента.

  1. Перейдите к приложениям> удостоверений>Регистрация приложений и выберите приложение.
  2. Выберите Сертификаты и секреты.
  3. Выберите секреты клиента и выберите новый секрет клиента.
  4. Введите описание и срок действия секрета.
  5. Выберите Добавить.

После сохранения секрета клиента отображается значение секрета клиента. Это отображается только один раз, поэтому скопируйте это значение и сохраните его, где приложение может получить его, как правило, где приложение сохраняет значения, например clientIdили authority в исходном коде. Вы предоставите значение секрета вместе с идентификатором клиента приложения для входа в качестве приложения.

Конфигурация политик доступа к ресурсам

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

Чтобы настроить политики доступа:

  1. Войдите на портал Azure.

  2. Выберите хранилище ключей и выберите политики access.

  3. Выберите Добавить политику доступа, затем выберите ключ, секрет и разрешения сертификата, которые требуется предоставить своему приложению. Выберите созданную ранее субъект-службу.

  4. Нажмите кнопку "Добавить", чтобы добавить политику доступа, а затем нажмите кнопку "Сохранить".

    Добавление политики доступа