Azure Key Vault 使 Azure 应用程序和用户能够存储和使用多种类型的机密和密钥数据:密钥、机密和证书。 密钥、机密和证书统称为“对象”。
对象标识符
Key Vault 通过使用称为对象标识符的不区分大小写的标识符来唯一标识对象。 系统中没有两个对象具有相同的标识符,而不考虑地理位置。 标识符包含一个前缀,用于标识密钥保管库、对象类型、用户提供的对象名称和对象版本。 不包含对象版本的标识符称为“基本标识符”。Key Vault 对象标识符也是有效的 URL,但始终将它们作为不区分大小写的字符串进行比较。
有关详细信息,请参阅 身份验证、请求和响应。
对象标识符具有以下常规格式(具体取决于容器类型):
对于保管库:
https://{vault-name}.vault.azure.cn/{object-type}/{object-name}/{object-version}对于托管 HSM 池:
https://{hsm-name}.managedhsm.chinacloudapi.cn/{object-type}/{object-name}/{object-version}
注释
请参阅对象类型支持以了解每种容器类型支持的对象类型。
地点:
| 元素 | DESCRIPTION |
|---|---|
vault-name 或 hsm-name |
Azure Key Vault 服务中的密钥保管库或托管 HSM 池的名称。 用户选择保管库名称和托管 HSM 池名称,这些名称在全球范围内是唯一的。 保管库名称和托管 HSM 池名称必须是 3-24 个字符的字符串,且仅包含 0-9、a-z、A-Z 和非连续出现的 -。 |
object-type |
对象的类型:“密钥”、“机密”或“证书”。 |
object-name |
object-name 是用户提供的名称,在密钥保管库中必须保持唯一。 名称必须是 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 |
| 由世纪互联运营的 Azure 云 | .vault.azure.cn | .managedhsm.azure.cn |
对象类型
此表显示对象标识符中的对象类型及其后缀。
| 对象类型 | 标识符后缀 | 保管库 | 托管 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 - 用于密钥操作的支持算法,例如RSA_OAEP_256
- 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 提供的值在全球范围内复制。 不要在提供的值中包含个人身份或敏感信息。