【发布时间】:2020-08-31 23:28:37
【问题描述】:
在设置授权策略方面需要帮助。使用 Istio 版本的 Kubernetes 本地设置:1.5.1
在没有授权策略时获得 200 Ok。应用授权策略时的 503 响应代码。
Ingressgateway 访问日志(在没有授权策略时工作)
[2020-05-15T07:08:30.278Z] "GET /v1/delegation/test HTTP/1.1" 200 - "-" "-" 0 4 81 79 "10.40.172.33,10.32.0.1" "Mozilla/5.0 (Windows NT 10.0; WIN64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36" “a19876b4-12ee-9172-aa93-e405a1a89c6b” “[替换服务器名称]” “10.32.0.150:9091” 出站|9091||[REPLACED].[REPLACED-NAMESPACENAME].svc.cluster.local 10.32.0.153:56224 10.32.0.153:80 10.32.0.1:15044 - -
对应应用pod Istio-proxy日志(工作时没有授权策略)
[2020-05-15T07:08:30.279Z] “- - -” 0 - “-” “-” 1805 142 60133 - “-” “-” “-” “-” “127.0.0.1:9091” 入站|9091||[REPLACED].[REPLACED-NAMESPACENAME].svc.cluster.local 127.0.0.1:33222 10.32.0.150:9091 10.32.0.153:56224 outbound_.9091_._.[REPLACED].[REPLACED-NAMESPACENAME].svc.cluster.local
实施以下授权政策
$ cat [REPLACED]-auth-policy.yaml apiVersion: security.istio.io/v1beta1 kind: AuthorizationPolicy metadata: name: [REPLACED]-auth-policy namespace: [REPLACED-NAMESPACENAME] spec: selector:
matchLabels:
app: [REPLACED] action: ALLOW rules:
- to:
- operation:
paths: ["/v1/delegation/test"]
authorizationpolicy.security.istio.io/[REPLACED]-auth-policy created
Ingressgateway 访问日志(当授权策略应用时不起作用)
[2020-05-15T07:12:54.333Z] "GET /v1/delegation/test HTTP/1.1" 503 UC "-" "-" 0 95 9 - "10.40.172.33,10.32.0.1" "Mozilla/5.0 (Windows NT 10.0; WIN64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36" “b1177978-3151-9629-b8cf-d97f6dc40fb6” “[替换服务器名称]” “10.32.0.150:9091” 出站|9091||[REPLACED].[REPLACED-NAMESPACENAME].svc.cluster.local 10.32.0.153:60850 10.32.0.153:80 10.32.0.1:33145 - -
对应的applicaiton pod Istio-proxy日志(当授权策略applied时不工作)
[2020-05-15T06:43:07.789Z] “- - -” 0 - “-” “-” 968 1796 1764128 - “-” "-" "-" "-" "10.41.88.60:1282" PassthroughCluster 10.32.0.150:52592 10.41.88.60:1282 10.32.0.150:52590 - - [2020-05-15T07:12:54.334Z] “- - -” 0 - “-” “-” 0 0 8 - “-” “-” “-” "-" "127.0.0.1:9091" 入站|9091||[REPLACED].[REPLACED-NAMESPACENAME].svc.cluster.local 127.0.0.1:37848 10.32.0.150:9091 10.32.0.153:60850 outbound_.9091_._.[REPLACED].[REPLACED-NAMESPACENAME].svc.cluster.local - [2020-05-15T06:43:38.749Z] “- - -” 0 - “-” “-” 968 1796 1757489 - “-” “-” “-” “-” “10.41.88.60:1282” PassthroughCluster 10.32.0.150:53270 10.41.88.60:1282 10.32.0.150:53268 - -
【问题讨论】:
-
也许是因为严格的 mtls?如果您将其更改为宽容怎么办?如果您想检查是否有一个 example 严格,请将 STRICT 更改为 PERMISSIVE 并将其应用于您的集群。
-
@jt97 感谢您的回复。未启用 mtls。我也看不到任何 PeerAuthentication。
标签: authorization istio