Azure KeyVault 从 c# 启用或禁用密钥

Azure KeyVault Enable or disable secret key from c#

我一直在寻找一个选项,以使用托管身份从 C# 启用密钥保管库中的密钥。 我拥有完全权限,并且能够创建、删除和更改机密,但不知何故,如果我创建了一个禁用的密钥,我无法读取它来重新启用它。 谁能帮忙知道是否可以从 c# 启用禁用的密钥?

在不知道秘密的情况下,如果您知道名称,您可以简单地更新它的属性:

var client = new SecretClient(
  new Uri("https://myvault.vault.azure.net"),
  new DefaultAzureCredential());

await client.UpdateSecretPropertiesAsync(
  new SecretProperties("secret-name")
  {
    Enabled = true,
  });

如果您已经有 KeyVaultSecret,请将其 Properties.Enabled 设置为 true 并将 Properties 传递给上述相同的方法。

添加我的评论作为答案:

可以更新secret的SecretProperties中的Enabled,参考SDK.

var kvUri = "https://" + keyVaultName + ".vault.azure.net";
var client = new SecretClient(new Uri(kvUri), new DefaultAzureCredential());

KeyVaultSecret secret = client.GetSecret("secret-name");
secret.Properties.Enabled = true;
SecretProperties updatedSecretProperties = client.UpdateSecretProperties(secret.Properties);

Console.WriteLine(updatedSecretProperties.Enabled);

更多详情,您可以查看the official document