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


Использование управляемых удостоверений для Azure с Service Fabric

Распространенная проблема при создании облачных приложений заключается в том, как безопасно управлять учетными данными в коде для проверки подлинности в различных службах, не сохраняя их локально на рабочей станции разработчика или в системе управления версиями. Управляемые удостоверения для Azure решают эту проблему для всех ваших ресурсов в Microsoft Entra ID, предоставляя им автоматически управляемые удостоверения в Microsoft Entra ID. Вы можете использовать удостоверение службы для аутентификации в любой службе, поддерживающей аутентификацию Microsoft Entra, включая Key Vault, не храня учетные данные в вашем коде.

Управляемые удостоверения для ресурсов Azure предоставляются бесплатно с Microsoft Entra ID для подписок Azure. Дополнительная плата не взимается.

Примечание.

Управляемые удостоверения для Azure — это новое название службы, ранее известной как Управляемая служебная идентификация (MSI).

Концепции

Управляемые удостоверения для Azure основаны на нескольких ключевых понятиях:

  • Идентификатор клиента — уникальный идентификатор, созданный Microsoft Entra ID, который привязан к приложению и служебному участнику во время первоначального развертывания (также см. Идентификатор приложения (клиента)).

  • Идентификатор принципала — идентификатор объекта принципала-службы для управляемой идентичности, который используется для предоставления ролевого доступа к ресурсу 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

Дальнейшие действия