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