更改默认serviceacccount的权限

时间:2017-04-24 15:44:28

标签: kubernetes

如何更改每个命名空间中创建的默认serviceaccount的权限?我已经尝试将它绑定到一个权限很少的角色,但由于权限已经联合,它并没有改变我可以用serviceaccount令牌做什么。我想要的最终状态是默认的serviceaccount,无法访问/ api / vi / secrets。

有没有一种优雅的方法可以做到这一点,还是我最好用我想要的权限在每个命名空间中创建自己的“默认”serviceaccount?

2 个答案:

答案 0 :(得分:0)

您在群集中使用了哪种授权模式和策略?

RBAC和ABAC本身并不授予服务帐户任何权限。

检查您使用的策略,并删除授予所有服务帐户API访问权限的所有规则,然后向您希望有权访问的特定服务帐户或服务帐户组授予权限。

答案 1 :(得分:0)

我们想出了这个,我想我会在这里发布解决方案。

问题是,一旦k8s 1.6和RBAC来到GKE,他们就不想破坏使用serviceaccounts的所有内容,因为他们突然发现自己没有任何权限。谷歌所做的是他们为用户启用了RBAC,但不支持服务帐户,除非您在群集上启用 - no-enable-legacy-authorization

TL; DR没有授予默认的servieceaccount权限,而是所有服务帐户都具有完全权限,因为RBAC未启用serviceaccounts。