
# IAM用户配置UCS服务权限
#### 应用场景
UCS权限管理在统一身份认证服务（IAM）与Kubernetes的角色访问控制（RBAC）的能力基础上，为用户提供细粒度的权限管理功能。UCS权限管理支持基于IAM的细粒度权限控制和IAM Token认证，支持集群级别、舰队级别、集群命名空间级别和舰队命名空间级别的权限控制，从而有效地限制用户对特定资源的访问，也可实现企业不同部门或项目之间的权限隔离，确保资源使用的隔离性和安全性。
例如，某公司同时推进两个项目组，每个项目组中有多名成员，权限分配如[图1 权限设计]所示。
- 项目组A在开发过程中需要舰队1、2的管理员权限以及舰队3的只读权限。
- 项目组B在开发过程中需要舰队1、3的管理员权限以及舰队2的只读权限。
图1权限设计   
![](https://support.huaweicloud.com/bestpractice-ucs/zh-cn_image_0000002189309390.png "点击放大")
表1IAM授权与RBAC授权 
| 授权     | 说明                                                                                                 | 权限管理对象                             |
|:---|:---|:---|
| IAM授权  | 对用户组进行IAM授权侧重于对云平台资源的访问管理，通过策略控制每个用户组对具体资源的权限。 IAM更关注云资源的细粒度控制。     | 集群管理、舰队管理、插件管理、策略中心、流量分发、容器监控、服务网格 |
| RBAC授权 | 对用户组进行RBAC授权是基于角色的，将权限与角色关联，再将角色分配给用户组，通常用于应用内部的访问控制。 RBAC更注重角色和任务的匹配。 | 集群内deployment、service等资源对象         |
   
#### 方案介绍
要想实现上述的权限隔离，必须结合使用IAM系统策略和UCS权限管理功能，IAM系统策略控制用户可操作哪些UCS控制台的功能，UCS权限管理控制用户可操作哪些舰队和集群资源。
如[图2 授权方案]所示，授权包括如下两大步骤。
- 第一步授权（IAM控制台）：拥有Tenant Administrator权限的IAM管理员需要创建三个用户组，一个为管理员用户组，另外两个为项目组A、B所对应的用户组（用户组1、2），分别授予UCS FullAccess和UCS CommonOperations权限。
- 第二步授权（UCS控制台）：拥有UCS FullAccess权限的UCS管理员分别为各舰队的用户组1、用户组2添加管理员权限和只读权限。 具体的添加权限策略如下：舰队1、舰队2添加用户组1的管理员权限，舰队3添加用户组1的只读权限；舰队1、舰队3添加用户组2的管理员权限，舰队2添加用户组2的只读权限。
  
图2授权方案   
![](https://support.huaweicloud.com/bestpractice-ucs/zh-cn_image_0000002189469046.png "点击放大")
#### 前提条件
- 账号已开通UCS服务，并且按照[图1]完成舰队、集群资源的准备工作。
- 按照[图2]完成权限数据的准备工作。
   表2IAM控制台数据准备 
  | 用户组                    | 用户                                      | 权限                   |
  |:---|:---|:---|
  | 管理员用户组：UCS_Group_admin | UCS_Group_admin_User1                   | UCS FullAccess       |
  | 用户组1：UCS_Group_1       | UCS_Group_1_User1、UCS_Group_1_User2 ... | UCS CommonOperations |
  | 用户组2：UCS_Group_2       | UCS_Group_2_User1、UCS_Group_2_User2 ... | UCS CommonOperations |
     
   表3UCS控制台数据准备 
  | 用户组  | 用户                                      | 权限类型  | 权限名称                 |
  |:---|:---|:---|:---|
  | 用户组1 | UCS_Group_1_User1、UCS_Group_1_User2 ... | 管理员权限 | ucs-group-1-admin    |
  | 用户组1 | UCS_Group_1_User1、UCS_Group_1_User2 ... | 只读权限  | ucs-group-1-readonly |
  | 用户组2 | UCS_Group_2_User1、UCS_Group_2_User2 ... | 管理员权限 | ucs-group-2-admin    |
  | 用户组2 | UCS_Group_2_User1、UCS_Group_2_User2 ... | 只读权限  | ucs-group-2-readonly |
     
  
 
#### 步骤一：创建用户组并进行IAM管理员授权
1. 使用IAM管理员账号登录[统一身份认证服务控制台](https://console.huaweicloud.com/iam/#/iam/users)。
2. 左侧导航栏选择"用户组"，单击页面右上角"创建用户组"。
3. 在"创建用户组"界面，输入管理员用户组的名称及描述，单击"确定"，完成用户组创建。 
   图3创建用户组   
   ![](https://support.huaweicloud.com/bestpractice-ucs/zh-cn_image_0000002189309470.png "点击放大")
   
   
4. 在用户组列表中，单击目标用户组右侧的"授权"按钮。
   
   图4为用户组授权   
   ![](https://support.huaweicloud.com/bestpractice-ucs/zh-cn_image_0000002189469110.png "点击放大")
   
   
5. 搜索并选择权限策略UCS FullAccess。 
   图5选择权限策略   
   ![](https://support.huaweicloud.com/bestpractice-ucs/zh-cn_image_0000002224795085.png "点击放大")
   
   
6. 单击"下一步"，选择授权范围方案。 
   选择"所有资源"，不设置最小授权范围，授权后，用户可根据权限使用账号中所有资源，包括企业项目、区域项目和全局服务资源。
   表4授权范围方案 
   | 方案       | 说明                                                                                                                                                |
   |:---|:---|
   | 所有资源     | 授权后，IAM用户可以根据权限使用账号中所有资源，包括企业项目、区域项目和全局服务资源。                                                                                                      |
   | 指定企业项目资源 | 授权后，IAM用户根据权限使用所选企业项目中的资源。 如企业项目A包含资源B，资源B部署在北京四和上海二，IAM用户所在用户组关联企业项目A后，北京四和上海二的资源B用户都可访问，不在企业项目A内的其他资源，该IAM用户将无权访问。 |
   | 指定区域项目资源 | 授权后，IAM用户根据权限使用所选区域项目中的资源，未选择的区域项目中的资源，该IAM用户将无权访问。                                                                                               |
      
   
   
7. 单击"确定"完成授权。
8. 左侧导航栏选择"用户"，单击右上角"创建用户"，新建一个IAM用户。 
   填写用户名及初始密码，其余参数说明请参见[创建IAM用户](https://support.huaweicloud.com/usermanual-iam/iam_02_0001.html)。
   
   
9. 单击"下一步"，选择加入[4]中已授权的用户组。
   
   图6加入用户组   
   ![](https://support.huaweicloud.com/bestpractice-ucs/zh-cn_image_0000002189309518.png "点击放大")
   
   
10. 单击"创建用户"。
11. 重复上述步骤，完成[表2]中其他用户组、用户的创建和授权。
 
#### 步骤二：对用户组进行RBAC授权
1. 使用UCS管理员登录[UCS控制台](https://console.huaweicloud.com/ucs/?#/aether/dashboard)，在左侧导航栏选择"权限管理"。
2. 在右边下拉列表中选择要添加权限的集群/舰队。
3. 单击右上角的"添加权限"按钮，进入添加权限页面。
4. 在添加权限页面，确认集群/舰队名称，选择该集群/舰队要授权使用的命名空间，例如选择"全部命名空间"，选择要授权的用户或用户组，再选择具体权限。 
   ![](https://support.huaweicloud.com/bestpractice-ucs/public_sys-resources/note_3.0-zh-cn.png)
   对于没有IAM权限的用户，给其他用户和用户组配置权限时，无法选择用户和用户组，此时支持填写用户ID或用户组ID进行配置。
   
   
5. 单击"确定"，完成为选择的集群/舰队添加权限。 
   ![](https://support.huaweicloud.com/bestpractice-ucs/zh-cn_image_0000002201169938.png "点击放大")
   
   
   
6. 重复以上步骤，完成[表3]中其他用户/用户组不同类型权限的添加。
 
