限制Kubernetes服务帐户访问特定的名称空间

时间:2018-10-03 13:20:59

标签: kubernetes service-accounts

我创建了一个服务帐户,其中包含默认的群集角色“视图”,这使其可以在拥有视图权限的情况下访问我们的所有资源。

但是我想添加一个限制,以便该服务帐户无法访问我们的名称空间之一。

任何想法我该如何实现?

Br,

蒂姆

2 个答案:

答案 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