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

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

对象标识符

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

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

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

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

其中:

元素 说明
vault-name Azure Key Vault 服务中的保管库名称。

保管库名称由用户选择,并且全局独一无二。

保管库名称必须是 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 个字符的字符串标识符,可以选择用来对某个对象的唯一版本进行寻址。
  • 机密:提供机密(例如密码和数据库连接字符串)的安全存储。 有关详细信息,请参阅关于机密
  • 证书:支持基于密钥和机密并且添加了自动续订功能的证书。 请记住,创建证书后,还可以创建具有相同名称的可寻址密钥和机密。 有关详细信息,请参阅关于证书
  • Azure 存储帐户密钥:可以管理 Azure 存储帐户的密钥。 在内部,Key Vault 可以使用 Azure 存储帐户列出(同步)密钥,并定期重新生成(轮换)密钥。 有关详细信息,请参阅使用 Key Vault 管理存储帐户密钥

有关 Key Vault 的更多常规信息,请参阅关于 Azure Key Vault

数据类型

请参阅 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 提供的值以运行服务。 提供的值不应包括个人身份信息或敏感信息。

后续步骤