首页 > 解决方案 > 生成带有版本的 Azure KeyVault SecretIdentifier (Url)

问题描述

我们正在 azure key vault 中动态创建秘密,现在我们想要获取带有版本的秘密标识符/Uri,以便可以检索秘密?

是否有任何内置方法或简单的方法来生成 Secret Identifier ?主要是我在检索秘密版本方面遇到了挑战。

示例:https ://YourVaultName.vault.azure.net/keys/YourKeyName/01234567890123456789012345678901

我们正在使用keyvaultclient C# 类在我们的应用程序中管理 keyVault

屏幕截图包含秘密标识符和版本

标签: c#azureazure-keyvault

解决方案


要获取密钥的当前版本,您可以使用GetSecretAsync.

Microsoft.Azure.Services.AppAuthentication用来创建 keyvault 客户端,sample here

var azureServiceTokenProvider1 = new AzureServiceTokenProvider();
var kv = new KeyVaultClient(new KeyVaultClient.AuthenticationCallback(azureServiceTokenProvider1.KeyVaultTokenCallback));
var secret = kv.GetSecretAsync("https://<keyvault-name>.vault.azure.net/", "<secret-name>").GetAwaiter().GetResult(); 
Console.WriteLine(secret.SecretIdentifier.Version);

如果你想获得所有版本的秘密,你可以使用GetSecretVersionsAsync.

var versions = kv.GetSecretVersionsAsync("https://<keyvault-name>.vault.azure.net/", "<secret-name>").GetAwaiter().GetResult();

推荐阅读