有奖捉虫:办公协同&微信生态&物联网文档专题 HOT
腾讯云容器服务 TKE 目前存在新旧两种授权模式,旧的授权模式无法进行 Kubernetes 级别的授权管理,建议您升级集群管理的授权模式,以便能够对集群内 Kubernetes 资源进行细粒度的权限控制。

新旧模式对比

对比项
旧模式
新模式
Kubeconfig
admin token
子账号独立的 x509 证书
控制台访问集群资源
无细粒度权限,子账号具备全读写权限
对接 Kubernetes RBAC 资源控制

存量集群授权模式升级操作

升级授权模式

若使用旧授权模式的集群需要升级时,请参考以下操作步骤进行升级:
1. 登录容器服务控制台,选择左侧导航栏中的 集群
2. 在“集群管理”页面中,选择需升级的集群 ID。
3. 在集群详情页面中,选择左侧授权管理 > ClusterRole
4. 在 “ClusterRole” 管理页面中,单击RBAC策略生成器
5. 在弹出的“切换权限管理模式”窗口中,单击切换权限管理模式即可进行授权模式升级。如下图所示:n

n为确保新旧模式的兼容性,升级过程中会进行如下操作:
5.1 创建默认预设管理员 ClusterRole:tke:admin
5.2 拉取子账号列表。
5.3 为每个子账号生成可用于 Kubernetes APIServer 认证的 x509 客户端证书。
5.4 为每个子账号都绑定 tke:admin 角色(确保和存量功能兼容)。
5.5 升级完毕。

回收子账号权限

集群授权模式升级完毕后,集群管理员(通常为主账号管理员或创建集群的运维人员)可按需对具有该集群权限的子账号进行权限回收操作,步骤如下:
1. 选择集群授权管理下的菜单项,在对应的管理页面中单击RBAC策略生成器
2. 在“管理权限”页面的“选择子账号”步骤中,勾选需回收权限的子账号并单击下一步。如下图所示:n


3. 在“集群RBAC”步骤中,设置权限。例如,“权限设置”选择为命名空间 “default” 下的“只读用户”。如下图所示:n


4. 单击完成即可完成回收操作。

确认子账号权限

当完成子账号回收操作后,您可通过以下步骤进行确认:
1. 选择左侧的授权管理 > ClusterRoleBinding,进入 “ClusterRoleBinding” 管理页面。
2. 选择被回收权限的子账号名称,进入 YAML 文档页面。n子账号默认为 tke:admin 权限,回收对应权限后,可在 YAML 文件中查看变更。如下图所示:n



新授权模式相关问题

在新授权模式下创建的集群,谁具备管理员 admin 权限?

集群的创建者及主账号始终具备 tke:admin ClusterRole 的权限。

当前使用账号是否可控制自身权限?

目前不支持通过控制台操作当前使用账号权限,如需进行相关操作,可通过 kubectl 完成。

是否可以直接操作 ClusterRoleBinding 及 ClusterRole?

请勿直接对 ClusterRoleBinding 及 ClusterRole 进行修改或删除等操作。

客户端证书是如何创建的?

当您使用子账号通过控制台访问集群资源时,TKE 会获取该子账号的客户端证书。若未获取到证书,则会为该子账号创建客户端证书。

在访问管理 CAM 中删除了子账号,相关权限会自动回收吗?

支持权限自动回收,您无需再进行相关操作。

如何授权其他账户“授权管理”的权限?

可使用默认管理员角色 tke:admin 进行“授权管理”的授权操作。