腾讯云容器服务 TKE 目前存在新旧两种授权模式,旧的授权模式无法进行 Kubernetes 级别的授权管理,建议您升级集群管理的授权模式,以便能够对集群内 Kubernetes 资源进行细粒度的权限控制。
新旧模式对比
对比项 |
旧模式 |
新模式 |
Kubeconfig |
admin token |
子账号独立的 x509 证书 |
控制台访问集群资源 |
无细粒度权限,子账号具备全读写权限 |
对接 Kubernetes RBAC 资源控制 |
存量集群授权模式升级操作
升级授权模式
若使用旧授权模式的集群需要升级时,请参考以下操作步骤进行升级:
- 登录容器服务控制台,选择左侧导航栏中的 集群 。
- 在“集群管理”页面中,选择需升级的集群 ID。
- 在集群详情页面中,选择左侧授权管理>ClusterRole。
- 在 “ClusterRole” 管理页面中,单击RBAC策略生成器。
- 在弹出的“切换权限管理模式”窗口中,单击切换权限管理模式即可进行授权模式升级。
为确保新旧模式的兼容性,升级过程中会进行如下操作:
- 创建默认预设管理员 ClusterRole:
tke:admin
。
- 拉取子账号列表。
- 为每个子账号生成可用于 Kubernetes APIServer 认证的 x509 客户端证书。
- 为每个子账号都绑定
tke:admin
角色(确保和存量功能兼容)。
- 升级完毕。
回收子账号权限
集群授权模式升级完毕后,集群管理员(通常为主账号管理员或创建集群的运维人员)可按需对具有该集群权限的子账号进行权限回收操作,步骤如下:
- 选择集群授权管理下的菜单项,在对应的管理页面中单击RBAC策略生成器。
- 在“管理权限”页面的“选择子账号”步骤中,勾选需回收权限的子账号并单击下一步。如下图所示:
- 在“集群RBAC”步骤中,设置权限。例如,“权限设置”选择为命名空间 “default” 下的“只读用户”。如下图所示:
- 单击完成即可完成回收操作。
确认子账号权限
当完成子账号回收操作后,您可通过以下步骤进行确认:
- 选择左侧的授权管理>ClusterRoleBinding,进入 “ClusterRoleBinding” 管理页面。
- 选择被回收权限的子账号名称,进入 YAML 文档页面。
子账号默认为 tke:admin
权限,回收对应权限后,可在 YAML 文件中查看变更。如下图所示:
新授权模式相关问题
在新授权模式下创建的集群,谁具备管理员 admin 权限?
集群的创建者及主账号始终具备 tke:admin
ClusterRole 的权限。
当前使用账号是否可控制自身权限?
目前不支持通过控制台操作当前使用账号权限,如需进行相关操作,可通过 kubectl 完成。
是否可以直接操作 ClusterRoleBinding 及 ClusterRole?
请勿直接对 ClusterRoleBinding 及 ClusterRole 进行修改或删除等操作。
客户端证书是如何创建的?
当您使用子账号通过控制台访问集群资源时,TKE 会获取该子账号的客户端证书。若未获取到证书,则会为该子账号创建客户端证书。
在访问管理 CAM 中删除了子账号,相关权限会自动回收吗?
支持权限自动回收,您无需再进行相关操作。
如何授权其他账户“授权管理”的权限?
可使用默认管理员角色 tke:admin
进行“授权管理”的授权操作。
本页内容是否解决了您的问题?