总结
在此模块中,应用的机密配置安全保存在 Azure Key Vault 中。 应用代码使用托管标识向保管库进行身份验证,并在启动时自动将保管库中的机密加载到内存中。
清除
完成本模块后,沙盒会自动清理资源。
使用自己的订阅时,最好在项目结束时确定是否仍然需要所创建的资源。 让资源保持运行状态会耗费成本。 可以逐个删除资源,也可以删除资源组以删除整个资源集。
要清理 Cloud Shell 存储,请删除“KeyVaultDemoApp”目录。
后续步骤
如果这是真正的应用,后续步骤是什么?
- 将所有应用机密放入保管库! 没有任何理由将它们放在配置文件中。
- 继续开发应用。 生产环境已全部设置完毕,因此在将来部署时无需重复所有设置。
- 要支持开发,请创建一个开发环境保管库,其中包含具有相同名称但不同值的机密。 向开发团队授予权限,并在应用的开发环境配置文件中配置保管库名称。 配置取决于实现:对于 ASP.NET Core,
AddAzureKeyVault
会自动检测 Visual Studio 和 Azure CLI 的本地安装,并使用在这些应用中配置的 Azure 凭据登录和访问保管库。 对于 Node.js,可以使用对保管库的权限创建开发环境服务主体,并使用loginWithServicePrincipalSecret
验证应用。 - 创建更多环境,用于用户验收测试等目的。
- 将不同订阅和资源组中的保管库分开,以将其隔离。
- 向相应人员授予对其他环境保管库的访问权限。
延伸阅读
- Key Vault 文档
- 详细了解 AddAzureKeyVault 及其高级选项
- 本教程使用 Key Vault
SecretClient
进行演练,包括使用客户端密码而非托管标识来手动对其进行 Microsoft Entra ID 身份验证。 - Azure 资源的托管标识令牌服务文档,用于自行实现身份验证工作流。