练习 - 创建 Key Vault 并存储机密
为应用程序创建 Key Vault
最佳做法是为每个应用程序的每个部署环境(例如开发、测试和生产环境)创建单独的保管库。 可使用单个保管库存储多个应用和环境的机密,但随着保管库中机密数量的增加,攻击者获取保管库的读取访问权限带来的影响也会变大。
提示
如果为针对不同环境的应用程序机密使用相同的名称,则唯一需要在应用中更改的环境特定配置是保管库 URL。
无需任何初始配置,即可创建保管库。 你的用户标识自动具备一整套机密管理权限。 你可立即开始添加机密。 具备保管库后,可通过任何 Azure 管理接口(例如 Azure 门户、Azure CLI 和 Azure PowerShell)添加和管理机密。 如果将应用程序设置为使用保管库,则需要向其分配适当的权限,如下一单元所述。
创建 Key Vault 并在其中存储机密
公司当前在应用程序机密方面面临种种问题,管理部门要求你创建一个小型入门应用,以帮助其他开发人员步入正轨。 此应用需要展示尽量安全、简单地管理机密的最佳做法。
首先,创建保管库,并在其中存储一个机密。
创建 Key Vault
密钥保管库名称必须全局唯一,因此请选择一个唯一名称。 保管库名称长度必须介于 3 和 24 字符之间,只能包含字母数字字符和短划线。 记录所选的保管库名称,因为本练习全程都要用到它。
若要创建保管库,请在 Azure Cloud Shell 中运行以下命令。 请确保在 --name
参数中输入唯一的保管库名称。
az keyvault create \
--resource-group "<rgn>[sandbox resource group name]</rgn>" \
--location centralus \
--name <your-unique-vault-name>
完成后,便会看到描述新保管库的 JSON 输出。
提示
命令使用了名为
添加密钥
现在,添加机密。 我们的机密命名为 SecretPassword
,其值为 reindeer_flotilla
。 确保将 <your-unique-vault-name>
替换为在 --vault-name
参数中创建的保管库名称。
az keyvault secret set \
--name SecretPassword \
--value reindeer_flotilla \
--vault-name <your-unique-vault-name>
你很快就会编写应用的代码,但首先需要简要了解一下应用将如何向保管库进行身份验证。