基于角色的访问控制 (RBAC) 是一种用于定义用户帐户可以在 Kubernetes 集群中执行的操作的机制。启用 RBAC 可以降低与凭证盗窃和帐户接管相关的风险。向每个用户授予他们所需的最低权限集可以防止帐户拥有过多的特权。
大多数流行的 Kubernetes 发行版都从单个用户帐户开始,该帐户被授予对集群的超级用户访问权限。通过验证此帐户可以让您执行任何操作,但可能会带来重大的安全风险。
在本文中,我们将展示如何启用和配置 Kubernetes RBAC API,以便您可以精确定义用户功能。对于某些用户来说,通常只能创建和列出 Pod,而管理员也可以删除项目。您可以使用 RBAC 系统设置和实施这些策略。
在 Kubernetes 中启用 RBAC
RBAC 是一项可选的 Kubernetes 功能,但大多数主要发行版默认情况下都将其打开,包括来自托管云提供商的发行版。您可以通过使用 Kubectl运行以下命令来检查 RBAC 在集群中是否可用:
$ kubectl api-versions | grep rbac.authorization.k8s
rbac.authorization