You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用C#为Azure Key Vault中的Secret设置标签

在Azure Key Vault中用C#创建带标签的Secret

虽然SecretProperties.Tags是只读的,但你可以通过CreateSecretOptions或SetSecretOptions类设置标签(这些类的Tags是可写字典),也可以对已有Secret用SecretProperties提供的SetTag/RemoveTag方法修改标签。以下是具体实现:

创建带标签的新Secret

使用SecretClient.CreateSecretAsync方法,传入配置好标签的CreateSecretOptions即可:

using Azure.Identity;
using Azure.Security.KeyVault.Secrets;

// 初始化SecretClient
var vaultUri = new Uri("https://你的密钥保管库名称.vault.azure.net/");
var client = new SecretClient(vaultUri, new DefaultAzureCredential());

// 配置Secret选项,包含标签
var createOptions = new CreateSecretOptions("你的密钥名称", "你的密钥值")
{
    Tags =
    {
        { "环境", "生产" },
        { "应用", "我的项目" }
    }
};

// 创建带标签的Secret
var createdSecret = await client.CreateSecretAsync(createOptions);

更新现有Secret的标签

如果要修改已有Secret的标签,有两种方式:

方式1:通过SetSecretAsync创建新版本(会更新值和标签)

var setOptions = new SetSecretOptions("你的密钥名称", "新的密钥值")
{
    Tags =
    {
        { "环境", "测试" },
        { "负责人", "张三" }
    }
};

var updatedSecret = await client.SetSecretAsync(setOptions);

方式2:通过UpdateSecretPropertiesAsync仅修改标签(不创建新版本)

这种方式不会改变Secret的值,仅更新属性:

// 获取现有Secret的属性
var secretPropsResponse = await client.GetSecretPropertiesAsync("你的密钥名称");
var secretProps = secretPropsResponse.Value;

// 添加或修改标签
secretProps.SetTag("环境", "生产");
secretProps.SetTag("部门", "技术部");

// 移除不需要的标签
secretProps.RemoveTag("负责人");

// 更新属性到Key Vault
var updatedProps = await client.UpdateSecretPropertiesAsync(secretProps);

说明:SecretProperties.Tags返回的是只读字典,但类本身提供了SetTag和RemoveTag方法来修改内部存储的标签集合,所以可以用这两个方法更新标签,不需要直接操作字典。

内容的提问来源于stack exchange,提问作者kosist

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 13:12:34