有没有办法在 Azure Key Vault 中存储超过 25KB 的机密?

Is there a way to store secrets which are more than 25KB in Azure Key Vault?

我目前有一个 json 对象,我正在将其转换为字符串并尝试存储在 Azure Key Vault 中。但大小约为60kb。有没有办法将其存储在 Key Vault 上,因为我读到大小限制为 25lkb。

很抱歉,Key Vault 以八位字节(8 位字节)序列的形式存储和管理机密,每个字节的最大大小为 25k 字节。因此,不可能将超过 25k 字节的秘密直接存储到 Key Vault 中。

通常,秘密可能不会那么大。您可能只想存储一个秘密 json 文档。如果是这样,我建议您更改安全模式。你可以:

  1. 生成一个随机秘密。

  2. 使用该机密加密您的 json 字符串,然后将加密的字符串存储到 Azure 存储。

  3. 将机密存储到 Key Vault 中。

您可能需要查看 Azure Blob 客户端加密。 本质上,它在将内容存储到 Blob 存储之前对其进行加密,然后使用 Key Vault 保护密钥。 大多数 Blob 存储客户端库都具有内置支持,使其对您透明。

简而言之,您可以将大机密加密存储在 Blob 存储中,由 Key Vault 自动保护。

实际上,这就是 blob 存储客户端内部发生的情况;

  1. 已创建随机对称加密密钥。

  2. 您的数据在您的计算机上使用该密钥加密。

  3. 加密密钥使用 KeyVault 提供的 Public 密钥加密。

  4. 加密密钥与您的数据一起存储在 blob 存储中。

当你想取回数据时,存储库会要求Key Vault解密密钥,并为你解密数据。

这一切对您来说都是透明的。当然,您 需要打开它。具体操作方式取决于您使用的存储客户端,因此只需搜索 Blob 客户端加密和您选择的编程语言即可。