【发布时间】:2017-12-18 23:24:48
【问题描述】:
我正在运行一个 gke 1.8.4 集群,并发现允许访问资源的请求存在问题,即使 RBAC 拒绝了它们
来自 logs/kube-apiserver.log(我已经用 italics> 替换了我的用户名和我正在模拟的用户名):
I1218 13:30:38.644205 5 httplog.go:64] &{my_user> [system:authenticated] map[]} 充当 &{other_user> [system:authenticated] 地图[]}
I1218 13:30:38.644297 5 rbac.go:116] RBAC 拒绝:用户“other_user>”组 [“system:authenticated”] 无法在命名空间“prod”中“列出”资源“秘密”
I1218 13:30:38.676079 5 wrap.go:42] GET /api/v1/namespaces/prod/secrets: (32.043196ms) 200 [[kubectl/v1.8.4 (linux/amd64) kubernetes/9befc2b]
为什么在 RBAC DENY 之后 api 继续进行 GET(并最终返回秘密以响应我的 kubectl cmd)?
我的 kubectl cmd 是:kubectl get secrets --namespace prod --as <other_user>
我怀疑还有另一个授权人允许它,尽管我已经做了我所知道的一切以确保没有(ABAC 应该被禁用,因为我在 1.8 上,谷歌云控制台显示它被禁用,我在 gcloud beta container clusters describe)的响应中看到“legacyAbac: {}”)
【问题讨论】:
标签: kubernetes