我正试图使用Azure函数从密钥库获取秘密,但当我试图访问它时,密钥库返回Pribund。很明显我错过了什么,但我还没能找到另一个有同样问题的帖子。下面的代码:
AzureServiceTokenProvider azureServiceTokenProvider = new AzureServiceTokenProvider();
KeyVaultClient kvClient = new KeyVaultClient(new KeyVaultClient.AuthenticationCallback(azureServiceTokenProvider.KeyVaultTokenCallback));
//(https://keyvaultname.vault.azure.net/)
var keyVaultUrl = Environment.GetEnvironmentVariable("KeyVaultLocation");
//(name of the secret)
var vaultSecretKey = Environment.GetEnvironmentVariable("VaultSecretKey");
var value = (await kvClient.GetSecretAsync(keyVaultUrl, vaultSecretKey)).Value;
我已经在密钥库的访问策略中注册了该函数,并授予它获取机密的权限,并且我已经为该函数启用了托管服务标识。我还缺了什么吗?我很茫然,为什么函数不能访问金库。
下面是我如何在Azure函数(v2)中使用KeyVaultClient
。我有一个方法,它根据为存储库配置的应用程序ID和机密返回一个访问令牌:
/// <summary>
/// Called by the KeyVaultClient instance.
/// </summary>
/// <param name="authority"></param>
/// <param name="resource"></param>
/// <param name="scope"></param>
/// <returns></returns>
private static async Task<string> GetAccessTokenAsync(string authority, string resource, string scope)
{
var clientCredential = new ClientCredential(Constants.Vault.AppId, Constants.Vault.AppSecret);
var context = new AuthenticationContext(authority, TokenCache.DefaultShared);
AuthenticationResult result = await context.AcquireTokenAsync(resource, clientCredential);
return result.AccessToken;
}
然后,当我实际需要访问存储库时,我调用以下构造函数:
...
// Pushes the encryption to the Key-Vault.
var client = new KeyVaultClient(GetAccessTokenAsync, new HttpClient());
await client.GetSecretAsync(Constants.Vault.Url, vaultSecretKey);
我已经在Azure广告中注册了我的应用程序,并获得了应用程序ID和身份验证密钥,我允许我的应用程序从密钥库中读取机密。在我的U-SQL脚本中,我引用了所有需要的程序集。 当我在本地运行我的脚本时,一切都很好(这意味着从本地机器到AD和密钥库的连接是正常的),但是当我在远程数据湖分析帐户上提交它以执行时,我得到了以下错误: 无法解析远程名称:'my-key-vault-name.vault.azur
我正在python中构建由事件网格事件触发的Azure函数,它应该能够从Kay Vault收集秘密。 我将系统分配的托管标识添加到我的功能应用程序中,然后我可以在密钥库访问策略中选择我的应用程序。我授予它如下所示的权限: (我尝试了不同的组合在这一个)
是否有一种方法可以使用Delphi访问Azure密钥库?我可以使用柏林的data.cloud.azureapi单元访问数据库和blob存储,但想从密钥库中获取数据库连接字符串,但似乎找不到任何用于此操作的代码。
我在Java中有一个Azure函数。使用托管身份和密钥库引用,我在功能应用程序中添加了一个配置来访问密钥库秘密和证书。这个秘密被正确引用,我可以在Azure函数中访问它的值。
我已经能够通过外部web应用程序使用oauth rest api访问azure key vault,但出于某种原因,我无法从密钥中检索机密。经过长时间的研究,我发现用powershell和C#可以做到这一点,但还没有找到用Python解决方案。有人知道python是否有可能,或者有一种方法可以模拟powershell正在做什么吗?以下是检索秘密的代码: 此外,我已经在azure portal中注册
我正在尝试从运行在我的Azure批处理节点池中的VM访问我的Azure密钥库中的机密。 然而,我总是遇到例外: 异常消息:已尝试%1个证书。无法获取访问令牌。 具有指纹的证书#1的异常my-thumbprint:密钥集不存在 到目前为止,我一直遵循以下说明:https://docs.microsoft.com/en-us/Azure/key-vault/service-to-service-aut