设置命名空间权限
本章节通过简单的命名空间授权方法,将CCE服务的用户和用户组授予操作不同命名空间资源的权限,从而使用户和用户组在拥有对应的CCE集群标准权限的同时,又可以拥有对集群中命名空间的操作权限。设置流程如示例流程所示。
配置说明
- 您需要拥有一个华为云帐号,有一个或若干个用户组和IAM用户。
- 本例将对用户和用户组授予操作不同命名空间资源的权限,在您的实际业务中,您可根据业务需求仅对用户或用户组授予不同的权限。
- 本例仅用于给用户或用户组在未授权过的命名空间下新增权限,已授权的用户或用户组的权限可以在“权限管理 > 命名空间权限”的列表“操作”栏中单击“编辑权限”进行修改。
- 当给用户或用户组添加多个权限时,多个权限会同时生效(取并集);为用户组设置的权限将作用于用户组下的全部用户。
约束与限制
kubernetes RBAC的授权能力支持1.13及以上版本集群。
在v1.11.7-r2版本的集群中默认开启RBAC功能,若需使用RBAC功能请将集群升级至v1.11.7-r2或以上版本。升级方法请参见升级集群。
用户类型 |
v1.11.7-r2以下版本的集群 |
v1.11.7-r2及以上版本的集群 |
---|---|---|
华为云帐号 |
所有权限 |
所有权限 |
赋予CCE Administrator权限的IAM用户 |
所有权限 |
所有权限 |
赋予CCE FullAccess或者CCE ReadOnlyAccess权限的IAM用户 |
所有权限 |
按照权限管理界面设置的命名空间权限处理 |
赋予Tenant Guest权限的IAM用户(未申请开启细粒度公测的帐号) |
只读权限 |
只读权限 |
赋予Tenant Guest权限的IAM用户(已申请开启细粒度公测的帐号) |
所有权限 说明:
开启细粒度公测后,行为有变,从只读变为所有权限 |
按照权限管理界面设置的命名空间权限处理 |
示例流程
命名空间是对一组资源和对象的抽象整合。在同一个集群内可创建不同的命名空间,不同命名空间中的数据彼此隔离,使得它们既可以共享同一个集群的服务,也能够互不干扰。命名空间的一个重要的作用是充当一个虚拟的集群,用于多种工作用途,满足多用户的使用需求。
本章节将沿用创建用户并授权使用CCE中创建的IAM用户“James”和用户组“开发人员组”进行示例,为IAM用户“James”和用户组“开发人员组”添加命名空间权限,可以参考如下操作:
步骤一:为IAM用户/用户组添加命名空间权限
本步骤将在CCE控制台中为IAM用户“James”以及用户组“开发人员组”授予某个集群命名空间下资源的操作权限,设置如下:
- 登录CCE控制台,在左侧导航栏中选择“权限管理”,进入权限管理页面。
- 单击“命名空间权限”页签,在命名空间权限列表右上方选择要添加授权的集群,单击“添加授权”按钮,进入添加授权页面。图1 添加授权
- 在添加授权页面,确认集群名称,选择该集群下要授权使用的命名空间,此处选择“default”。图2 选择命名空间
- 单击“添加用户权限”,为“开发人员组”增加“admin”权限,在展开的选项中进行如下配置:
- 用户/用户组:选择“用户组”,并在二级选项中选择“开发人员组”。
- 权限:选择“admin”。
单击“添加用户权限”可继续增加其他用户或用户组,并赋予相应的权限。
- 单击下方的“添加命名空间权限”,为用户“James”增加在另一个命名空间“monitoring”的权限,在展开的选项中进行如下配置:
- 命名空间:选择“monitoring”。
- 用户/用户组:选择“用户”,并在二级选项中选择“James”增加。
- 权限:选择“view”。
图3 添加命名空间权限 - 单击“创建”,完成以上用户和用户组在命名空间中的相应权限设置。图4 命名空间权限列表
经过以上操作,授权结果如下:
- 由于“开发人员组”包含IAM用户“James”,因此IAM用户“James”也同时获得了在命名空间“default”的“admin”权限。
- 为IAM用户“James”增加了在命名空间“monitoring”的“view”权限。
