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