Защита субъектов-служб в 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"
Подробнее:
- Использование управляемых удостоверений в Службе приложений и Функциях Azure
- Создание приложения Microsoft Entra и субъекта-службы, который может получить доступ к ресурсам
- Use Azure PowerShell to create a service principal with a certificate (Использование Azure PowerShell для создания субъекта-службы с сертификатом)
Следующие шаги
Дополнительные сведения о субъектах-службах:
- Создание приложения Microsoft Entra и субъекта-службы, который может получить доступ к ресурсам
- Журналы входа в Microsoft Entra ID
Безопасные учетные записи служб:
- Защита учетных записей облачных служб
- Защита управляемых удостоверений в идентификаторе Microsoft Entra
- Управление учетными записями службы Microsoft Entra
- Защита локальных учетных записей служб
Условный доступ:
Используйте условный доступ для блокировки субъектов-служб из ненадежных расположений.
См. статью "Создание политики условного доступа на основе расположения"