Использование управляемых удостоверений для Azure с Service Fabric
Наиболее распространенная проблема при создании облачных приложений — как обеспечить безопасное управление учетными данными в коде для аутентификации в различных службах, не сохраняя их локально в рабочей станции разработчика или в системе управления версиями. Управляемые удостоверения для Azure решают эту проблему для всех ресурсов в идентификаторе Microsoft Entra, предоставляя им автоматически управляемые удостоверения в идентификаторе Microsoft Entra. Удостоверение службы можно использовать для проверки подлинности в любой службе, которая поддерживает проверку подлинности Microsoft Entra, включая Key Vault, без учетных данных, хранящихся в коде.
Управляемые удостоверения для ресурсов Azure бесплатны с идентификатором Microsoft Entra для подписок Azure. Дополнительная плата не взимается.
Примечание.
Управляемые удостоверения для ресурсов Azure — это новое название службы, ранее известной как "Управляемое удостоверение службы"(MSI).
Основные понятия
Управляемые удостоверения для Azure базируются на следующих ключевых понятиях:
Идентификатор клиента — уникальный идентификатор, созданный идентификатором Microsoft Entra, привязанным к приложению и субъекту-службе во время первоначальной подготовки (также см . идентификатор приложения (клиента).)
Идентификатор субъекта — идентификатор объекта субъекта-службы для управляемого удостоверения, которое используется для предоставления доступа на основе ролей к ресурсу Azure.
Субъект-служба — объект Microsoft Entra, представляющий проекцию приложения Microsoft Entra в данном клиенте (также см . субъект-службу).)
Существует два типа управляемых удостоверений:
- Управляемое удостоверение, назначаемое системой, включается непосредственно в экземпляре службы Azure. Жизненный цикл назначаемого системой удостоверения уникален и зависит от экземпляра службы Azure, для которого такое удостоверение включено.
- Назначаемое пользователем управляемое удостоверение создается как изолированный ресурс Azure. Удостоверение можно назначить одному или нескольким экземплярам службы Azure и администрировать отдельно от жизненных циклов этих экземпляров.
Дополнительные сведения о различиях между типами управляемых удостоверений см. в статье Как работает возможность "Управляемые удостоверения для ресурсов Azure"?.
Поддерживаемые сценарии для приложений Service Fabric
Управляемые удостоверения для Service Fabric можно использовать в кластерах Service Fabric, развернутых в Azure, и только для приложений, развернутых в качестве ресурсов Azure. Приложению, не развернутому как ресурсу Azure, нельзя назначить удостоверение. По сути, поддержка управляемых удостоверений в кластере Azure Service Fabric состоит из двух этапов:
Назначение одного или нескольких управляемых удостоверений ресурсу приложения; приложению может быть назначено одно удостоверение, назначаемое системой, и (или) до 32 удостоверений, назначаемых пользователем, соответственно.
В определении приложения сопоставьте одно из назначенных приложению удостоверений с любой отдельной службой, составляющей приложение.
Назначаемое системой удостоверение приложения уникально для этого приложения; назначаемое пользователем удостоверение — это автономный ресурс, который может быть назначен нескольким приложениям. В пределах приложения одно удостоверение (назначенное системой или назначенное пользователем) можно назначить нескольким службам приложения, однако каждой отдельной службе можно назначить только одно удостоверение. Наконец, чтобы получить доступ к этой возможности, службе необходимо явно назначить удостоверение. По сути, сопоставление удостоверений приложения с его составными службами позволяет выполнять изоляцию в приложении, поскольку служба может использовать только сопоставленное с ней удостоверение.
Для этой возможности поддерживаются следующие сценарии:
Развертывание нового приложения с одной или несколькими службами и одним или несколькими назначенными удостоверениями
Назначение одного или нескольких управляемых удостоверений имеющемуся приложению (развернутому в Azure) для доступа к ресурсам Azure
Следующие сценарии не поддерживаются или не рекомендуются. Эти действия могут не быть заблокированными, но могут привести к сбоям в ваших приложениях.
Удаление или изменение удостоверений, назначенных приложению. Если необходимо внести изменения, отправьте отдельные развертывания, чтобы сначала добавить новое назначение удостоверений, а затем удалить ранее назначенное. Удаление удостоверения из имеющегося приложения может привести к нежелательным последствиям, в том числе к зависанию приложения в состоянии невозможности обновления. Если необходимо удалить удостоверение, его безопасно полностью удалить. При удалении приложения удаляются все назначенные системой удостоверения, связанные с приложением, и удаляются все связи с назначенными пользователем удостоверениями, назначенными приложению.
Service Fabric не поддерживает управляемые удостоверения в устаревшем AzureServiceTokenProvider. Вместо этого используйте управляемые удостоверения в Service Fabric с помощью пакета SDK для удостоверений Azure
Следующие шаги
- Развертывание нового кластера Azure Service Fabric с поддержкой управляемого удостоверения
- Включение поддержки управляемых удостоверений в существующем кластере Azure Service Fabric
- Развертывание приложения Service Fabric с управляемым удостоверением, назначаемым системой
- Разверните приложение Azure Service Fabric с назначенным пользователем управляемым удостоверением
- Использование управляемого удостоверения приложения Service Fabric из кода службы
- Предоставьте приложению Azure Service Fabric доступ к другим ресурсам Azure
- Объявление и использование секретов приложения в качестве KeyVaultReferences