Как включить управляемую идентификацию, назначаемую пользователем, для существующего кластера Azure Service Fabric и подключиться к хранилищу ключей Azure для чтения секретов?

Иметь существующий экземпляр фабрики служб Azure, в котором размещается несколько приложений помимо нашего. В настоящее время приложение, размещенное на фабрике служб Azure, подключается к Keyvault с помощью приложения Azure AD с использованием сертификатов.

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

Другой вариант - включить управляемую идентификацию, назначаемую пользователем.

Но как включить управляемую идентификацию, назначаемую пользователем, в существующем экземпляре фабрики служб Azure через Power-shell или другой самый простой способ?

Как приложение на существующем экземпляре фабрики служб Azure программно (c #) аутентифицирует себя в экземпляре Azure Key Vault для доступа к его секретам?


comment
docs.microsoft.com/en-us/azure/service-fabric/.   -  person Sajeetharan    schedule 16.01.2021
comment
эта ссылка ничего не говорит о том, как назначить назначенное пользователем управляемое удостоверение существующему кластеру служебной фабрики?   -  person EnthuAz    schedule 16.01.2021


Ответы (1)


как включить управляемую идентификацию, назначаемую пользователем, в существующем экземпляре фабрики служб Azure через Power-shell или другим самым простым способом?

Если вы хотите использовать назначенный пользователем MSI в Service Fabric, есть два способа:

  1. Кластеры Azure Service Fabric размещаются на масштабируемых наборах виртуальных машин, поэтому вы можете использовать MSI-файл VMSS, см. здесь, через powershell или портал.

  2. Включите Управляемая служба токенов идентификации в кластере сначала, затем развернуть приложение Service Fabric с назначенным пользователем управляемым удостоверением, в настоящее время они могут быть доступны только через шаблон ARM.

Как приложение на существующем экземпляре фабрики служб Azure программно (c #) аутентифицирует себя в экземпляре Azure Key Vault для доступа к его секретам?

Чтобы получить доступ к секрету Azure keyvault, вы можете использовать ManagedIdentityCredential из _2 _ для авторизации, убедитесь, что у вас уже есть добавил MSI в политику доступа к хранилищу ключей.

var client = new SecretClient(vaultUri: new Uri(keyVaultUrl), credential: new ManagedIdentityCredential());
KeyVaultSecret secret = client.SetSecret("secret-name", "secret-value");
secret = client.GetSecret("secret-name");

См. Образцы здесь и здесь.

person Joy Wang    schedule 19.01.2021