从 Azure Key Vault 引用中获取值(托管标识)
Fetch value from Azure Key Vault reference (Managed identity)
我正在尝试从 Azure 应用服务中的 Azure Key Vault 获取机密值。
我的应用服务具有托管标识
在 Azure Key Vault 中,此托管身份被添加到 'Role assignments' 下作为 'Key vault contributor'
还在 azure key vault 中添加了访问策略,以授予 'Get' AppServices 托管身份的权限
现在在我的 c# 代码中,我试图使用代码获取 AppSetting 元素的值
ConfigurationManager.AppSettings['something'];
在我的 Azure 应用程序服务中,在应用程序设置下,我添加了名称为 'something' 的密钥,它的值指向 Key Vault 的引用,如下所示:
@Microsoft.KeyVault(SecretUri=https://myvault.vault.azure.net/secrets/mysecret/ec96f02080254f109c51a1f14cdb1931)
现在我可以从应用程序设置中检索值,但不是实际值,而是将输出拉为 @Microsoft.KeyVault(SecretUri=https://myvault.vault.azure.net/secrets/mysecret/c96f02080254f109c51a1f1cdb1931)
我希望输出是我设置的值,而不是 keyvault 引用字符串本身。
我正在使用 .Net MVC 4.7 网络应用程序
正如 junnas 所说,您只需在密钥保管库访问策略中添加 webapp 的 MSI。
1.Turn 在 webapp System-assign
托管身份上。
2.Add 身份进入 keyvault Access policy
,具有秘密 Get
权限。
3.Add 将 Key Vault 引用到 webapp 应用程序设置中。
4.UseEnvironment.GetEnvironmentVariable("AppsettingName");
获取秘钥
这是输出:
实际上我发现即使使用 ConfiguraionManager.AppSettings["keyname"] 也能正常工作。就我而言,我已完成上面列出的所有操作,但在 App Service 的连接字符串配置中启用了 "Slot Deployment" 选项。启用后,现在我可以访问我的密钥库机密了。
我正在尝试从 Azure 应用服务中的 Azure Key Vault 获取机密值。 我的应用服务具有托管标识 在 Azure Key Vault 中,此托管身份被添加到 'Role assignments' 下作为 'Key vault contributor' 还在 azure key vault 中添加了访问策略,以授予 'Get' AppServices 托管身份的权限 现在在我的 c# 代码中,我试图使用代码获取 AppSetting 元素的值 ConfigurationManager.AppSettings['something'];
在我的 Azure 应用程序服务中,在应用程序设置下,我添加了名称为 'something' 的密钥,它的值指向 Key Vault 的引用,如下所示:
@Microsoft.KeyVault(SecretUri=https://myvault.vault.azure.net/secrets/mysecret/ec96f02080254f109c51a1f14cdb1931)
现在我可以从应用程序设置中检索值,但不是实际值,而是将输出拉为 @Microsoft.KeyVault(SecretUri=https://myvault.vault.azure.net/secrets/mysecret/c96f02080254f109c51a1f1cdb1931)
我希望输出是我设置的值,而不是 keyvault 引用字符串本身。
我正在使用 .Net MVC 4.7 网络应用程序
正如 junnas 所说,您只需在密钥保管库访问策略中添加 webapp 的 MSI。
1.Turn 在 webapp System-assign
托管身份上。
2.Add 身份进入 keyvault Access policy
,具有秘密 Get
权限。
3.Add 将 Key Vault 引用到 webapp 应用程序设置中。
4.UseEnvironment.GetEnvironmentVariable("AppsettingName");
获取秘钥
这是输出:
实际上我发现即使使用 ConfiguraionManager.AppSettings["keyname"] 也能正常工作。就我而言,我已完成上面列出的所有操作,但在 App Service 的连接字符串配置中启用了 "Slot Deployment" 选项。启用后,现在我可以访问我的密钥库机密了。