Использование управляемых удостоверений для 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 состоит из двух этапов:

  1. Назначение одного или нескольких управляемых удостоверений ресурсу приложения; приложению может быть назначено одно удостоверение, назначаемое системой, и (или) до 32 удостоверений, назначаемых пользователем, соответственно.

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

Назначаемое системой удостоверение приложения уникально для этого приложения; назначаемое пользователем удостоверение — это автономный ресурс, который может быть назначен нескольким приложениям. В пределах приложения одно удостоверение (назначенное системой или назначенное пользователем) можно назначить нескольким службам приложения, однако каждой отдельной службе можно назначить только одно удостоверение. Наконец, чтобы получить доступ к этой возможности, службе необходимо явно назначить удостоверение. По сути, сопоставление удостоверений приложения с его составными службами позволяет выполнять изоляцию в приложении, поскольку служба может использовать только сопоставленное с ней удостоверение.

Для этой возможности поддерживаются следующие сценарии:

  • Развертывание нового приложения с одной или несколькими службами и одним или несколькими назначенными удостоверениями

  • Назначение одного или нескольких управляемых удостоверений имеющемуся приложению (развернутому в Azure) для доступа к ресурсам Azure

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

  • Удаление или изменение удостоверений, назначенных приложению. Если необходимо внести изменения, отправьте отдельные развертывания, чтобы сначала добавить новое назначение удостоверений, а затем удалить ранее назначенное. Удаление удостоверения из имеющегося приложения может привести к нежелательным последствиям, в том числе к зависанию приложения в состоянии невозможности обновления. Если необходимо удалить удостоверение, его безопасно полностью удалить. При удалении приложения удаляются все назначенные системой удостоверения, связанные с приложением, и удаляются все связи с назначенными пользователем удостоверениями, назначенными приложению.

  • Service Fabric не поддерживает управляемые удостоверения в устаревшем AzureServiceTokenProvider. Вместо этого используйте управляемые удостоверения в Service Fabric с помощью пакета SDK для удостоверений Azure

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