Настройка EnvoyFilter в Istio для "set_current_client_cert_details" - PullRequest
0 голосов
/ 02 августа 2020

У меня есть сценарий, в котором я завершаю TLS-трафик c на моем шлюзе Istio Ingress и перенаправляю его в соответствующие службы. Также должны быть установлены mTls и ISTIO_MUTUAL. Мне нужно проверить сертификат клиента, который отправляется при вызове нашего Ingress-Gateway в кластере, и я планирую сделать это в коде, для которого мне нужно, чтобы весь сертификат был перенаправлен на мой сервисный код.

Я пробовал настройка EnvoyFilter, как показано ниже:

apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
  name: xfcc-forward
  namespace: xfcc
spec:
  workloadSelector:
    labels:
      istio: ingressgateway
  configPatches:
  - applyTo: HTTP_FILTER
    match:
      context: GATEWAY
      listener:
        filterChain:
          sni: "*"
    patch:
      operation: MERGE
      value:
        set_current_client_cert_details:
            cert: true

Это не удается при применении, и я предполагаю, что это может быть потому, что я неправильно его настраиваю. Может ли кто-нибудь помочь мне с правильной конфигурацией EF для моего сценария.

1 Ответ

2 голосов
/ 02 августа 2020

Я думаю, что у меня есть конфигурация, работающая с этим:

apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
  name: xfcc-forward
  namespace: xfcc
spec:
  configPatches:
  - applyTo: NETWORK_FILTER
    match:
      context: GATEWAY
      listener:
        filterChain:
          filter:
            name: "envoy.http_connection_manager"
    patch:
      operation: MERGE
      value:
        typed_config:
          "@type": "type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager"
          forward_client_cert_details: ALWAYS_FORWARD_ONLY
          set_current_client_cert_details:
            subject: true
            cert: true
            chain: true

Я вижу заголовок XF CC со значениями сертификатов, но сертификаты переданы Citadel для mTls, а не тот, который клиент отправил в заголовке, на который я все еще смотрю.

...