介绍 Azure Key Vault
Azure Key Vault 是一个用于安全地存储和访问机密的云服务。 机密是你想要严格控制对其的访问的任何内容,例如 API 密钥、密码、证书或加密密钥。
Azure Key Vault 有助于解决以下问题:
- 机密管理。 可使用 Key Vault 来安全地存储令牌、密码、证书、应用程序编程接口 (API) 密钥和其他机密,并严格控制对它们的访问。
- 密钥管理。 可以使用 Key Vault 作为密钥管理解决方案。 借助 Key Vault,可以更轻松地创建和控制用于加密数据的加密密钥。
- 证书管理。 借助 Key Vault,可以预配、管理和部署公用和专用安全套接字层/传输层安全性 (SSL/TLS) 证书,以用于 Azure 和内部连接的资源。
Azure Key Vault 具有两个服务层级:标准层(使用软件密钥加密)和高级层(包含受硬件安全模块 (HSM) 保护的密钥)。
为什么要使用 Key Vault?
将应用程序机密集中在一起。 通过在 Azure Key Vault 中集中存储应用程序机密,可控制其分发,并大幅减少意外泄露机密的几率。 使用 Key Vault,应用程序开发人员再也无需将安全信息作为代码的一部分存储在其应用程序中。 取而代之的是,应用程序可以通过使用 Key Vault 对象标识符安全地访问所需信息,该标识符可唯一标识 Key Vault 中的对象。 Key Vault 对象标识符是允许应用程序检索特定版本的机密的 URL。 无需编写自定义代码即可保护 Key Vault 中存储的任何机密信息。
标准层 Azure Key Vault 对象标识符和高级层托管 HSM 的 URL 格式示例如下:
对于标准层保管库:https://{vault-name}.vault.azure.net/{object-type}/{object-name}/{object-version}
对于托管 HSM:https://{hsm-name}.managedhsm.azure.net/{object-type}/{object-name}/{object-version}
安全存储机密和密钥。 访问密钥保管库需要适当的身份验证和授权,否则调用方(用户或应用程序)无法进行访问。 身份验证用于确定调用方的身份,而授权则决定了调用方能够执行的操作。
身份验证通过 Microsoft Entra 完成。 授权可以通过 Azure 基于角色的访问控制 (Azure RBAC) 或 Key Vault 访问策略来完成。
Azure Key Vault 经过精心设计,Microsoft 无法看到或提取你的数据。
监视访问和使用。 创建多个密钥保管库后,可通过启用保管库的日志记录来监视活动。 可以控制自己的日志,可以通过限制访问权限来确保日志的安全,还可以删除不再需要的日志。
简化应用程序机密管理。 Azure Key Vault 简化了保护应用程序机密通常所需的管理,包括:
- 在某个区域内复制 Key Vault 的内容,并将其复制到次要区域。 数据复制可确保高可用性,不需管理员操作即可触发故障转移。
- 通过门户、Azure CLI 和 PowerShell 提供标准的 Azure 管理选项。
- 自动执行从公共证书颁发机构 (CA) 购买的证书上的某些任务,例如注册和续订。
另外,还可以通过 Azure Key Vault 来隔离应用程序机密。 应用程序只能访问其有权访问的保管库,并且只能执行特定的操作。 可以为每个应用程序创建一个 Azure Key Vault,仅限特定的应用程序和开发人员团队访问存储在 Key Vault 中的机密。