【发布时间】:2018-08-27 17:41:24
【问题描述】:
我有一个场景:
- 在 Azure 中使用机密创建 Key Vault。
-
在代码中访问这个秘密。
- 代码在本地运行(使用 Azure CLI 测试)
- Azure 应用服务中托管的应用程序(启用 MSI)工作正常。
- 我们需要在 Azure VM(启用 MSI)IIS 服务器上托管相同的应用程序 - 不工作
我想要以上几点的解决方案和建议(最后一点)
访问 Key Vault Secret 值的代码
var azureServiceTokenProvider = new AzureServiceTokenProvider();
var keyVaultClient = new KeyVaultClient(new KeyVaultClient.AuthenticationCallback(azureServiceTokenProvider.KeyVaultTokenCallback));
ConfigurationApp.ClientId = keyVaultClient.GetSecretAsync("https://test.vault.azure.net/", "testid").Result.Value;
https://azure.microsoft.com/en-us/resources/samples/app-service-msi-keyvault-dotnet/
【问题讨论】:
-
你能描述一下“不工作”吗?你有错误吗?
-
请分享您的错误描述。此外,您所指的博客已过时,Microsoft 发布了一种从 azure keyvault 访问机密的新方法。我已经在这个article 中描述过
-
我没有收到任何错误,只是秘密值返回 null。已检查密钥保管库上可用的秘密值。 @RonBeyer
-
@RonBeyer 我们需要在 Azure VM-IIS 服务器上托管应用程序。在那种情况下,我无法使用上面的代码检索秘密值
-
@Jayendran 是的,我已经使用连接服务选项来获取秘密值。但我们的要求是在 Azure VM IIS 上托管 app/.net 代码。
标签: c# azure iis azure-keyvault