[英]Istio Envoy Proxy forwarding client certificate info
我們有一個帶有Istio 1.0(帶有Envoy代理)和其他內容的Kubernetes集群。 我們使用Istio的網關來驗證客戶端證書。 我們希望將客戶證書的主題傳遞給內部服務。
這里特使的文檔中我發現了以下配置選項: forward_client_cert
使傳遞頭以及其他信息的主題x-forwarded-client-cert
,但我找不到,使其能夠在Istio的方式。
有沒有人嘗試做類似的事情並且成功了? 還是Istio不支持這一點?
這是一個較晚的答案,但是1.1.0版本支持轉發客戶端證書詳細信息。 這是https網關的默認行為,但是,您需要全局啟用雙向TLS才能起作用。 為此,請應用以下MeshPolicy
對象:
apiVersion: "authentication.istio.io/v1alpha1"
kind: "MeshPolicy"
metadata:
name: "default"
spec:
peers:
- mtls: {}
應用此功能后,對入口的https調用會將X-Forwarded-Client-Cert
標頭X-Forwarded-Client-Cert
到服務器。
但是請記住,一旦啟用了全局mtl,群集中的服務到服務調用也必須使用tls。 這可以通過創建一個完成DestinationRule
與設置模式每個服務ISTIO_MUTUAL
(或MUTUAL
如果你想使用自己的客戶端證書,而不是由城堡生成的那些):
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
name: myApp
namespace: default
spec:
host: myApp
trafficPolicy:
tls:
mode: ISTIO_MUTUAL
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.