IAM用户配置UCS服务权限
应用场景
UCS权限管理在统一身份认证服务(IAM)与Kubernetes的角色访问控制(RBAC)的能力基础上,为用户提供细粒度的权限管理功能。UCS权限管理支持基于IAM的细粒度权限控制和IAM Token认证,支持集群级别、舰队级别、集群命名空间级别和舰队命名空间级别的权限控制,从而有效地限制用户对特定资源的访问,也可实现企业不同部门或项目之间的权限隔离,确保资源使用的隔离性和安全性。
例如,某公司同时推进两个项目组,每个项目组中有多名成员,权限分配如图1 权限设计所示。
- 项目组A在开发过程中需要舰队1、2的管理员权限以及舰队3的只读权限。
- 项目组B在开发过程中需要舰队1、3的管理员权限以及舰队2的只读权限。
授权 |
说明 |
权限管理对象 |
---|---|---|
IAM授权 |
对用户组进行IAM授权侧重于对云平台资源的访问管理,通过策略控制每个用户组对具体资源的权限。 IAM更关注云资源的细粒度控制。 |
集群管理、舰队管理、插件管理、策略中心、配置管理、流量分发、容器监控、服务网格 |
RBAC授权 |
对用户组进行RBAC授权是基于角色的,将权限与角色关联,再将角色分配给用户组,通常用于应用内部的访问控制。 RBAC更注重角色和任务的匹配。 |
集群内deployment、service等资源对象 |
方案介绍
要想实现上述的权限隔离,必须结合使用IAM系统策略和UCS权限管理功能,IAM系统策略控制用户可操作哪些UCS控制台的功能,UCS权限管理控制用户可操作哪些舰队和集群资源。
如图2 授权方案所示,授权包括如下两大步骤。
前提条件
步骤一:创建用户组并进行IAM管理员授权
- 使用IAM管理员账号登录IAM控制台。
- 左侧导航栏选择“用户组”,单击页面右上角“创建用户组”。
- 在“创建用户组”界面,输入管理员用户组的名称及描述,单击“确定”,完成用户组创建。
图3 创建用户组
- 在用户组列表中,单击目标用户组右侧的“授权”按钮。
图4 为用户组授权
- 搜索并选择权限策略UCS FullAccess。
图5 选择权限策略
- 单击“下一步”,选择授权范围方案。
选择“所有资源”,不设置最小授权范围,授权后,用户可根据权限使用账号中所有资源,包括企业项目、区域项目和全局服务资源。
表4 授权范围方案 方案
说明
所有资源
授权后,IAM用户可以根据权限使用账号中所有资源,包括企业项目、区域项目和全局服务资源。
指定企业项目资源
授权后,IAM用户根据权限使用所选企业项目中的资源。
如企业项目A包含资源B,资源B部署在北京四和上海二,IAM用户所在用户组关联企业项目A后,北京四和上海二的资源B用户都可访问,不在企业项目A内的其他资源,该IAM用户将无权访问。
指定区域项目资源
授权后,IAM用户根据权限使用所选区域项目中的资源,未选择的区域项目中的资源,该IAM用户将无权访问。
- 单击“确定”完成授权。
- 左侧导航栏选择“用户”,单击右上角“创建用户”,新建一个IAM用户。
填写用户名及初始密码,其余参数说明请参见创建IAM用户。
- 单击“下一步”,选择加入4中已授权的用户组。
图6 加入用户组
- 单击“创建用户”。
- 重复上述步骤,完成表2中其他用户组、用户的创建和授权。
步骤二:对用户组进行RBAC授权
- 使用UCS管理员登录UCS控制台,在左侧导航栏选择“权限管理”。
- 在右边下拉列表中选择要添加权限的集群/舰队。
- 单击右上角的“添加权限”按钮,进入添加权限页面。
- 在添加权限页面,确认集群/舰队名称,选择该集群/舰队要授权使用的命名空间,例如选择“全部命名空间”,选择要授权的用户或用户组,再选择具体权限。
对于没有IAM权限的用户,给其他用户和用户组配置权限时,无法选择用户和用户组,此时支持填写用户ID或用户组ID进行配置。
- 单击“确定”,完成为选择的集群/舰队添加权限。
- 重复以上步骤,完成表3中其他用户/用户组不同类型权限的添加。