kubernetes RBAC DENY没有阻止访问

时间:2017-12-18 14:08:39

标签: kubernetes

我正在运行一个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] map []}

  I1218 13:30:38.644297 5 rbac.go:116] RBAC DENY:用户“< other_user >” groups [“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]

为什么api在RBAC DENY之后进入GET(并最终返回秘密以回应我的kubectl cmd)?

fwiw我的kubectl cmd是:kubectl get secrets --namespace prod --as <other_user>

我怀疑有另一个授权者允许它,虽然我已经做了我知道的所有事情以确保没有(ABAC应该被禁用,因为我在1.8,谷歌云控制台显示它被禁用,而且我在 gcloud beta容器集群的响应中看到“legacyAbac:{}”描述

1 个答案:

答案 0 :(得分:2)

GKE启用RBAC授权程序和咨询GKE IAM的webhook授权程序。指定的用户名是否具有通过GKE的权限?