Создание приложения Microsoft Entra и субъекта-службы, который может получить доступ к ресурсам

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

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

Важно!

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

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

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

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

Разрешения, необходимые для регистрации приложения

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

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

Совет

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

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

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

  3. Присвойте приложению имя, например example-app (приложение-пример).

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

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

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

    Type a name for your application.

Вы создали приложение Microsoft Entra и субъект-службу.

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

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

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

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

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

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

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

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

  6. Нажмите кнопку "Далее".

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

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

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

    Screenshot showing role assignment.

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

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

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

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

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

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

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

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

  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или authoruty в исходном коде. Вы предоставите значение секрета вместе с идентификатором клиента приложения для входа в качестве приложения.

Screenshot showing the client secret.

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

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

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

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

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

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

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

  5. Сохраните.

    Add access policy

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