【发布时间】:2020-04-08 18:01:25
【问题描述】:
我知道有很多类似的问题,但就我浏览过的而言,它们都没有解决方案。 谈到这个问题,我创建了一个服务帐户(使用命令)、角色(使用 .yaml 文件)、角色绑定(使用 .yaml 文件)。该角色仅授予对 pod 的访问权限。但是,当我使用附加角色的 SA 登录仪表板(令牌方法)时,我可以不受任何限制地查看所有资源。这是我使用的文件和命令。
角色.yaml:
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
namespace: assembly-prod
name: testreadrole
rules:
- apiGroups: [""]
resources: ["pods"]
verbs: ["get", "watch", "list"]
RoleBinding.yaml
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: testrolebinding
namespace: assembly-prod
subjects:
- kind: ServiceAccount
name: testsa
apiGroup: ""
roleRef:
kind: Role
name: testreadrole
apiGroup: rbac.authorization.k8s.io
用于创建服务帐户的命令:
kubectl create serviceaccount <saname> --namespace <namespacename>
更新:我创建了一个服务帐户并且没有附加任何类型的角色。当我尝试使用此 SA 登录时,它让我通过并且我能够执行各种活动,包括删除“秘密”。因此,默认情况下,所有 SA 都假定具有管理员访问权限,这就是我的上述角色不起作用的原因。这种行为是预期的,如果是,那么我该如何改变它?
【问题讨论】:
标签: kubernetes dashboard rbac