方法1:Ingress TLS passthrough,JWT Validation at Sidecars
-
工作流程
- 用户(客户端)自行向SSO进行身份验证并取得JWT(图中未显示该过程);
- Istio Ingress Gateway将请求和JWT转发至目标服务相关的工作负载(图中的ProductPage Pod)的istio-proxy容器;
- ProductPage Pod的istio-proxy容器根据相关的RequestAuthentication和AuthorizationPolicy验证JWT;
- 若JWT有效,则开放/productpage给用户,否则,将返回错误消息(RBAC denied);
-
优点
- 方法简便,只需要两个相关的CR对象
- 基于JWT,实现细粒度的授权
-
缺点
- 无OIDC工作流:用户必须要自己获取JWT,并自行附加于HTTP请求之上;
- 需要为每个应用各自定义RequestAuthentication和AuthorizationPolicy CR资源;