据我了解,只要我设置了对KeyVault的授权,我的函数就应该能够通过使用来读取
@Microsoft.KeyVault(SecretUri=MYSECRETFULLURL)
,我认为这将在运行时进行转换?
有什么主意我该如何调试吗?
目前,这就是我的功能所在,上面没有任何改变。
以系统管理的身份运行。
如果我调试了,这就是我得到的:
public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] HttpRequest req,
ILogger log)
{
var accountToMoveFrom = System.Environment.GetEnvironmentVariable("accountToMonitor");
log.LogCritical(accountToMoveFrom);
var accessToken = System.Environment.GetEnvironmentVariable("accessToken");
}
答案 0 :(得分:0)
注意:您的代码是否确实有效?记录键值被截取并显示为
@Microsoft.KeyVault(SecretUri=MYSECRETFULLURL)
在日志中避免KeyVault的敏感配置最终在 可能会吸引更多受众的日志文件。
as per the docs正常工作(请提取以下内容),请再次检查您是否拥有:
从Key Vault中搜索应用程序设置,可以使用Key Vault引用功能来使您的应用程序像 一直使用“应用设置”,这意味着无需更改代码 需要。您可以从Key Vault参考中获取所有详细信息 文档,但我将在此处概述基础知识。
此功能需要系统为您的应用分配系统管理的身份。 在本文的稍后部分,我将讨论用户分配的身份,但是 我们暂时将这些预览分开。
然后,您需要在Key Vault上配置访问策略, 为您的应用程序提供GET机密权限。了解如何 配置访问策略。
最后,将任何应用程序设置的值设置为 格式如下:
@ Microsoft.KeyVault(SecretUri = secret_uri_with_version)
其中secret_uri_with_version是Key中机密的完整URI 保险柜。例如,这将类似于: https://myvault.vault.azure.net/secrets/mysecret/ec96f02080254f109c51a1f14cdb1931