使用相应的 编程身份验证凭据 创建 SecretClient ,然后使用客户端在 Azure 密钥保管库中设置、更新和轮换机密。

若要在 Azure 密钥保管库中设置机密,请使用 SecretClient 类的 setSecret 方法。

机密值类型为字符串。 初始值可以是可以序列化为字符串(如 JSON 或 BASE64 编码数据)的任何值。 在密钥保管库中设置机密之前,需要提供序列化;从密钥保管库获取机密后,需要提供反序列化。

const name = 'mySecret';
const value = 'mySecretValue'; // or JSON.stringify({'key':'value'})
const { name, value, properties } = await client.setSecret(
    secretName,
    secretValue

创建机密时,KeyVaultSecret 响应包括 SecretProperties 对象,该对象包含机密的元数据,例如:

  • createdOn:创建机密的 UTC 日期和时间。
  • id:机密的完整 URL。
  • recoverableDays:删除机密后可以恢复机密的天数。
  • recoveryLevel:值包括:“Purgeable”、“Recoverable+Purgeable”、“Recoverable”、“Recoverable+ProtectedSubscription”。
  • updatedOn:最后更新机密的 UTC 日期和时间。
  • version:机密的版本。
  • 使用属性设置机密

    将 SecretClient 类的 setSecret 方法与 SetSecretOptions 配合使用,以包含与机密一起运行的可选参数,例如:

  • contentType:对机密内容类型的表示和理解。 使用建议包括本机类型、你自己的自定义 TypeScript 类型或 MIME 类型。 此值在 Azure 门户中可见。
  • enabled:默认为 true。
  • expiresOn:机密过期的 UTC 日期和时间。
  • notBefore:在此 UTC 日期和时间之前不能使用机密。
  • tags:可用于与机密关联的自定义名称/值对。
  • const name = 'mySecret';
    const value = JSON.stringify({
        'mykey':'myvalue', 
        'myEndpoint':'https://myendpoint.com'
    const secretOptions = {
        // example options
        contentType: 'application/json',
        tags: { 
            project: 'test-cluster', 
            owner: 'jmclane',
            team: 'devops'
    const { name, value, properties } = await client.setSecret(
        secretName,
        secretValue, 
        secretOptions
    

    此方法返回 KeyVaultSecret 对象。

    更新机密值。

    要更新“机密值”,请使用上一部分所示的 setSecret 方法。 请确保将新值作为字符串传递,同时传递当前版本的机密中要保留的所有属性。 在对 setSecret 的其他调用中未设置的任何当前属性都将丢失。

    这会生成新版本的机密。 返回的 SecretProperties 对象包括新版本 ID。

    更新机密属性

    要更新机密的属性,请使用 SecretClient 类的 updateSecretProperties 方法。 未在请求中指定的属性将保留不变。 不能更改机密本身的值。 该操作需要 secrets/set 权限。

    const name = 'mySecret';
    // Update tags
    const updatedTagName = 'existingTag';
    const updatedTagValue = secret.properties.version.tags[updatedTagName] + ' additional information';
    // Use version from existing secret
    const version = secret.properties.version;
    // Options to update
    const secretOptions = {
        tags: {
            'newTag': 'newTagValue', // Set new tag
            'updatedTag': updatedTagValue // Update existing tag
        enabled: false
    // Update secret's properties - doesn't change secret name or value
    const properties = await client.updateSecretProperties(
        secretName,
        secretVersion,
        secretOptions,
    

    该方法返回 SecretProperties 对象。

    要轮换机密,需要为 SecretNearExpiry 事件创建事件网格事件订阅,并提供应随事件触发器一起调用的轮换功能。 使用以下教程之一为使用以下内容的资源自动轮换机密:

  • 键入你的身份验证凭据
  • 两组身份验证凭据
  • 使用 JavaScript SDK 获取机密
  •