用户管理的身份-如何使用C#进行身份验证

时间:2019-02-03 11:33:38

标签: azure-msi

是否有一个示例,该示例如何使用c#的“用户管理的身份”对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 };

1 个答案:

答案 0 :(得分:1)

请参阅文档here。该功能在该库的1.2.0-preview版本中。到目前为止,它仅适用于Azure VM和VMSS。您需要在连接字符串中设置客户端ID,可以在构造函数中或在env变量(其他连接字符串选项here的文档)中指定该ID。在这种情况下,建议使用构造函数,因此可以在本地使用开发人员身份/证书,并在Azure上切换到用户分配的身份。

更新:库已更新,以支持App Services中用户分配的身份以及1.2.0-preview2的一部分。