你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Microsoft.KeyVault 保管库/密钥

Bicep 资源定义

可以使用面向以下操作部署保管库/密钥资源类型:

有关每个 API 版本中已更改属性的列表,请参阅 更改日志

注解

有关使用密钥保管库获取安全值的指南,请参阅 使用 Bicep 管理机密

有关创建机密的快速入门,请参阅快速入门:使用 ARM 模板从 Azure 密钥保管库设置和检索机密

有关创建密钥的快速入门,请参阅 快速入门:使用 ARM 模板创建 Azure 密钥保管库和密钥

资源格式

若要创建 Microsoft.KeyVault/vaults/keys 资源,请将以下 Bicep 添加到模板。

resource symbolicname 'Microsoft.KeyVault/vaults/keys@2023-07-01' = {
  name: 'string'
  tags: {
    tagName1: 'tagValue1'
    tagName2: 'tagValue2'
  }
  parent: resourceSymbolicName
  properties: {
    attributes: {
      enabled: bool
      exp: int
      exportable: bool
      nbf: int
    }
    curveName: 'string'
    keyOps: [
      'string'
    ]
    keySize: int
    kty: 'string'
    release_policy: {
      contentType: 'string'
      data: 'string'
    }
    rotationPolicy: {
      attributes: {
        expiryTime: 'string'
      }
      lifetimeActions: [
        {
          action: {
            type: 'string'
          }
          trigger: {
            timeAfterCreate: 'string'
            timeBeforeExpiry: 'string'
          }
        }
      ]
    }
  }
}

属性值

vaults/keys

名称 说明
name 资源名称

了解如何在 Bicep 中设置子资源的名称和类型。
字符串 (必需)
标记 将分配给密钥的标记。 标记名称和值的字典。 请参阅 模板中的标记
父级 (parent) 在 Bicep 中,可以为子资源指定父资源。 仅当子资源在父资源外部声明时,才需要添加此属性。

有关详细信息,请参阅 父资源之外的子资源
类型为的资源的符号名称: 保管库
properties 要创建的密钥的属性。 需要 keyProperties ()

KeyProperties

名称 说明
attributes 键的属性。 KeyAttributes
curveName 椭圆曲线名称。 有关有效值,请参阅 JsonWebKeyCurveName。 “P-256”
“P-256K”
“P-384”
“P-521”
keyOps 包含任何一项的字符串数组:
'decrypt'
'encrypt'
“import”
'release'
'sign'
“unwrapKey”
“verify”
'wrapKey'
keySize 密钥的大小(以位为单位)。 例如:RSA 的 2048、3072 或 4096。 int
kty 键的类型。 有关有效值,请参阅 JsonWebKeyType。 'EC'
“EC-HSM”
'RSA'
'RSA-HSM'
release_policy 响应中的密钥发布策略。 它将用于输出和输入。 如果为空,则省略 KeyReleasePolicy
rotationPolicy 响应中的密钥轮换策略。 它将用于输出和输入。 如果为空,则省略 RotationPolicy

KeyAttributes

名称 说明
enabled 确定是否启用 对象。 bool
exp 自 1970-01-01T00:00:00Z 以来的到期日期(以秒为单位)。 int
出口 指示是否可以导出私钥。 bool
nbf 自 1970-01-01T00:00:00Z 以来,不早于日期(以秒为单位)。 int

KeyReleasePolicy

名称 说明
contentType 密钥发布策略的内容类型和版本 string
数据 Blob 编码可释放密钥所依据的策略规则。 字符串

RotationPolicy

名称 说明
attributes 密钥轮换策略的属性。 KeyRotationPolicyAttributes
lifetimeActions 生存期密钥轮换操作。 LifetimeAction[]

KeyRotationPolicyAttributes

名称 说明
expiryTime 新密钥版本的过期时间。 它应采用ISO8601格式。 例如:“P90D”、“P1Y”。 字符串

LifetimeAction

名称 说明
action 密钥轮换策略生存期的操作操作。 操作
触发器 密钥轮换策略生存期操作的触发器。 触发器

操作

名称 说明 Value
type 操作的类型。 “notify”
“rotate”

触发器

名称 说明
timeAfterCreate 密钥创建后轮换密钥的持续时间。 它仅适用于旋转。 它将采用 ISO 8601 持续时间格式。 例如:“P90D”、“P1Y”。 字符串
timeBeforeExpiry 密钥轮换或通知前的持续时间。 它将采用 ISO 8601 持续时间格式。 例如:“P90D”、“P1Y”。 字符串

快速入门模板

以下快速入门模板部署此资源类型。

