You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MS Entra ID中OAuth 2.0客户端凭证流证书认证:密钥由谁管理?

在Microsoft Entra ID中用证书认证的客户端凭证流:密钥管理最佳实践

结论先行:永远不要管理外部服务的私钥,只处理他们提供的公钥,让外部服务自行管理私钥是正确且安全的做法

两种方案的优劣分析

方案1:我方生成密钥对并共享私钥的问题

  • 私钥是身份认证的核心凭证,一旦我方把私钥共享给外部服务,后续的风险和责任边界会完全混乱:
    • 若外部服务泄露私钥,我方很难举证是对方的管理失误;
    • 我方需要跟踪所有外部服务的私钥生命周期(轮换、吊销),运维成本会大幅增加;
    • 违背了最小权限和职责分离的安全原则,我方不应持有不属于自身业务的身份凭证。

方案2:外部服务自行生成密钥对,仅提供公钥的优势

  • 安全责任清晰:外部服务完全掌控自己的私钥,泄露或管理不当的风险由对方自行承担;
  • 运维效率更高:我方只需要把外部提供的公钥上传到Entra ID的应用注册中,不用管私钥的存储、轮换等细节;
  • 符合OAuth 2.0设计逻辑:客户端(外部服务)本就该自主管理认证凭证,服务端(我方)只需要通过公钥校验签名的有效性即可;
  • 灵活性更强:外部服务可以根据自身安全策略选择证书类型、有效期和轮换频率,不受我方统一管控的限制。

实操注意事项

  • 要求外部服务提供的公钥必须是可信的:优先选择正规CA签发的证书,若用自签证书,需先验证对方身份再接收;
  • 在Entra ID上传公钥时,要配置正确的证书用途,确保用于客户端认证;
  • 建立明确的公钥吊销流程:如果外部服务私钥泄露或合作终止,及时从应用注册中移除对应公钥,阻止其继续获取令牌。

内容的提问来源于stack exchange,提问作者Jakub Rzepka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 19:14:50