智汇华云 | Istio中双向TLS认证功能详解( 三 )
sleep.foo to httpbin.foo: 200
[root@master1 istio-1.6.0]# kubectl exec $(kubectl get pod -l app=sleep -n foo -o jsonpath={.items..metadata.name}) -c sleep -n foo -- curl-s | grep X-Forwarded-Client-Cert
[root@master1 istio-1.6.0]#
接下来为服务器端配置PeerAuthentication策略 , 让其强制执行双向tls认证
cat
apiVersion: "security.istio.io/v1beta1"
kind: "PeerAuthentication"
metadata:
name: "httpbin"
namespace: "foo"
spec:
selector:
matchLabels:
app: httpbin
mtls:
mode: STRICT
EOF
这时再次进行测试
[root@master1 istio-1.6.0]# kubectl exec $(kubectl get pod -l app=sleep -n foo -o jsonpath={.items..metadata.name}) -c sleep -n foo -- curl "" -s -o /dev/null -w "sleep.foo to httpbin.foo: %{http_code}\n"
sleep.foo to httpbin.foo: 503
[root@master1 istio-1.6.0]#
出现了503错误 , 这其实是一个tls冲突 , 因为截至目前为止我们为服务器端设置了强制使用双向tls认证 , 但是客户端还未设置 。
接下来设置客户端 。
cat
apiVersion: "networking.istio.io/v1alpha3"
kind: "DestinationRule"
metadata:
name: "httpbin"
spec:
host: "httpbin.foo.svc.cluster.local"
trafficPolicy:
tls:
mode: ISTIO_MUTUAL
EOF
然后进行测试 , 发现现在已经可以正常访问 , 且使用了双向tls认证 , 符合预期 。
[root@master1 istio-1.6.0]# kubectl exec $(kubectl get pod -l app=sleep -n foo -o jsonpath={.items..metadata.name}) -c sleep -n foo -- curl "" -s -o /dev/null -w "sleep.foo to httpbin.foo: %{http_code}\n"
sleep.foo to httpbin.foo: 200
[root@master1 istio-1.6.0]# kubectl exec $(kubectl get pod -l app=sleep -n foo -o jsonpath={.items..metadata.name}) -c sleep -n foo -- curl-s | grep X-Forwarded-Client-Cert
"X-Forwarded-Client-Cert": "By=spiffe://cluster.local/ns/foo/sa/httpbin;Hash=b8a73b2655b270e23eda820e49c56cc9b16521d98cb6c1896eff41c58cc32d56;Subject=\"\";URI=spiffe://cluster.local/ns/foo/sa/sleep"
[root@master1 istio-1.6.0]#
清理命令
kubectl delete PeerAuthentication httpbin -n foo
kubectl delete DestinationRule httpbin -n foo
kubectl delete -f
kubectl delete -f
kubectl delete ns foo
- 共赴“科创”盛宴 同享“智汇”金华
- 多集群istio service mesh--共享控制平面
- 华云大咖说丨安超云基座助力智慧医疗
- 竹海热线网|中数智汇11月27日首发上会 核心技术和人才助力闯关IPO
- 智汇德州|山东大学史泽露:让微生物技术走出实验室,护航德州企业绿色发展
- Istio之Sidecar注入
- 【智汇长三角 科创太湖湾】这一次,杭州又被“创新”PICK了!
- 当AI赋能攻防,华云安发布智能化渗透攻防系统
- Istio安全性
- 服务|Service Mesh框架对比:Linkerd vs. Istio