模板 说明
在 Azure KeyVault 中创建密钥

部署到 Azure
此模块允许你在现有 KeyVault 中创建密钥。
使用客户管理的密钥进行 Azure 存储帐户加密

部署到 Azure
此模板部署一个存储帐户,其中包含客户管理的密钥,用于生成并放置在密钥保管库内的加密。

ARM 模板资源定义

保管库/密钥资源类型可以通过针对以下操作进行部署:

有关每个 API 版本中更改的属性的列表,请参阅 更改日志

注解

有关使用密钥保管库获取安全值的指南,请参阅 使用 Bicep 管理机密

有关创建机密的快速入门,请参阅快速入门:使用 ARM 模板从 Azure 密钥保管库设置和检索机密

有关创建密钥的快速入门,请参阅 快速入门:使用 ARM 模板创建 Azure 密钥保管库和密钥

资源格式

若要创建 Microsoft.KeyVault/vaults/keys 资源,请将以下 JSON 添加到模板。

{
  "type": "Microsoft.KeyVault/vaults/keys",
  "apiVersion": "2023-07-01",
  "name": "string",
  "tags": {
    "tagName1": "tagValue1",
    "tagName2": "tagValue2"
  },
  "properties": {
    "attributes": {
      "enabled": "bool",
      "exp": "int",
      "exportable": "bool",
      "nbf": "int"
    },
    "curveName": "string",
    "keyOps": [ "string" ],
    "keySize": "int",
    "kty": "string",
    "release_policy": {
      "contentType": "string",
      "data": "string"
    },
    "rotationPolicy": {
      "attributes": {
        "expiryTime": "string"
      },
      "lifetimeActions": [
        {
          "action": {
            "type": "string"
          },
          "trigger": {
            "timeAfterCreate": "string",
            "timeBeforeExpiry": "string"
          }
        }
      ]
    }
  }
}

属性值

vaults/keys

名称 说明 Value
type 资源类型 “Microsoft.KeyVault/vaults/keys”
apiVersion 资源 API 版本 '2023-07-01'
name 资源名称

了解如何在 JSON ARM 模板中为子资源设置名称和类型。
字符串 (必需)
标记 将分配给密钥的标记。 标记名称和值的字典。 请参阅 模板中的标记
properties 要创建的密钥的属性。 需要 KeyProperties ()

KeyProperties

名称 说明
attributes 键的属性。 KeyAttributes
curveName 椭圆曲线名称。 有关有效值,请参阅 JsonWebKeyCurveName。 “P-256”
“P-256K”
“P-384”
“P-521”
keyOps 包含任意项的字符串数组:
“decrypt”
“encrypt”
“import”
“release”
“sign”
“unwrapKey”
“verify”
“wrapKey”
keySize 密钥的大小(以位为单位)。 例如:RSA 的 2048、3072 或 4096。 int
kty 键的类型。 有关有效值,请参阅 JsonWebKeyType。 “EC”
“EC-HSM”
“RSA”
“RSA-HSM”
release_policy 响应中的密钥发布策略。 它将用于输出和输入。 如果为空,则省略 KeyReleasePolicy
rotationPolicy 响应中的密钥轮换策略。 它将用于输出和输入。 如果为空,则省略 RotationPolicy

KeyAttributes

名称 说明
enabled 确定是否启用 对象。 bool
exp 自 1970-01-01T00:00:00Z 以来的到期日期(以秒为单位)。 int
出口 指示是否可以导出私钥。 bool
nbf 自 1970-01-01T00:00:00Z 以来,不早于日期(以秒为单位)。 int

KeyReleasePolicy

名称 说明
contentType 密钥发布策略的内容类型和版本 string
数据 Blob 编码可释放密钥所依据的策略规则。 字符串

RotationPolicy

名称 说明
attributes 密钥轮换策略的属性。 KeyRotationPolicyAttributes
lifetimeActions 生存期密钥轮换操作。 LifetimeAction[]

KeyRotationPolicyAttributes

名称 说明
expiryTime 新密钥版本的过期时间。 它应采用ISO8601格式。 例如:“P90D”、“P1Y”。 字符串

LifetimeAction

名称 说明
action 密钥轮换策略 lifetimeAction 的操作。 操作
触发器 密钥轮换策略 lifetimeAction 的触发器。 触发器

操作

名称 说明 Value
type 操作的类型。 'notify'
'rotate'

触发器

