我可以将 JSON 存储在 Azure Key Vault 中吗
Can I store JSON in a Azure Key Vault
我有一些 JSON 想要存储在 Azure Key Vault 中。
数据不是这样分层的:
{
"type": "XXXXXX",
"project_id": "XXXXXX",
"private_key_id": "XXXXXXXX"
}
但我有 4 组 JSON 数据,每组都有秘密,所以我希望我不必将它们分解成单独的密钥,但如果必须的话,我会这样做这个。
将此视为使用 Azure CLI 将机密添加到 Azure Key Vault 的有效语句:
az keyvault secret set --vault-name "<YourKeyVaultName>" --name "AppSecret" --value "MySecret"
,摘自 Tutorial: Use Azure Key Vault with an Azure web app in .NET
在此基础上,我看不出值 MySecret
不能是 JSON 字符串的任何原因。
进一步调查,看看 About keys, secrets, and certificates - Key Vault secrets:
From a developer's perspective, Key Vault APIs accept and return secret values as strings. Internally, Key Vault stores and manages secrets as sequences of octets (8-bit bytes), with a maximum size of 25k bytes each.
因此,只要您的 JSON 低于 25k 限制,您就可以开始了。
诀窍是在 PowerShell 命令行上正确转义引号 (\`"
= backslash
, backtick
& double quote
) 以满足 JSON 和 PowerShell 格式都用于转义引号。下面是一个示例,说明如何将 JSON 字符串添加为机密的值。请注意 --value
中的文本对于每个需要转义的引号都有一个 \`"
转义序列。 PowerShell needs backtick
转义命令行上的double quote
。 JSON 字符串需要 backslash
来转义 double quote
。因此,您将 backtick
置于 backslash
和 double quote
(\`"
) 之间,从而同时满足 PowerShell 和 JSON:
az keyvault secret set `
--vault-name "<YourKeyVaultName>" `
--name "AppSecret" `
--description "An optional description" `
--disabled false `
--value "{\`"type\`":\`"XXXXXX\`",\`"project_id\`":\`"XXXXXX\`",\`"private_key_id\`":\`"XXXXXXXX\`"}"
我有一些 JSON 想要存储在 Azure Key Vault 中。
数据不是这样分层的:
{
"type": "XXXXXX",
"project_id": "XXXXXX",
"private_key_id": "XXXXXXXX"
}
但我有 4 组 JSON 数据,每组都有秘密,所以我希望我不必将它们分解成单独的密钥,但如果必须的话,我会这样做这个。
将此视为使用 Azure CLI 将机密添加到 Azure Key Vault 的有效语句:
az keyvault secret set --vault-name "<YourKeyVaultName>" --name "AppSecret" --value "MySecret"
,摘自 Tutorial: Use Azure Key Vault with an Azure web app in .NET
在此基础上,我看不出值 MySecret
不能是 JSON 字符串的任何原因。
进一步调查,看看 About keys, secrets, and certificates - Key Vault secrets:
From a developer's perspective, Key Vault APIs accept and return secret values as strings. Internally, Key Vault stores and manages secrets as sequences of octets (8-bit bytes), with a maximum size of 25k bytes each.
因此,只要您的 JSON 低于 25k 限制,您就可以开始了。
诀窍是在 PowerShell 命令行上正确转义引号 (\`"
= backslash
, backtick
& double quote
) 以满足 JSON 和 PowerShell 格式都用于转义引号。下面是一个示例,说明如何将 JSON 字符串添加为机密的值。请注意 --value
中的文本对于每个需要转义的引号都有一个 \`"
转义序列。 PowerShell needs backtick
转义命令行上的double quote
。 JSON 字符串需要 backslash
来转义 double quote
。因此,您将 backtick
置于 backslash
和 double quote
(\`"
) 之间,从而同时满足 PowerShell 和 JSON:
az keyvault secret set `
--vault-name "<YourKeyVaultName>" `
--name "AppSecret" `
--description "An optional description" `
--disabled false `
--value "{\`"type\`":\`"XXXXXX\`",\`"project_id\`":\`"XXXXXX\`",\`"private_key_id\`":\`"XXXXXXXX\`"}"