我使用所有默认设置(将kubernetes版本更改为1.13.4除外)创建了一个主,一个工作组kubeadm集群。特别是,仅启用了节点和RBAC授权,并且我正在使用默认的管理凭据来访问群集,该群集通过客户端证书将我认证为用户kubernetes-admin和group system:masters(绑定到cluster-admin clusterrole)
然后我删除了cluster-admin clusterrole,但是我仍然具有完全访问权限,例如列出了pod。为什么是这样?我注意到cluster-admin clusterrole会在一段时间后恢复,但是在此期间,我希望我的权限不存在。
kubeadm版本:
kubeadm version: &version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.4", GitCommit:"c27b913fddd1a6c480c229191a087698aa92f0b1", GitTreeState:"clean", BuildDate:"2019-02-28T13:35:32Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"linux/amd64"}
kubernetes版本:1.13.4
答案 0 :(得分:3)
system:masters
组(在我的客户证书上设置为组织)可以绕过RBAC检查:https://github.com/kubernetes/kubernetes/blob/master/pkg/registry/rbac/escalation_check.go#L38-L44