我创建了一个服务帐户,其中包含默认的群集角色“视图”,这使其可以在拥有视图权限的情况下访问我们的所有资源。
但是我想添加一个限制,以便该服务帐户无法访问我们的名称空间之一。
任何想法我该如何实现?
Br,
蒂姆
答案 0 :(得分:3)
Kubernetes仅具有两个权限范围:Cluster({ClusterRole
)或Namespace(Role
),并且无法将ClusterRole
限制或排除到特定的命名空间。如果要将ServiceAccount限制为特定的名称空间,则不能在服务帐户应有权访问的每个名称空间中使用ClusterRole
,而必须使用Role
。
答案 1 :(得分:1)
除了其他答案外,在使用Role
时,还需要在namespace
上指定RoleBinding
。例如:
$ kubectl create rolebinding my-binding --role=myrole --user=myuser --namespace=mynamespace