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


Защита субъектов-служб в Microsoft Entra ID

Субъект-служба Microsoft Entra — это локальное представление объекта приложения в клиенте или каталоге. Это удостоверение экземпляра приложения. Субъекты-службы определяют доступ к приложениям и ресурсы, к ним обращается приложение. Субъект-служба создается в каждом клиенте, где используется приложение, и ссылается на глобально уникальный объект приложения. Клиент защищает вход субъекта-службы и доступ к ресурсам.

Дополнительные сведения: объекты приложения и субъекта-службы в идентификаторе Microsoft Entra

Связь между субъектами-службами и клиентами

Однотенантное приложение имеет один субъект-службу в своем домашнем клиенте. Для мультитенантного веб-приложения или API требуется субъект службы в каждом клиенте. Субъект-служба создается, когда пользователь из этого клиента дает согласие на использование приложения или API. Это согласие создает связь "один ко многим" между мультитенантным приложением и связанными с ним субъектами-службами.

Мультитенантное приложение расположено в клиенте и имеет экземпляры в других клиентах. Большинство приложений SaaS с поддержкой программного обеспечения как услуга (SaaS) размещаются в нескольких клиентах. Используйте субъекты-службы, чтобы обеспечить необходимую безопасность приложения и его пользователей в сценариях с одним и несколькими клиентами.

ApplicationID и ObjectID

Экземпляр приложения имеет два свойства: ApplicationID (или ClientID) и ObjectID.

Примечание.

Термины приложения и субъекта-службы используются взаимозаменяемо при обращении к приложению в задачах проверки подлинности. Однако они представляют собой два представления приложений в идентификаторе Microsoft Entra.

ApplicationID представляет глобальное приложение и совпадает с экземплярами приложений в клиентах. ObjectID — это уникальное значение для объекта приложения. Как и в случае с пользователями, группами и другими ресурсами, ObjectID помогает определить экземпляр приложения в идентификаторе Microsoft Entra.

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

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

Вы можете создать приложение и его объект субъекта-службы (ObjectID) в клиенте с помощью:

  • Azure PowerShell
  • PowerShell для Microsoft Graph
  • Интерфейс командной строки Azure (Azure CLI)
  • API Microsoft Graph
  • Портал Azure
  • Другие средства

Снимок экрана: идентификатор приложения или клиента и идентификатор объекта на странице

Аутентификация субъекта-службы

Существует два механизма проверки подлинности при использовании субъектов-служб — сертификатов клиентов и секретов клиента.

Снимок экрана: сертификаты и секреты клиента в разделе

Так как сертификаты являются более безопасными, рекомендуется использовать их, когда это возможно. В отличие от секретов клиента, сертификаты клиента не могут быть внедрены в код случайно. По возможности используйте Azure Key Vault для управления сертификатами и секретами для шифрования ресурсов с помощью ключей, защищенных аппаратными модулями безопасности:

  • ключи проверки подлинности;
  • Ключи учетной записи хранения
  • ключи шифрования данных;
  • PFX-файлы;
  • Passwords

Дополнительные сведения об Azure Key Vault и его использовании для управления сертификатами и секретами см. в следующем разделе:

Проблемы и способы их устранения

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

Задача Исправление
Проверки доступа для субъектов-служб, назначенных привилегированным ролям Эта функция находится в состоянии предварительной версии.
Проверки доступа субъекта-службы Ручная проверка списка управления доступом к ресурсам с помощью портал Azure
Субъекты-службы с превышением разрешений При создании учетных записей службы автоматизации или субъектов-служб предоставьте разрешения для задачи. Оцените субъекты-службы, чтобы уменьшить привилегии.
Определение изменений учетных данных субъекта-службы или методов проверки подлинности — См. книгу отчета о конфиденциальных операциях . См. запись
блога Tech Community, книга Microsoft Entra, чтобы помочь вам оценить риск Solorigate

Поиск учетных записей с помощью субъектов-служб

Чтобы найти учетные записи, выполните следующие команды с помощью субъектов-служб с Помощью Azure CLI или PowerShell.

  • Интерфейс командной строки Azure — az ad sp list
  • PowerShell — Get-MgServicePrincipal -All:$true

Дополнительные сведения см. в разделе Get-MgServicePrincipal

Оценка безопасности субъекта-службы

Чтобы оценить безопасность, оцените привилегии и хранилище учетных данных. Используйте следующую таблицу для устранения проблем:

Задача Исправление
Обнаружение пользователя, которое предоставило согласие на мультитенантное приложение, и обнаружение незаконного предоставления согласия мультитенантным приложениям — Выполните следующую команду PowerShell для поиска мультитенантных приложений.
Get-MgServicePrincipal -All:$true | ? {$_.Tags -eq "WindowsAzureActiveDirectoryIntegratedApp"}
— Отключение согласия
пользователя . Разрешить согласие пользователя от проверенных издателей, для выбранных разрешений (рекомендуется)
— настройка их в контексте
пользователя — использование маркеров для активации субъекта-службы
Использование жестко закодированного общего секрета в скрипте с помощью субъекта-службы Использование сертификата
Отслеживание использования сертификата или секрета Мониторинг входа субъекта-службы с помощью журналов входа Microsoft Entra
Не удается управлять входом субъекта-службы с помощью условного доступа Мониторинг входов с помощью журналов входа в Microsoft Entra
Участник — это роль управления доступом на основе ролей Azure по умолчанию (Azure RBAC) Оценка потребностей и применение наименьших возможных разрешений

Дополнительные сведения: Что такое условный доступ?

Переход от учетной записи пользователя к субъекту-службе

Если вы используете учетную запись пользователя Azure в качестве субъекта-службы, оцените, можно ли перейти к управляемому удостоверению или субъекту-службе. Если вы не можете использовать управляемое удостоверение, предоставьте субъекту-службе достаточно разрешений и области для выполнения необходимых задач. Субъект-службу можно создать, зарегистрировав приложение, или с помощью PowerShell.

При использовании Microsoft Graph ознакомьтесь с документацией по API. Убедитесь, что тип разрешений для приложения поддерживается.
См. раздел "Создание servicePrincipal"

Подробнее:

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

Дополнительные сведения о субъектах-службах:

Безопасные учетные записи служб:

Условный доступ:

Используйте условный доступ для блокировки субъектов-служб из ненадежных расположений.

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