Идентификация, управляемая пользователем - как пройти аутентификацию с помощью С#

Есть ли пример проверки подлинности ресурса Azure с помощью управляемого удостоверения пользователя с помощью С#? Я использую следующий код для аутентификации с использованием управляемого системой удостоверения, и он отлично работает. но не уверен, как передать управляемый пользователем ресурс удостоверения в следующем примере.

 AzureServiceTokenProvider azureServiceTokenProvider = new AzureServiceTokenProvider();

        KeyVaultClient keyVaultClient = new KeyVaultClient(new KeyVaultClient.AuthenticationCallback(azureServiceTokenProvider.KeyVaultTokenCallback));
        var secret = await keyVaultClient.GetSecretAsync("https://mykeyvaultname.vault.azure.net/secrets/test")
                .ConfigureAwait(false);
        return new string[] { secret.Value };

person Pratik Mehta    schedule 03.02.2019    source источник


Ответы (1)


См. документацию здесь. Эта функция есть в предварительной версии библиотеки 1.2.0. На данный момент он работает только на виртуальных машинах Azure и VMSS. Вам необходимо установить идентификатор клиента в строке подключения, которую можно указать в конструкторе или в переменной env (документация по другим параметрам строки подключения здесь). В этом сценарии рекомендуется конструктор, поэтому вы можете использовать удостоверение/сертификат разработчика для локального использования и переключиться на назначенное пользователем удостоверение в Azure.

Обновление: библиотека была обновлена ​​для поддержки назначаемого пользователем удостоверения в службах приложений, а также в составе версии 1.2.0-preview2.

person Varun - MSFT    schedule 05.02.2019
comment
Могу я спросить, почему это именно то место, где это задокументировано? Разве это не должны быть явно документы на docs.microsoft.com и в примере репозитория GitHub? Основываясь на документации, которую я нашел в приведенных выше местах, я подумал, что назначенные пользователем удостоверения хороши для использования в службе приложений Azure, хотя это явно не так. - person Keith Hodo; 19.02.2019
comment
Спасибо за ответ! Я обновлю документацию и вернусь к этой теме. - person Varun - MSFT; 26.02.2019