名称 说明
timeAfterCreate 密钥创建后轮换密钥的持续时间。 它仅适用于旋转。 它将采用 ISO 8601 持续时间格式。 例如:“P90D”、“P1Y”。 字符串
timeBeforeExpiry 密钥过期之前要轮换或通知的持续时间。 它将采用 ISO 8601 持续时间格式。 例如:“P90D”、“P1Y”。 字符串

快速入门模板

以下快速入门模板部署此资源类型。

模板 说明
在 Azure KeyVault 中创建密钥

部署到 Azure
此模块允许你在现有 KeyVault 中创建密钥。
使用客户管理的密钥进行 Azure 存储帐户加密

部署到 Azure
此模板部署一个存储帐户,其中包含客户管理的密钥,用于生成并放置在密钥保管库内的加密。

Terraform (AzAPI 提供程序) 资源定义

可以使用面向以下操作部署保管库/密钥资源类型:

  • 资源组

有关每个 API 版本中已更改属性的列表,请参阅 更改日志

资源格式

若要创建 Microsoft.KeyVault/vaults/keys 资源,请将以下 Terraform 添加到模板。

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.KeyVault/vaults/keys@2023-07-01"
  name = "string"
  parent_id = "string"
  tags = {
    tagName1 = "tagValue1"
    tagName2 = "tagValue2"
  }
  body = jsonencode({
    properties = {
      attributes = {
        enabled = bool
        exp = int
        exportable = bool
        nbf = int
      }
      curveName = "string"
      keyOps = [
        "string"
      ]
      keySize = int
      kty = "string"
      release_policy = {
        contentType = "string"
        data = "string"
      }
      rotationPolicy = {
        attributes = {
          expiryTime = "string"
        }
        lifetimeActions = [
          {
            action = {
              type = "string"
            }
            trigger = {
              timeAfterCreate = "string"
              timeBeforeExpiry = "string"
            }
          }
        ]
      }
    }
  })
}

属性值

vaults/keys

名称 说明 Value
type 资源类型 “Microsoft.KeyVault/vaults/keys@2023-07-01”
name 资源名称 字符串 (必需)
parent_id 此资源的父资源的 ID。 类型为的资源的 ID: 保管库
标记 将分配给密钥的标记。 标记名称和值的字典。
properties 要创建的密钥的属性。 需要 keyProperties ()

KeyProperties

名称 说明
attributes 键的属性。 KeyAttributes
curveName 椭圆曲线名称。 有关有效值,请参阅 JsonWebKeyCurveName。 “P-256”
“P-256K”
“P-384”
“P-521”
keyOps 包含任何一项的字符串数组:
“decrypt”
“encrypt”
“import”
“release”
“sign”
“unwrapKey”
“verify”
“wrapKey”
keySize 密钥的大小(以位为单位)。 例如:RSA 的 2048、3072 或 4096。 int
kty 键的类型。 有关有效值,请参阅 JsonWebKeyType。 “EC”
“EC-HSM”
“RSA”
“RSA-HSM”
release_policy 响应中的密钥发布策略。 它将用于输出和输入。 如果为空,则省略 KeyReleasePolicy
rotationPolicy 响应中的密钥轮换策略。 它将用于输出和输入。 如果为空,则省略 RotationPolicy

KeyAttributes

名称 说明
enabled 确定是否启用 对象。 bool
exp 自 1970-01-01T00:00:00Z 以来的到期日期(以秒为单位)。 int
出口 指示是否可以导出私钥。 bool
nbf 自 1970-01-01T00:00:00Z 以来,不早于日期(以秒为单位)。 int

KeyReleasePolicy

名称 说明
contentType 密钥发布策略的内容类型和版本 string
数据 Blob 编码可释放密钥所依据的策略规则。 字符串

RotationPolicy

名称 说明
attributes 密钥轮换策略的属性。 KeyRotationPolicyAttributes
lifetimeActions 生存期密钥轮换操作。 LifetimeAction[]

KeyRotationPolicyAttributes

名称 说明
expiryTime 新密钥版本的过期时间。 它应采用ISO8601格式。 例如:“P90D”、“P1Y”。 字符串

LifetimeAction

名称 说明
action 密钥轮换策略生存期的操作操作。 操作
触发器 密钥轮换策略生存期操作的触发器。 触发器

操作

名称 说明 Value
type 操作的类型。 “notify”
“rotate”

触发器

名称 说明
timeAfterCreate 密钥创建后轮换密钥的持续时间。 它仅适用于旋转。 它将采用 ISO 8601 持续时间格式。 例如:“P90D”、“P1Y”。 字符串
timeBeforeExpiry 密钥轮换或通知前的持续时间。 它将采用 ISO 8601 持续时间格式。 例如:“P90D”、“P1Y”。 字符串