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

Azure Key Vault 密钥、机密和证书概述

凭借 Azure Key Vault,Microsoft Azure 应用程序和用户能够存储和使用多种类型的机密/密钥数据:密钥、机密和证书。 密钥、机密和证书统称为“对象”。

对象标识符

使用称为对象标识符的不区分大小写的标识符在 Key Vault 内唯一标识对象。 不管地理位置如何,系统中都不存在两个具有相同标识符的对象。 标识符由标识 Key Vault 的前缀、对象类型、用户提供的对象名称和对象版本组成。 不包括对象版本的标识符称为“基本标识符”。 Key Vault 对象标识符也是有效的 URL,但应始终作为不区分大小写的字符串进行比较。

有关详细信息,请参阅身份验证、请求和响应

对象标识符具有以下常规格式(具体取决于容器类型):

  • 对于保管库https://{vault-name}.vault.azure.net/{object-type}/{object-name}/{object-version}

  • 对于托管 HSM 池https://{hsm-name}.managedhsm.azure.net/{object-type}/{object-name}/{object-version}

备注

请参阅对象类型支持以了解每种容器类型支持的对象类型。

其中:

元素 说明
vault-namehsm-name Microsoft Azure Key Vault 服务中的密钥保管库或托管 HSM 池的名称。

保管库名称和托管 HSM 池名称由用户选择,并且是全局唯一的。

保管库名称和托管 HSM 池名称必须是 3-24 个字符的字符串,且仅包含 0-9、a-z、A-Z 和不连续的 -。
object-type 对象的类型:“密钥”、“机密”或“证书”。
object-name object-name 是用户提供的名称,在 Key Vault 中必须保持唯一。 该名称必须是 1-127 个字符的字符串,以字母开头且仅包含 0-9、a-z、A-Z 和 -。
object-version object-version 是系统生成的 32 个字符的字符串标识符,可以选择用来对某个对象的唯一版本进行寻址。

对象标识符的 DNS 后缀

Azure Key Vault 资源提供程序支持两种资源类型:保管库和托管 HSM。 此表显示了数据平面终结点对各种云环境中的保管库和托管 HSM 池使用的 DNS 后缀。

云环境 保管库的 DNS 后缀 托管 HSM 的 DNS 后缀
Azure 云 .vault.azure.net .managedhsm.azure.net
由世纪互联运营的 Microsoft Azure 云 .vault.azure.cn 不支持
Azure 美国政府 .vault.usgovcloudapi.net 不支持
Azure 德国云 .vault.microsoftazure.de 不支持

对象类型

此表显示对象标识符中的对象类型及其后缀。

对象类型 标识符后缀 保管库 托管 HSM 池
HSM 保护的密钥 /keys 支持 支持
受软件保护的密钥 /keys 支持 不支持
机密 /secrets 支持 不支持
证书 /certificates 支持 不支持
存储帐户密钥 /storage 支持 不支持
  • 加密密钥:支持多种密钥类型和算法,并支持使用受软件保护的密钥和受 HSM 保护的密钥。 有关详细信息,请参阅关于密钥
  • 机密:提供机密(例如密码和数据库连接字符串)的安全存储。 有关详细信息,请参阅关于机密
  • 证书:支持基于密钥和机密并且添加了自动续订功能的证书。 请记住,创建证书后,还可以创建具有相同名称的可寻址密钥和机密。 有关详细信息,请参阅关于证书
  • Azure 存储帐户密钥:可以管理 Azure 存储帐户的密钥。 在内部,Key Vault 可以使用 Azure 存储帐户列出(同步)密钥,并定期重新生成(轮换)密钥。 有关详细信息,请参阅使用 Key Vault 管理存储帐户密钥

有关 Key Vault 的更多常规信息,请参阅关于 Azure Key Vault。 有关托管 HSM 池的详细信息,请参阅什么是 Azure Key Vault 托管 HSM?

数据类型

请参阅 JOSE 规范,了解密钥、加密和签名的相关数据类型。

  • algorithm - 支持的密钥操作算法,例如 RSA1_5
  • ciphertext-value - 密码文本八位组,使用 Base64URL 编码
  • digest-value - 哈希算法的输出,使用 Base64URL 编码
  • key-type - 一种支持的密钥类型,例如 RSA (Rivest-Shamir-Adleman)。
  • plaintext-value - 纯文本位组,使用 Base64URL 编码
  • signature-value - 签名算法的输出,使用 Base64URL 编码
  • base64URL - Base64URL [RFC4648] 编码的二进制值
  • boolean - 要么为 true,要么为 false
  • 标识 - Microsoft Entra ID 中的标识。
  • IntDate - 一个 JSON 十进制值,表示从 1970-01-01T0:0:0Z UTC 到指定 UTC 日期/时间的秒数。 请参阅 RFC3339,了解有关日期/时间的常规信息和 UTC 的特别信息。

对象、标识符和版本控制

对于存储在 Key Vault 中的对象,在创建了某一对象的新实例后,这些对象就会受到版本控制。 每个版本都分配有唯一对象标识符。 首次创建一个对象时,该对象被赋予了一个唯一的版本标识符,并标记为当前版本的对象。 创建与对象同名的新实例会向新对象赋予一个唯一的版本标识符,并使其成为当前版本。

可以通过指定版本或省略版本以获取对象的最新版本来检索 Key Vault 中的对象。 对对象执行操作需要提供版本才能使用特定版本的对象。

注意

可以全局复制为 Azure 资源或对象 ID 提供的值以运行服务。 提供的值不应包括个人身份信息或敏感信息。

后续步骤