Azure 密钥保管库证书管理 X.509 证书及其关联的私钥,用于 TLS/SSL、身份验证和代码签名。 本文提供特定于证书管理的安全建议。
注释
本文重点介绍特定于密钥保管库证书的安全做法。 有关全面的密钥保管库安全指南,包括网络安全、标识和访问管理和保管库体系结构,请参阅 Secure Azure 密钥保管库。
证书存储和格式
密钥保管库证书将 X.509 证书与其私钥相结合,并提供自动化管理功能:
存储证书,而不是机密:始终使用密钥保管库证书对象类型,而不是将证书存储为机密。 证书对象提供:
- 自动化生命周期管理
- 与证书颁发机构(CA)集成
- 自动续订功能
- 内置版本控制
使用受信任的证书颁发机构:与受支持的 CA 集成,以便自动颁发和续订:
- DigiCert
- GlobalSign
- 其他集成证书颁发机构
正确导入外部证书:从外部源导入证书时:
- 使用 PFX 或 PEM 格式
- 包括完整的证书链
- 在导入期间保护私钥
请参阅 导入证书。
有关证书的详细信息,请参阅 About Azure 密钥保管库 证书。
证书生命周期管理
实现适当的证书生命周期管理,以防止过期和中断:
启用自动续订:为集成 CA 颁发的证书配置自动续订。 有关详细信息,请参阅“续订Azure 密钥保管库证书”。
提前设置续订窗口:将证书配置为在证书过期之前进行续订。 一种常见做法是在证书有效期达到约 80% 时触发续订。 根据 CA 的签发延迟和变更控制流程调整此值。
监视证书过期:使用事件网格
Microsoft.KeyVault.CertificateNearExpiry事件(在过期前 30 天触发),以及Microsoft.KeyVault.CertificateExpiredMicrosoft.KeyVault.CertificateNewVersionCreated跟踪整个生命周期。 有关详细信息,请参阅Azure 密钥保管库作为事件网格源。维护证书清单:跟踪所有证书、用途、拥有应用程序和到期日期。
有关续订的详细信息,请参阅
证书访问控制
控制谁可以访问和管理证书:
分离证书权限:使用 Azure RBAC 以授予特定证书权限:
- 密钥保管库证书用户:读取证书和公钥。
- 密钥保管库证书官员:管理证书生命周期(创建、导入、续订、删除)。
- 密钥保管库清除操作员:在软删除保留期内清除已删除的证书。
有关内置角色的完整列表,请参阅Azure 中用于 密钥保管库 数据平面操作的内置角色。
限制管理访问权限:仅限授权人员进行证书管理操作
使用托管标识:应用程序应使用托管标识而不是使用存储凭据的服务主体访问证书
请参阅 使用 Azure RBAC 提供对 密钥保管库 证书的访问权限。
证书颁发策略
配置证书策略以强制实施安全要求:
设置适当的有效期:
- TLS/SSL 证书:最多 1 年(每个 CA/浏览器论坛基线要求)
- 内部证书:根据组织政策设置有效期,并尽可能将其缩短到轮换自动化所支持的最短时间。
- 代码签名证书:遵循目标平台的行业标准。
使用强键算法:
- RSA:2048 位最低,4096 位,适合高安全性方案
- EC:P-256、P-384 或 P-521 曲线
配置使用者可选名称(SAN):包括所有必需的 DNS 名称和 IP 地址
设置密钥用法扩展:指定适当的密钥用法(数字签名、密钥加密)和扩展密钥用法(服务器身份验证、客户端身份验证)
有关证书策略的详细信息,请参阅 About Azure 密钥保管库 证书创建。
证书监视和警报
跟踪证书操作和生命周期事件。
启用诊断日志记录:记录所有证书作,包括:
- 证书创建和导入
- 证书续订尝试(成功/失败)
- 证书访问(获取证书,获取私钥)
- 证书删除
请参阅 Azure 密钥保管库 日志记录。
配置过期警报:为 Azure Monitor 设置警报:
- 证书在 30 天内过期
- 续订尝试失败
- 未经授权身份对证书的访问
请参阅 Azure 密钥保管库 的监控和警报。
查看证书使用情况:定期审核使用每个证书的应用程序和服务
证书导出和备份
在维护安全性的同时保护证书可用性:
控制导出作:限制谁可以使用私钥导出证书(证书策略中的可导出标志)
启用软删除:在保留期内恢复意外删除的证书(7-90 天)。 请参阅 Azure 密钥保管库 软删除概述
启用清除保护:防止在保留期内永久删除。 请参阅 清除保护
备份关键证书:导出并安全地存储用于灾难恢复的证书备份。 请参阅 Azure 密钥保管库 backup
保护导出的证书:导出证书时:
- 对 PFX 文件使用强密码
- 将导出的文件存储在安全位置
- 使用后删除临时文件
- 审核导出操作
证书透明度和符合性
保持对证书颁发的可见性:
了解证书透明度(CT)行为:对于通过密钥保管库集成证书颁发机构颁发的公开信任证书,CA 会处理 CT 日志提交 - 你无法在密钥保管库中启用它。 在注册过程中,受公众信任的证书和元数据会传出 Azure 边界,并根据浏览器信任要求记录在公共 CT 日志中。 有关详细信息,请参阅 About Azure 密钥保管库 证书中的外部 CA 和 CT 日志处理说明。
文档证书用途:维护记录:
- 证书用途和所属应用程序
- 证书颁发审批过程
- 证书续订过程
自签名证书
使用自签名证书进行测试或内部用途时:
限制为非生产环境:自签名证书不应在生产环境中用于可公开访问的服务
设置适当的有效期:对自签名证书使用较短的有效期(90 天或更少)
管理信任分发:记录如何向客户端分发自签名证书信任
计划迁移到 CA 颁发的证书:制定策略,将自签名证书替换为用于生产的 CA 颁发的证书
有关自签名证书的详细信息,请参阅
相关安全文章
- 保护Azure 密钥保管库:全面的密钥保管库安全指南。
- 保护Azure 密钥保管库密钥:加密密钥的安全最佳做法。
- 保护Azure 密钥保管库机密:机密的安全最佳做法。
后续步骤
- Azure 密钥保管库 证书介绍
- 重新更新Azure 密钥保管库证书
- 教程:配置 密钥保管库 中的证书自动轮换
- 将 密钥保管库 与证书颁发机构集成