Создание приложения Microsoft Entra и субъекта-службы, которые могут получать доступ к ресурсам
Из этой статьи вы узнаете, как создать приложение Microsoft Entra и субъект-службу, которые можно использовать с управлением доступом на основе ролей. При регистрации нового приложения в Microsoft Entra id для регистрации приложения автоматически создается субъект-служба. Субъект-служба — это удостоверение приложения в клиенте Microsoft Entra. Доступ к ресурсам ограничен ролями, назначенными для субъекта-службы, что дает пользователю возможность контроля уровня доступа к различным ресурсам. В целях безопасности всегда рекомендуется использовать субъекты-службы с автоматизированными средствами, а не разрешать им выполнять вход с помощью удостоверения пользователя.
В этой статье описано, как создать приложение с одним клиентом в портал Azure. Этот пример применим для бизнес-приложений, используемых в одной организации. Для создания субъекта-службы можно также использовать Azure PowerShell или Azure CLI.
Важно!
Вместо создания субъекта-службы вы можете применить управляемые удостоверения ресурсов Azure в качестве удостоверения приложения. Если код выполняется в службе, которая поддерживает управляемые удостоверения и обращается к ресурсам, поддерживающим проверку подлинности Microsoft Entra, управляемые удостоверения являются лучшим вариантом. Дополнительные сведения об управляемых удостоверениях для ресурсов Azure, включая службы, которые в настоящее время поддерживают их, см. в разделе Что такое управляемые удостоверения для ресурсов Azure?
Дополнительные сведения о связи между регистрацией приложения, объектами приложения и субъектами-службами см. в статье Объекты приложения и субъекта-службы в Microsoft Entra идентификаторе.
Предварительные требования
Чтобы зарегистрировать приложение в клиенте Microsoft Entra, вам потребуется:
- Учетная запись пользователя Microsoft Entra. Если ее нет, можно создать учетную запись бесплатно.
Разрешения, необходимые для регистрации приложения
Необходимо иметь достаточные разрешения для регистрации приложения в клиенте Microsoft Entra и назначения ему роли в подписке Azure. Для выполнения этих задач требуется Application.ReadWrite.All
разрешение.
Регистрация приложения с идентификатором Microsoft Entra и создание субъекта-службы
Совет
Действия, описанные в этой статье, могут немного отличаться в зависимости от того, с чего начинается портал.
Войдите в Центр администрирования Microsoft Entra как минимум администратор облачных приложений.
Перейдите враздел Приложения>удостоверений>Регистрация приложений а затем выберите Новая регистрация.
Присвойте приложению имя, например example-app (приложение-пример).
Выберите поддерживаемый тип учетной записи, который определяет, кто может использовать приложение.
В разделе URI для перенаправления выберите Интернет для типа приложения, которое требуется создать. Введите URI, на который отправляется токен доступа.
Выберите Зарегистрировать.
Вы создали приложение Microsoft Entra и субъект-службу.
Назначение роли для приложения
Чтобы обеспечить доступ к ресурсам в подписке, необходимо назначить роль для приложения. Укажите, какая роль предоставляет приложению необходимые разрешения. Дополнительные сведения о доступных ролях см. в статье Встроенные роли Azure.
Вы можете задать область действия на уровне подписки, группы ресурсов или ресурса. Разрешения наследуют более низкие уровни области действия.
Войдите на портал Azure.
Выберите уровень область, которому вы хотите назначить приложение. Например, чтобы назначить роль в область подписки, найдите и выберите Подписки. Если требуемая подписка не отображается, выберите фильтр глобальных подписок. Убедитесь, что для клиента выбрана нужная подписка.
Выберите Управление доступом (IAM) .
Нажмите + Добавить и выберите Добавить назначение ролей.
На вкладке Роль выберите роль, которую хотите назначить приложению в списке. Например, чтобы разрешить приложению выполнять такие действия, как перезагрузка, запуск и остановка экземпляров, выберите роль Участник .
Нажмите кнопку Далее.
На вкладке Члены. Выберите Назначить доступ, а затем — Пользователь, группа или субъект-служба.
Щелкните Выбор членов. По умолчанию Microsoft Entra приложения не отображаются в доступных параметрах. Чтобы найти приложение, найдите его по имени.
Нажмите кнопку Выбрать , а затем выберите Проверить и назначить.
Субъект-служба настроен. Вы можете начать использовать его, чтобы выполнять скрипты или приложения. Для управления субъектом-службой (разрешениями, утвержденными пользователем разрешениями, просмотром пользователей, которые дали согласие, просмотрели разрешения, информацию для входа и пр.) перейдите в раздел Корпоративные приложения.
В следующем разделе показано, как получить значения, необходимые для использования при входе с помощью программного способа.
Вход в приложение
При программном входе передайте идентификатор клиента и идентификатор приложения в запросе на проверку подлинности. Вам также потребуется сертификат или ключ проверки подлинности. Чтобы получить идентификатор каталога (клиента) и идентификатор приложения, выполните следующие действия.
- Перейдите в разделПриложения>удостоверений>Регистрация приложений а затем выберите свое приложение.
- На странице обзора приложения скопируйте значение идентификатора каталога (клиента) и сохраните его в коде приложения.
- Скопируйте значение идентификатора приложения (клиента) и сохраните его в коде приложения.
Настройка проверки подлинности
Для субъектов-служб доступны два варианта проверки подлинности: проверка подлинности на основе пароля (секрет приложения) и проверка подлинности на основе сертификата. Рекомендуется использовать доверенный сертификат, выданный центром сертификации, но вы также можете создать секрет приложения или самозаверяющий сертификат для тестирования.
Вариант 1 (рекомендуется): отправка доверенного сертификата, выданного центром сертификации
Чтобы отправить файл сертификата, выполните следующие действия.
- Перейдите в разделПриложения>удостоверений>Регистрация приложений а затем выберите свое приложение.
- Выберите Сертификаты и секреты.
- Выберите Сертификаты, а затем — Отправить сертификат , а затем выберите файл сертификата для отправки.
- Выберите Добавить. После передачи сертификата отображаются значения отпечатка сертификата, даты начала и истечения срока действия.
После регистрации сертификата в приложении на портале регистрации приложений включите использование сертификата в коде конфиденциального клиентского приложения .
Вариант 2. Только тестирование: создание и отправка самозаверяющего сертификата
Дополнительно можно создать самозаверяющий сертификат только для целей тестирования. Чтобы создать самозаверяющий сертификат, откройте Windows PowerShell и выполните команду New-SelfSignedCertificate со следующими параметрами, чтобы создать сертификат в хранилище сертификатов пользователя на компьютере:
$cert=New-SelfSignedCertificate -Subject "CN=DaemonConsoleCert" -CertStoreLocation "Cert:\CurrentUser\My" -KeyExportPolicy Exportable -KeySpec Signature
Экспортируйте этот сертификат в файл с помощью оснастки MMC Управление сертификатом пользователя, доступной на панели управления Windows.
- Выберите параметр Выполнить в меню Пуск, а затем введите certmgr.msc. Отобразится инструмент диспетчера сертификатов для текущего пользователя.
- Чтобы просмотреть свои сертификаты, в разделе Сертификаты – Текущий пользователь на панели слева разверните каталог Личный уровень.
- Щелкните правой кнопкой мыши созданный сертификат и выберите Все задачи-Экспорт>.
- Следуйте инструкциям мастера экспорта сертификатов.
Для отправки сертификата выполните следующее.
- Перейдите в разделПриложения>удостоверений>Регистрация приложений а затем выберите свое приложение.
- Выберите Сертификаты и секреты.
- Выберите Сертификаты, а затем — Отправить сертификат , а затем — сертификат (существующий или экспортируемый самозаверяющий сертификат).
- Выберите Добавить.
После регистрации сертификата в приложении на портале регистрации приложений включите использование сертификата в коде конфиденциального клиентского приложения .
Вариант 3. Создание секрета приложения
Если не требуется использовать сертификат, можно создать новый секрет приложения.
- Перейдите в разделПриложения>удостоверений>Регистрация приложений а затем выберите свое приложение.
- Выберите Сертификаты и секреты.
- Выберите Секреты клиента, а затем Выберите Новый секрет клиента.
- Введите описание и срок действия секрета.
- Выберите Добавить.
После сохранения секрета клиента отображается значение секрета клиента. Скопируйте это значение, поскольку не удастся получить ключ позже. Вы предоставите значение ключа с идентификатором приложения для входа в качестве приложения. Сохраните значение ключа, чтобы приложение могло получить к нему доступ.
Конфигурация политик доступа к ресурсам
Может потребоваться настроить дополнительные разрешения на ресурсы, к которым приложение должно получить доступ. Например, также следует обновить политики доступа к хранилищу ключей, чтобы предоставить приложению доступ к ключам, секретам или сертификатам.
Чтобы настроить политики доступа, выполните следующие действия.
Войдите на портал Azure.
Выберите хранилище ключей и щелкните Политики доступа.
Выберите Добавить политику доступа, затем выберите ключ, секрет и разрешения сертификата, которые требуется предоставить своему приложению. Выберите созданную ранее субъект-службу.
Выберите Добавить , чтобы добавить политику доступа.
Сохраните настройки.
Дальнейшие действия
- Узнайте, как использовать Azure PowerShell или Azure CLI для создания субъекта-службы.
- Дополнительные сведения о настройке политик безопасности см. в статье Управление доступом на основе ролей Azure (Azure RBAC).
- Список доступных действий, которые можно разрешить или запретить пользователям, см. в разделе Операции поставщиков ресурсов Azure Resource Manager.
- Сведения о выполнении регистрации приложений с помощью Microsoft Graph см. в статье справочника по API Приложения.