Настройка EnvoyFilter для пересылки клиентских сертификатов в Istio - PullRequest
1 голос
/ 04 августа 2020

Вот как выглядит моя конфигурация (ссылка на общие примеры github для XF CC):

apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
  name: xfcc-forward
  namespace: istio-system
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

Пара вопросов:

  1. My IngressGateway настроен в пользовательском пространстве имен «X», должен ли я настраивать EnvoyFilter также в этом пространстве имен? Или дефолт? Или Istio-System

  2. У меня есть сценарий, в котором клиент вне моего кластера вызывает мой API и передает сертификат в заголовке (я выполняю завершение TLS на шлюзе и настроил глобальный mtls и ISTIO_MUTUAL на стороне клиента), и мне нужно передать этот сертификат моей службе в кластере. К сожалению, с приведенными выше конфигурациями заголовок XF CC содержит сведения о сертификатах только внутренних сертификатов от Citadel, а не от клиента. Мне что-то не хватает здесь c?

Заранее спасибо!

...