main function()
{
kvc = new KeyVaultClient(new KeyVaultClient.AuthenticationCallback(GetToken));
SecretBundle secret = Task.Run(() => kvc.GetSecretAsync(baseSecretURI + @"secrets/" +
secretName)).ConfigureAwait(false).GetAwaiter().GetResult();
}
public static async Task<string> GetToken(string authority, string resource, string scope)
{
var authContext = new Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext(authority);
ClientCredential clientCred = new ClientCredential(clientID, clientSecret);
AuthenticationResult result = await authContext.AcquireTokenAsync(resource, clientCred);
if (result == null)
throw new System.InvalidOperationException("Failed to obtain the JWT token");
return result.AccessToken; // error thrown at this line when trying to access Secret-2
}
NotFound错误通常表示Azure Key Vault实例中没有与您请求的内容匹配的秘密。你能确认在Azure Key Vault的实例中有一个带有你正在请求的名称的秘密吗?
解决方法:从密钥库中删除该秘密并生成一个新的
然后重试。
我使用以下代码进行测试,这些代码来自您提供的代码。
var kvc = new KeyVaultClient(async (authority, resource, scope) =>
{
var adCredential = new ClientCredential(clientId,clientSecret);
var authenticationContext = new Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext(authority, null);
var authenticationResult = await authenticationContext.AcquireTokenAsync(resource, adCredential);
return authenticationResult.AccessToken;
});
SecretBundle secret = Task.Run(() => kvc.GetSecretAsync(baseSecretURI + @"secrets/" + secretName)).ConfigureAwait(false).GetAwaiter().GetResult();
我已经能够通过外部web应用程序使用oauth rest api访问azure key vault,但出于某种原因,我无法从密钥中检索机密。经过长时间的研究,我发现用powershell和C#可以做到这一点,但还没有找到用Python解决方案。有人知道python是否有可能,或者有一种方法可以模拟powershell正在做什么吗?以下是检索秘密的代码: 此外,我已经在azure portal中注册
我有几个关于Azure Key Vault的问题,我需要一些技术帮助:链接https://docs.microsoft.com/en-us/Azure/key-vault/general/overview指出,“机密和密钥由Azure保护,使用行业标准算法、密钥长度和硬件安全模块(HSMs)。使用的HSMs经过联邦信息处理标准(FIPS)140-2级验证”。 我想确认这是否适用于秘密,就像适用于密
我在Powershell中编写了一个程序,该程序在Azure Functions应用程序中按计划运行。为了避免硬编码的凭据,我创建了一个Azure密钥库来存储秘密。我在Azure函数中创建了一个托管标识,在Azure Key Vault中创建了秘密,然后在Azure函数中创建了应用程序设置,并使用指向Azure Key Vault中秘密的URL。程序引用应用程序机密(APPSETTING),并按照
我计划在key vault上保留密钥,但我不清楚密钥和秘密的版本控制,我有一些关于Azure key vault上的key/Secret的版本控制的问题。 如何创建现有密钥的新版本? 是否可以解密用不同版本的相同密钥加密的数据? 是否可以为某个版本的密钥设置过期日期?
是否有一种方法可以使用Delphi访问Azure密钥库?我可以使用柏林的data.cloud.azureapi单元访问数据库和blob存储,但想从密钥库中获取数据库连接字符串,但似乎找不到任何用于此操作的代码。