云容器引擎 CCE-集群权限(IAM授权):CCE集群权限与IAM RBAC
CCE集群权限与 IAM RBAC
CCE兼容IAM传统的系统角色进行权限管理,建议您切换使用IAM的细粒度策略,避免设置过于复杂或不必要的权限管理场景。
CCE当前支持的角色如下:
- IAM的基础角色:
- te_admin(Tenant Administrator):可以调用除IAM外所有服务的所有API。
- readonly(Tenant Guest):可以调用除IAM外所有服务的只读权限的API。
- CCE的自定义管理员角色:CCE Administrator。
- 由于历史原因,CCE的API中保留了对应用管理与运维平台(ServiceStage)的三个系统角色(SvcStg Administrator、SvcStg Developer、SvcStg Operator)的兼容,当前CCE和ServiceStage已经全面适配了IAM的细粒度策略进行权限管理,不建议您继续使用该系统角色进行权限管理。其在CCE侧的具体权限如下:
- SvcStg Administrator:拥有CCE Administrator相同权限,例外:拥有此角色的用户不默认具有命名空间的权限(Kubernetes RBAC)。
- SvcStg Developer:拥有CCE Administrator相同权限,例外:拥有此角色的用户不默认具有命名空间的权限(Kubernetes RBAC)。
- SvcStg Operator:拥有CCE的只读权限,但不默认具有命名空间的权限。
了解更多ServiceStage和CCE的权限管理详情请参见:ServiceStage权限管理介绍、 CCE权限管理 介绍。
- Tenant Administrator、Tenant Guest是特殊的IAM系统角色,当配置任意系统或自定义策略后,Tenant Administrator、Tenant Guest将以系统策略形式生效,用于兼容IAM RBAC和ABAC场景。
- 如果用户有Tenant Administrator或者CCE Administrator的系统角色,则此用户拥有Kubernetes RBAC的cluster-admin权限,在集群创建后不可移除。
RBAC与IAM策略共存时,CCE开放API或Console操作的后端鉴权逻辑如下:
CCE部分接口由于涉及命名空间权限或关键操作,需要特殊权限:
clusterCert获取集群k8s kubeconfig: cceadm/teadmin