Azure Functions Key Vault 应用程序设置不起作用
Azure functions key vault app settings not working
尝试在我的 Functions v2 应用程序设置中设置以下内容时我做错了什么。
@Microsoft.KeyVault(SecretUri=<uri>)
在函数内部读取这个,我得到了完整的字符串,而不是我预期的来自密钥库的连接字符串。
var config = new ConfigurationBuilder()
.SetBasePath(context.FunctionAppDirectory)
.AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
.AddEnvironmentVariables()
.Build();
var value = config["cstring"];
var connectionString = Environment.GetEnvironmentVariable("cstring");
log.Info(value); // Prints "@Microsoft.KeyVault(SecretUri=<uri>)"
log.Info(connectionString); // Prints "@Microsoft.KeyVault(SecretUri=<uri>)"
我需要采取更多步骤吗?
作为有权访问密钥保管库的 MSI 的功能。
多个在线教程使这看起来很简单,开箱即用。
为 Azure Function 启用 MSI 后,我进入我的密钥保管库并添加了一个访问策略,这样我的 Azure Function 应用程序就有了读取机密的权限。该功能应该适用于 Azure 中托管的所有版本的 Azure Functions。它不会在本地工作。
所以去你的 Azure Key Vault 并添加 MSI 原理并赋予 Get
权限到 secret。
让我补充一下 ,这真的很有帮助,上次挽救了我的一天。
在应用程序设置中我使用了以下设置:
{
"name": "asset_name",
"value": "@Microsoft.KeyVault(SecretUri=[KEY_VAULT_URL])",
"slotSetting": false
}
几个月前在启用 MSI 和等待选项后我这边工作正常但今天我需要在几个小时后重新启动 Azure Functions - 大约半天 - 这有助于解决以下设置的值:
@Microsoft.KeyVault(SecretUri=[KEY_VAULT_URL])
所有的配置工作正常,可以从创建的密钥保管库中获取值。
在开发的 Azure 函数中启用 MSI:
转到平台功能的网络部分身份:
然后打开系统状态或指定身份:
我希望这对下次遇到同样问题的人有所帮助,就像我一样。 :)
尝试在我的 Functions v2 应用程序设置中设置以下内容时我做错了什么。
@Microsoft.KeyVault(SecretUri=<uri>)
在函数内部读取这个,我得到了完整的字符串,而不是我预期的来自密钥库的连接字符串。
var config = new ConfigurationBuilder()
.SetBasePath(context.FunctionAppDirectory)
.AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
.AddEnvironmentVariables()
.Build();
var value = config["cstring"];
var connectionString = Environment.GetEnvironmentVariable("cstring");
log.Info(value); // Prints "@Microsoft.KeyVault(SecretUri=<uri>)"
log.Info(connectionString); // Prints "@Microsoft.KeyVault(SecretUri=<uri>)"
我需要采取更多步骤吗?
作为有权访问密钥保管库的 MSI 的功能。
多个在线教程使这看起来很简单,开箱即用。
为 Azure Function 启用 MSI 后,我进入我的密钥保管库并添加了一个访问策略,这样我的 Azure Function 应用程序就有了读取机密的权限。该功能应该适用于 Azure 中托管的所有版本的 Azure Functions。它不会在本地工作。
所以去你的 Azure Key Vault 并添加 MSI 原理并赋予 Get
权限到 secret。
让我补充一下
在应用程序设置中我使用了以下设置:
{
"name": "asset_name",
"value": "@Microsoft.KeyVault(SecretUri=[KEY_VAULT_URL])",
"slotSetting": false
}
几个月前在启用 MSI 和等待选项后我这边工作正常但今天我需要在几个小时后重新启动 Azure Functions - 大约半天 - 这有助于解决以下设置的值:
@Microsoft.KeyVault(SecretUri=[KEY_VAULT_URL])
所有的配置工作正常,可以从创建的密钥保管库中获取值。
在开发的 Azure 函数中启用 MSI:
转到平台功能的网络部分身份:
然后打开系统状态或指定身份:
我希望这对下次遇到同样问题的人有所帮助,就像我一样。 :)