在 Azure 容器应用中配置客户端证书身份验证

Azure 容器应用支持客户端证书身份验证(也称为相互 TLS 或 mTLS),后者允许通过双向身份验证访问容器应用。 本文介绍如何在 Azure 容器应用中配置客户端证书授权。

使用客户端证书时,TLS 证书会在客户端和容器应用之间交换,以验证身份并加密流量。 客户端证书通常用于“零信任”安全模型,以便进行组织内客户端访问授权。

例如,对于管理敏感数据的容器应用,你可以要求客户端证书。

容器应用接受 PKCS12 格式的客户端证书,这些证书是由受信任的证书颁发机构 (CA) 颁发的,或者是自签名的。

配置客户端证书授权

若要配置对客户端证书的支持,请在容器应用模板中设置 clientCertificateMode 属性。

此属性可以设置为下列值之一:

  • require:对容器应用的所有请求都需要客户端证书。
  • accept:客户端证书是可选的。 如果未提供客户端证书,则仍会接受请求。
  • ignore:忽略客户端证书。

如果设置了 requireaccept,入口会将客户端证书传递给容器应用。

以下 ARM 模板示例将入口配置为要求对容器应用的所有请求都必须提供客户端证书。

{ 
  "properties": {
    "configuration": {
      "ingress": {
        "clientCertificateMode": "require"
      }
    }
  }
}

后续步骤