【问题标题】:Extract information from client certificate using ISTIO使用 ISTIO 从客户端证书中提取信息
【发布时间】:2021-10-07 12:20:16
【问题描述】:

我打算使用 ISTIO 来实现服务网格,并在服务之间使用 mTLS。

有些服务需要一些关于客户端的信息,例如来自客户端证书的 CN。

如何配置 ISTIO 以从客户端证书中提取 CN 并将其插入到自定义标头中?

【问题讨论】:

  • 您能否提供有关您的用例的更多信息?你已经尝试了什么?您有任何可以共享的部署文件吗?这对于进一步的故障排除很有用。
  • 您想从 Istio 用于 mTLS 的证书中获取 CN?这对您的应用应该是透明的。
  • @suren - 是的。 APP将如何获取该信息? SSL 终止发生在服务之前的边车中。
  • @JeraldBaker 你可以使用X-Forwarded-Client-Cert Headers
  • @JeraldBaker 有什么进展吗?

标签: kubernetes istio envoyproxy istio-sidecar servicemesh


【解决方案1】:

使用来自 istio doc 的主题解析器

您可以将 %DOWNSTREAM_PEER_SUBJECT% 添加到您的服务 VirtualService:

http:
- match:
  - uri:
      prefix: ###
  route:
  - destination:
      host: # service name
      port:
        number: # service port
    headers:
      request:
        set:
          X-CLIENT-SSL-CN: "%DOWNSTREAM_PEER_SUBJECT%"

然后将它放在“X-Client-Ssl-Cn”的请求标头中

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-13
    • 1970-01-01
    • 2014-07-07
    • 1970-01-01
    • 2021-10-22
    相关资源
    最近更新 更多