你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用 Azure 密钥保管库的最佳做法

Azure 密钥保管库会保护加密密钥和机密(例如证书、连接字符串和密码)。 本文有助于优化密钥保管库的使用。

使用单独的密钥保管库

我们的建议是在每个区域中,对每个环境(开发环境、预生产环境和生产环境)的每个应用程序使用一个保管库。 精细隔离有助于避免跨应用程序、环境和区域共享机密,还可以在发生违规时减少威胁。

为何建议使用单独的密钥保管库

密钥保管库为存储的机密定义安全边界。 将机密分组到同一保管库会增加安全事件的冲击半径,因为攻击可能能够跨关注点访问机密。 若要缓解跨关注点访问机密这一情况,请考虑特定应用程序应有权访问哪些机密,然后根据此描述分离密钥保管库。 按应用程序分离密钥保管库是最常见的边界。 但是,对于大型应用程序(例如,每组相关服务),安全边界可能更为精细。

控制对保管库的访问权限

加密密钥和机密(例如证书、连接字符串和密码)是敏感的业务关键型信息。 你需要保护对密钥保管库的访问,方式是仅允许已经授权的应用程序和用户进行访问。 Azure 密钥保管库安全功能提供密钥保管库访问模型的概述。 它介绍了身份验证和授权。 还介绍了如何保护对密钥保管库的访问。

控制对保管库的访问权限的建议如下:

  • 使用基于角色的访问控制 (RBAC) 锁定对订阅、资源组和密钥保管库的访问权限。
  • 在密钥保管库范围为需要永久访问密钥保管库的应用程序、服务和工作负载分配 RBAC 角色
  • 使用 Privileged Identity Management (PIM),为需要对密钥保管库进行特权访问的操作员、管理员和其他用户帐户分配符合条件的实时 RBAC 角色
    • 至少需要一个审批者
    • 实施多重身份验证
  • 使用专用链接防火墙和虚拟网络限制网络访问

为保管库启用数据保护

启用清除保护以防止恶意或意外删除机密和密钥保管库,即使启用了软删除也应启用此功能。

有关详细信息,请参阅 Azure 密钥保管库软删除概述

启用日志

为保管库启用日志记录。 此外,设置警报

备份

清除保护可防止恶意和意外删除保管库对象,最长可达 90 天。 在清除保护不可行的情况下,建议备份保管库对象,这些对象无法从保管库中生成的加密密钥等其他来源重新创建。

有关备份的详细信息,请参阅 Azure Key Vault 备份和还原

多租户解决方案和 Key Vault

多租户解决方案基于体系结构构建,其中组件可用于为多个客户或租户提供服务。 多租户解决方案通常用于支持软件即服务 (SaaS) 解决方案。 如果要构建包含 Key Vault 的多租户解决方案,请查看多租户和 Azure Key Vault

常见问题:

能否使用 Key Vault 基于角色的访问控制 (RBAC) 权限模型对象范围分配来为 Key Vault 中的应用程序团队提供隔离?

否。 RBAC 权限模型允许将密钥保管库中单个对象的访问权限分配给用户或应用程序,但仅用于读取。 网络访问控制、监视和对象管理等任何管理操作都需要保管库级权限。 可以为每个应用程序创建一个密钥保管库,以此为应用程序团队中的操作员提供安全隔离。

后续步骤

详细了解密钥管理最佳做法: