我需要使用clientId、clientSecret、TenantId和vaultURL从Azure密钥库读取秘密/值。我对所有这些都有自己的价值观。我需要使用这些值读取存储在azure密钥库上的值。
对代码有什么帮助吗?
发布于 2020-05-13 02:38:00
发布于 2020-05-14 14:49:44
如果您需要示例,可以参考本教程:Azure Key Vault client library for .NET。下面是我的测试代码。
string clientSecret = "client secret";
string clientId = "client id";
var secreturi = "https://****.vault.azure.net";
KeyVaultClient kvClient = new KeyVaultClient(async (authority, resource, scope) =>
{
var adCredential = new ClientCredential(clientId, clientSecret);
var authenticationContext = new AuthenticationContext(authority, null);
return (await authenticationContext.AcquireTokenAsync(resource, adCredential)).AccessToken;
});
var keyvaultSecret = await kvClient.GetSecretAsync($"{secreturi}", "testsecret").ConfigureAwait(false);
Console.Write(keyvaultSecret.Value);

发布于 2021-12-15 10:38:37
您可以尝试执行以下步骤从Azure密钥库Link From Microsoft中读取数据
在windows Powershell中运行1和2命令
1. `az login`
Opens microsoft login page, enter your credentials and you should be logged in.
2. az ad sp create-for-rbac -n <somename> --skip-assignment
this outputs a JSON file
{
"appId": "XXXXX-XXXXXX-XXXXXX",
"displayName": "somename",
"name": "XXXXX-XXXXXX-XXXXXX",
"password": "XXXXXXXXXXXXXXXXXXXXX",
"tenant": "XXXXX-XXXXXX-XXXXXX"
}
use the above credentials to call Azure key vault service
// Custom object
var request = new KeyVaultSecretRequest
{
ClientId = this._config["AzureKeyVault:ClientId"],
ClientSecret = this._config["AzureKeyVault:ClientSecret"], //Password from above JSON
EndPoint = this._config["AzureKeyVault:EndPoint"].ToUri(),
TenantId = this._config["AzureKeyVault:TenantId"],
};
var options = new SecretClientOptions()
{
Retry =
{
Delay= TimeSpan.FromSeconds(2),
MaxDelay = TimeSpan.FromSeconds(16),
MaxRetries = 5,
Mode = RetryMode.Exponential,
}
};
var credentials = new ClientSecretCredential(request.TenantId, request.ClientId, request.ClientSecret);
var client = new SecretClient(request.EndPoint, credentials, options);
KeyVaultSecret secret = await client.GetSecretAsync(request.Key).ConfigureAwait(false);
response.Item = secret.Value;https://stackoverflow.com/questions/61759064
复制相似问题