概述
如果您需要针对不同资源,对用户设置不同的访问权限,以达到用户之间的权限隔离,您可以使用统一身份认证服务(Identity and Access Management,简称IAM)进行精细的权限管理。该服务提供用户身份认证、权限分配、访问控制等功能,可以帮助您安全地控制云资源的访问。
通过IAM,您可以为其他账号创建IAM用户,并使用策略来控制他们对云资源的访问范围。IAM是云服务提供权限管理的基础服务,无需付费即可使用,您只需要为您账号中的资源进行付费,关于IAM的详细介绍,参见:统一身份认证
如果云账号已经能满足您的要求,不需要创建独立的IAM用户进行权限管理,您可以跳过本章节,不影响您使用分布式容器云平台的其他功能。
注意
服务资源权限(IAM授权)仅针对注册集群、联邦、等系统资源有效,如果您需操作Kubernetes资源(如Deployment、Configmap和Service等),您还需配置Kubernetes集群内的RBAC权限,方可获得对应Kubernetes资源的操作能力。
概念
| 术语 | 说明 |
|---|---|
| 主账号 | 用户在天翼云注册后自动创建,该账号对其所拥有的资源具有完全的访问权限,可以重置用户密码、分配用户权限等。如果需要多人共同使用天翼云资源,由于账号是付费主体,为了确保账号安全,建议创建子用户来进行日常管理工作。 |
| 子账号 | 主账号认证为企业账号后,在天翼云用户中心页面创建出来的账号。子账号的用户名、密码统一由主账号创建管理。子账号同样可以登录访问天翼云控制台,登录入口与主账号相同,受主账号赋予的权限限制。 |
| 企业项目 | 将云资源、企业成员按项目进行管理,通过企业项目将云资源、带有权限的用户组绑定到一起,用户使用项目内云资源的权限受用户组的授权限制。 注意 一个实例只能归属一个企业项目(可变更),一个子账号可以同时在多个企业项目中。 |
| 策略 | 是描述一组权限集的语言,它可以精确地描述被授权的资源集和操作集,通过策略,用户可以自由搭配需要授予的权限集。通过给用户组授予策略,用户组中的用户就能获得策略中定义的权限。策略中可定义“允许”的操作和“拒绝”的操作,“拒绝”的优先级大于“允许”。 |
| 系统策略 | 系统预置的常用权限集,主要针对不同云服务的只读权限或管理员权限,比如对组件的只读权限、普通用户权限和管理员权限等等;系统策略只能用于授权,不能编辑和修改。 |
| 数据权限 | 看到的数据不一样。主账号看到所有实例,子账号只能看到所属项目中的实例。 |
| 功能权限 | 主账号可以进行所有控制台操作,子账号对单个组件实例拥有的操作权限由主账号授权。 |
| 功能权限授权 | 给子账号在企业项目A下增加一个策略,即代表该子账号对企业项目A下的实例拥有了策略中定义的权限,策略以外的操作会被禁止。默认情况下,新建的IAM用户没有任何权限,您需要将其加入用户组,并给用户组授予策略,才能使得用户组中的用户获得策略定义的权限,这一过程称为授权。具体授权请参考:用户组授权-统一身份认证。 |
分布式容器云平台系统权限策略
默认情况下,新建的IAM用户没有任何权限,您需要将其加入用户组,并给用户组授予策略,才能使得用户组中的用户获得策略定义的权限,这一过程称为授权。授权后,用户就可以基于策略内的权限对分布式容器云平台进行操作。为方便使用,分布式容器云平台已内置以下三种系统策略:
| 策略名称 | 策略描述 |
|---|---|
| 分布式容器云平台CCE One-admin | 分布式容器云平台CCE One默认管理员策略,拥有所有权限(适用于一类节点资源池) |
| 分布式容器云平台CCE One-user | 分布式容器云平台CCE One默认使用者策略,对应用拥有治理权限(适用于一类节点资源池) |
| 分布式容器云平台CCE One-viewer | 分布式容器云平台CCE One默认查看者策略,对应用仅拥有只读权限(适用于一类节点资源池) |
注意
未授权分布式容器云平台策略的子账号是不能正常使用分布式容器云平台系统功能,请参考主账号给子账号授权IAM权限策略流程。
每个策略所包含的分布式容器云平台权限列表如下表格所示,其中,“√”表示支持,“x”表示不支持。
| 权限 | 分布式容器云平台CCE One-admin | 分布式容器云平台CCE One-user | 分布式容器云平台CCE One-viewer |
|---|---|---|---|
| 审计日志 | √ | √ | x |
| 获取注册集群详情 | √ | √ | √ |
| 查询注册集群列表 | √ | √ | √ |
| 获取注册集群KubeConfig | √ | √ | √ |
| 查询联邦列表 | √ | √ | √ |
| 获取联邦详情 | √ | √ | √ |
| 获取联邦KubeConfig | √ | √ | √ |
| 获取舰队详情 | √ | √ | √ |
| 查询舰队列表 | √ | √ | √ |
| 操作日志 | √ | √ | √ |
| 查询权限策略列表 | √ | √ | x |
| 获取权限策略详情 | √ | √ | x |
| 获取关联权限列表 | √ | √ | √ |
| 资源总览 | √ | √ | x |
| 获取实例列表 | √ | √ | √ |
| 获取统一运维事件 | √ | √ | √ |
| 导出统一运维事件 | √ | √ | x |
| 查看统一运维仪表盘 | √ | √ | √ |
| 查询合规审计列表 | √ | √ | √ |
| 查询合规审计策略列表 | √ | √ | √ |
| 查询合规审计不合规资源 | √ | √ | √ |
| 查询合规审计事件 | √ | √ | √ |
| 获取通道事件 | √ | √ | √ |
| 获取通道监控数据 | √ | √ | √ |
| 开通 | √ | x | x |
| 退订 | √ | x | x |
| 绑定EIP | √ | √ | x |
| 解绑EIP | √ | √ | x |
| 更新注册集群信息 | √ | √ | x |
| 重新接入集群 | √ | √ | x |
| 吊销注册集群KubeConfig | √ | √ | x |
| 生成注册集群KubeConfig | √ | √ | x |
| 更新联邦 | √ | √ | x |
| 生成联邦KubeConfig | √ | √ | x |
| 吊销联邦KubeConfig | √ | √ | x |
| 创建舰队 | √ | √ | x |
| 更新舰队 | √ | √ | x |
| 删除舰队 | √ | √ | x |
| 添加集群到舰队 | √ | √ | x |
| 移出舰队 | √ | √ | x |
| 删除权限策略 | √ | x | x |
| 创建权限策略 | √ | x | x |
| 更新权限策略 | √ | x | x |
| 关联权限 | √ | x | x |
| 创建监控聚合实例 | √ | √ | x |
| 卸载监控聚合实例 | √ | √ | x |
| 启用合规审计实例 | √ | √ | x |
| 停用合规审计实例 | √ | √ | x |
| 创建合规审计策略实例 | √ | √ | x |
| 删除合规审计策略实例 | √ | √ | x |
| 编辑合规审计策略实例 | √ | √ | x |
| 升级联邦版本 | √ | √ | x |
| 创建Anywhere集群部署任务 | √ | √ | x |
| 查询联邦插件 | √ | √ | √ |
| 查询通道 | √ | √ | √ |
| 查询部署信息 | √ | √ | √ |
| 探测Anywhere集群部署ANP通道状态 | √ | √ | √ |
| 重试联邦插件操作 | √ | √ | x |
| 创建联邦插件 | √ | √ | x |
分布式容器云平台全量功能权限
| 模块 | 权限 | 权限码 |
|---|---|---|
| 注册集群 | 获取注册集群详情 | ccseone:inst:getCluster |
| 查询注册集群列表 | ccseone:inst:listCluster | |
| 获取注册集群KubeConfig | ccseone:inst:getClusterKubeConfig | |
| 获取通道事件 | ccseone:inst:getChannelEvents | |
| 获取通道监控数据 | ccseone:inst:getChannelMetric | |
| 更新注册集群信息 | ccseone:inst:updateCluster | |
| 重新接入集群 | ccseone:inst:awakeCluster | |
| 吊销注册集群KubeConfig | ccseone:inst:revokeClusterKubeConfig | |
| 生成注册集群KubeConfig | ccseone:inst:genClusterKubeConfig | |
| 查询通道 | ccseone:inst:listChannel | |
| 查询部署信息 | ccseone:inst:listDistribute | |
| 探测Anywhere集群部署ANP通道状态 | ccseone:inst:probeANPTunnelStatus | |
| 联邦 | 查询联邦列表 | ccseone:inst:listFederation |
| 获取联邦详情 | ccseone:inst:getFederation | |
| 获取联邦KubeConfig | ccseone:inst:getFederationKubeConfig | |
| 更新联邦 | ccseone:inst:updateFederation | |
| 生成联邦KubeConfig | ccseone:inst:genFederationKubeConfig | |
| 吊销联邦KubeConfig | ccseone:inst:revokeFederationKubeConfig | |
| 升级联邦版本 | ccseone:inst:upgradeFederation | |
| 查询联邦插件 | ccseone:inst:listAddon | |
| 重试联邦插件操作 | ccseone:inst:retryAddon | |
| 创建联邦插件 | ccseone:inst:createAddon | |
| 舰队 | 获取舰队详情 | ccseone:inst:getFleet |
| 查询舰队列表 | ccseone:inst:listFleet | |
| 创建舰队 | ccseone:inst:createFleet | |
| 更新舰队 | ccseone:inst:updateFleet | |
| 删除舰队 | ccseone:inst:deleteFleet | |
| 添加集群到舰队 | ccseone:inst:addClusterFleet | |
| 移出舰队 | ccseone:inst:removeClusterFleet | |
| 通用功能 | 获取实例列表 | ccseone:inst:instance-list |
| 操作日志 | ccseone:inst:operationLog | |
| 开通 | ccseone:inst:create-instance | |
| 退订 | ccseone:inst:del-instance | |
| 绑定EIP | ccseone:inst:bindEip | |
| 解绑EIP | ccseone:inst:unbindEip | |
| 审计日志 | ccseone:inst:auditLog | |
| 权限管理 | 查询权限策略列表 | ccseone:inst:listPermissionRule |
| 获取权限策略详情 | ccseone:inst:getPermissionRule | |
| 获取关联权限列表 | ccseone:inst:listAssociatedPermission | |
| 删除权限策略 | ccseone:inst:deletePermissionRule | |
| 创建权限策略 | ccseone:inst:createPermissionRule | |
| 更新权限策略 | ccseone:inst:updatePermissionRule | |
| 关联权限 | ccseone:inst:associatePermission | |
| 总览 | 资源总览 | ccseone:inst:resourceOverview |
| 统一运维 | 获取统一运维事件 | ccseone:inst:getOpsEvent |
| 导出统一运维事件 | ccseone:inst:exportOpsEvent | |
| 查看统一运维仪表盘 | ccseone:inst:getOpsDashboard | |
| 创建监控聚合实例 | ccseone:inst:createAggregatedProm | |
| 卸载监控聚合实例 | ccseone:inst:uninstallAggregatedProm | |
| 合规审计 | 查询合规审计列表 | ccseone:inst:listComplianceInstance |
| 查询合规审计策略列表 | ccseone:inst:listCompliancePolicy | |
| 查询合规审计不合规资源 | ccseone:inst:listNonCompliance | |
| 查询合规审计事件 | ccseone:inst:listComplianceEvent | |
| 启用合规审计实例 | ccseone:inst:enableComplianceInstance | |
| 停用合规审计实例 | ccseone:inst:disableComplianceInstance | |
| 创建合规审计策略实例 | ccseone:inst:createCompliancePolicy | |
| 删除合规审计策略实例 | ccseone:inst:deleteCompliancePolicy | |
| 编辑合规审计策略实例 | ccseone:inst:editCompliancePolicy |
配置说明
服务资源权限配置,比如创建用户组和具体权限配置,均需要跳转到IAM控制台进行具体操作。
示例流程
图1:给用户授予分布式容器云平台权限流程。
1. 创建用户组并授权。
在IAM控制台创建用户组,并授予分布式容器云平台权限,例如「分布式容器云平台CCE One-viewer 」策略。
2. 创建用户并加入用户组。
在IAM控制台创建用户,并将其加入1中创建的用户组。
3. 用户登录并验证权限。
用户使用子账号登录控制台,验证权限是否生效。本次示例授予该子账号「分布式容器云平台CCE One-viewer」只读策略,因此可以通过以下方式进行验证:
只读策略不允许写操作:单击左侧导航栏“舰队联邦 > 舰队管理”,如果创建舰队时提示无访问权限,表示权限配置已生效。
只读策略允许读操作:单击左侧导航栏“集群资源 > 注册集群”,执行查询注册集群列表操作,如果注册集群列表正常访问,则表示配置已生效。