gpt4 book ai didi

Azure API 管理 - 客户端证书身份验证责任?

转载 作者:行者123 更新时间:2023-12-03 02:27:34 24 4
gpt4 key购买 nike

使用 Azure API 管理网关时,可以实现客户端证书身份验证以保护对 API 的访问。您可以使用策略表达式(例如拇指检查等)验证传入请求证书。

使用客户端证书身份验证方法时,推荐的证书生成/管理流程是什么?

  1. 证明责任?
  • 我/网关所有者是否应该生成 .pfx 文件(自签名或受信任的 CA),将其导入网关服务并向外部客户端提供 .cer 以进行本地安装和身份验证?
  • 我/网关所有者是否应该生成 .pfx 文件(自签名或受信任的 CA),将 .pfx 导入到 API 管理网关服务(通常我会想象在服务器/网关上导入 .cer,但在 Azure 中似乎不可能)并向外部客户端提供 .pfx 以进行本地安装和身份验证?
  • 外部客户是否应该负责在其组织中生成其公钥/私钥对、使用 CA 进行签名、在本地安装并向我/网关所有者提供 .cer 文件以导入到网关(如上所述,不确定是否可以导入 .cer,我只读取导入过程中接受的 .pfx)或提供拇指供我在策略中存储/验证?
  • 是否有人对是否向需要访问同一 API 的客户端颁发相同(共享)证书或为每个客户端生成新证书有任何建议?他们都将使用证书来访问相同的 API(+其他身份验证方法,证书只是一个额外的步骤)。
  • 我已经准备好了在线教程,描述了上述所有要点,以及在何处实现了特定于客户端或单个 cert-per-API 的位置,因此有点困惑哪种推荐方法?

    最佳答案

    1. 最简单的方法是拥有单个颁发 CA 证书,您只需将其公钥上传到 APIM,因为这就是 APIM 验证传入证书所需的全部内容。然后您将负责生成客户端证书并将其分发给客户端。在 APIM 中,您可以设置需要证书的策略,检查其颁发者并进行验证,这应该足以确保证书有效且由您颁发。
      • 依赖自签名证书会很麻烦,因为您必须以某种方式让 APIM 了解每个新证书,而拥有共同颁发的 CA 可以让您摆脱这种担忧。
      • 允许远程客户端生成证书也是如此 - 他们必须让您知道证书,并且您需要以某种方式在 APIM 中列出它。
    2. 您可以自由决定如何分发证书,需要考虑以下几点:
      • 证书可能是您区分客户的主要方式。如果这很重要,您可能希望不同的客户端拥有不同的证书。
      • 如果您想拒绝对特定客户端的访问,您将“撤销”该证书,您需要确保其他合法客户端不会受到影响。

    关于Azure API 管理 - 客户端证书身份验证责任?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66354476/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com