首页 > 解决方案 > Azure 应用设置中的 Key Vault 设置,没有代码

问题描述

我使用 HTTPTrigger 创建了一个简单的 Azure 函数,该函数通过 Azure 中的门户返回密钥集的密钥值。该值存储为

@Microsoft.KeyVault(SecretUri=https://myvault.vault.azure.net/secrets/mysecret/ec96f02080254f109c51a1f14cdb1931)

该功能在平台功能>身份中启用了系统分配的托管身份。Key Vault 添加了带有值的机密。Key Vault 还定义了一个访问策略,其中包含对应用程序主体的密钥、机密和证书的完全访问权限。函数应用仍按原样返回值,而不是秘密值,这可能表明 Key Vault 存在访问问题。正确检索值缺少什么?

https://medium.com/statuscode/getting-key-vault-secrets-in-azure-functions-37620fd20a0b

public static class FunctionCoreAnonymous
{
    static string superSecret = Environment.GetEnvironmentVariable("SuperSecret");
    [FunctionName("FunctionCoreAnonymous")]
    public static async Task<IActionResult> Run(
        [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
        ILogger log)
    {
        return (ActionResult)new OkObjectResult($"Hello, {superSecret}");
    }
}

标签: .netazureazure-functionsserverlessazure-keyvault

解决方案


按照链接,它在我的网站上成功运行。根据这是一个新功能,它可能不稳定。

顺便说一句,我第一次得到像你一样的价值。但稍等片刻,效果很好。所以我认为读取密钥库机密可能会有一些延迟。


推荐阅读