Azure功能密钥库

时间:2019-03-06 15:55:44

标签: azure azure-functions azure-keyvault

据我了解,只要我设置了对KeyVault的授权,我的函数就应该能够通过使用来读取

@Microsoft.KeyVault(SecretUri=MYSECRETFULLURL),我认为这将在运行时进行转换?

有什么主意我该如何调试吗?

目前,这就是我的功能所在,上面没有任何改变。

以系统管理的身份运行。

如果我调试了,这就是我得到的:

enter image description here

但是我可以看到我对天蓝色钥匙库被击中的审计。 enter image description here

 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");

}

1 个答案:

答案 0 :(得分:0)

  

注意:您的代码是否确实有效?记录键值被截取并显示为

@Microsoft.KeyVault(SecretUri=MYSECRETFULLURL) 
     

在日志中避免KeyVault的敏感配置最终在   可能会吸引更多受众的日志文件。

as per the docs正常工作(请提取以下内容),请再次检查您是否拥有:

  • 在功能应用程序上配置的托管服务身份(MSI)
  • 添加功能的应用程序设置后重新启动功能应用程序
  • 该功能的MSI可以访问相关的KeyVault,而不是管理平面,但可以访问策略。

enter image description here

  • 如果您在Visual Studio中本地运行/调试,则需要提供在Key Vault上登录到Visual Studio的帐户的权限,因为它是显示的身份。
  

从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

enter image description here