TKE 提供了对接 Kubernetes RBAC 的授权模式,便于对子账号进行细粒度的访问权限控制。该授权模式下,可通过容器服务控制台及 kubectl 两种方式进行集群内资源访问。如下图所示:
基于角色的权限控制。通过角色关联用户、角色关联权限的方式间接赋予用户权限。
在 Kubernetes 中,RBAC 是通过 rbac.authorization.k8s.io
API Group 实现的,即允许集群管理员通过 Kubernetes API 动态配置策略。
用于定义某个命名空间的角色的权限。
用于定义整个集群的角色的权限。
将角色中定义的权限赋予一个或者一组用户,针对命名空间执行授权。
将角色中定义的权限赋予一个或者一组用户,针对集群范围内的命名空间执行授权。
如需了解更多信息,请前往 Kubernetes 官方说明。
Kubernetes APIServer 支持丰富多样的认证策略,例如 x509 证书、bearer token、basic auth。其中,仅 bearer token 单个认证策略支持指定 known-token csv 文件的 beaer token、serviceaccount token、OIDC token、webhook token server 等多种 token 认证方式。
TKE 分析了实现复杂性及多种场景等因素,选择使用 x509 证书认证方式。其优势如下:
TKE 基于 x509 证书认证实现了以下功能:
tke:admin
权限的账号进行查看、更新其他子账号的证书。Kubernetes 包含 RBAC 及 Webhook Server 两种主流授权模式。为给熟悉 Kubernetes 的用户提供一致性体验,并且需要与原生 Kubernetes 结合使用,TKE 选择使用 RBAC 模式。该模式提供了预设 Role 及 ClusterRole,用户只需要在集群内创建相应的 RoleBinding 和 ClusterRoleBinding 即可实现授权变更。其优势如下:
通过 TKE 提供的授权管理功能,您可以进行更细粒度的权限控制。例如,仅赋予某个子账号只读权限或仅赋予某个子账号下的某个命名空间读写权限等。可参考以下文档,对子账号进行更细粒度的权限控制:
本页内容是否解决了您的问题?