问题描述
如何在不使用Azure函数属性的情况下在Azure函数中检索“秘密值”?
注意:每次调用该函数时,秘密URL的值都可以不同,因此需要在运行应用程序且不使用配置或函数属性的情况下进行解析。
类似的问题,但无法使用IBinder解决(我的首选解决方案):
- Can Azure Key Vault be used with Functions to store the connection string for queue triggers?
- How to map Azure Functions secrets from Key Vault automatically
[FunctionName("functionName")]
public async static void Run(
[QueueTrigger("queueName",Connection = "StorageConnectionAppSetting")],IBinder binder,ILogger log)
{
// Todo: how to resolve access from IBinder
binder.
}
问题的背景:
我有一个应用程序,该应用程序已将密钥/值对秘密存储在Azure keyvault中 在存储数据时,我保留了标识符以供以后检索:
"ClientSecretUri":"https://keyvault.vault.azure.net:443/secrets/1-ff6b03fc-12e8-427f-fa18-08d845672373/78c0211ceb5140a8990dec450eef1d23"
我存储值的代码是:
var kvc = new keyvaultClient(new keyvaultClient.AuthenticationCallback(
AzureAccesstoken.GetAccesstoken(APP_CLIENT_ID,APP_CLIENT_SECRET)
));
var secretBundle = await kvc.SetSecretAsync(keyvAULT_BASE_URI,keyToStoreInValut,clientSecret);
var ClientSecretUri = secretBundle.SecretIdentifier.Identifier;
解决方法
作为您提供的代码,您可以使用ClientSecretUri获取秘密标识符。
然后,您可以使用ClientSecretUri访问最新的机密值。
JDK 11; JAX-WS; Provider com.sun.xml.internal.ws.spi.ProviderImpl not found