更新时间:2024-09-18 GMT+08:00

权限管理

如果您需要对华为云上申请的UGO资源,给企业中的员工设置不同的访问权限,以达到不同员工之间的权限隔离,您可以使用统一身份认证服务(Identity and Access Management,简称IAM)进行精细的权限管理。该服务提供用户身份认证、权限分配、访问控制等功能,可以帮助您安全的控制华为云资源的访问。

通过IAM,您可以在华为云账号中给员工创建IAM用户,并授权控制他们对华为云资源的访问范围。例如您的员工中有负责软件开发的人员,您希望他们拥有UGO(Database and Application Migration UGO)的使用权限,但是不希望他们拥有删除UGO资源等高危操作的权限,那么您可以使用IAM为开发人员创建用户,通过授予仅能使用UGO资源,但是不允许删除UGO资源的权限,控制他们对UGO资源的使用范围。

如果华为云账号已经能满足您的要求,不需要创建独立的IAM用户进行权限管理,您可以跳过本章节,不影响您使用UGO的其他功能。

IAM是华为云提供权限管理的基础服务,无需付费即可使用,您只需要为您账号中的资源进行付费。关于IAM的详细介绍,请参见《IAM产品介绍》

UGO权限

默认情况下,管理员创建的IAM用户没有任何权限,需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。

UGO部署时通过物理区域划分,为项目级服务。授权时,“作用范围”需要选择“区域级项目”,然后在指定区域(如亚太-新加坡)对应的项目(ap-southeast-3)中设置相关权限,并且该权限仅对此项目生效;如果在“所有项目”中设置权限,则该权限在所有区域项目中都生效。访问UGO时,需要先切换至授权区域。

根据授权精确程度分为角色和策略。

  • 角色:IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度,提供有限的服务相关角色用于授权。由于华为云各服务之间存在业务依赖关系,因此给用户授予角色时,可能需要一并授予依赖的其他角色,才能正确完成业务。角色并不能满足用户对精细化授权的要求,无法完全达到企业对权限最小化的安全管控要求。
  • 策略:IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。基于策略的授权是一种更加灵活的授权方式,能够满足企业对权限最小化的安全管控要求。

表1表2所示,包括了UGO的所有系统内置角色和策略。

表1 UGO系统内置角色支持

系统角色

描述

是否支持

Tenant Administrator

租户admin权限,可访问和操作除IAM以外所有云服务下的租户范围可访问资源。

Tenant Guest

租户只读权限,拥有除IAM以外租户范围内所有对象的查询类权限。

表2 UGO服务系统策略

策略名称

描述

是否支持

UGO FullAccess

数据库和应用迁移服务所有权限

必须支持

UGO ReadOnlyAccess

数据库和应用迁移服务只读权限

必须支持

UGO CommonOperations

数据库和应用迁移服务SQL语句转换权限

可选支持

表3列出来UGO服务常用操作与系统权限的授权关系,您可以参照该表选择合适的系统权限。

表3 常用操作与系统策略的关系

操作

UGO FullAccess

UGO ReadOnlyAccess

UGO CommonOperations

创建项目

x

x

查询标签

x

查询配额

x

获取项目列表

x

删除项目

x

x

启动迁移项目

x

x

查询项目详情

x

SQL语句转换

x

表4列出了UGO常用操作以及对应的授权项,您可以参照该表自定义配置权限策略。

表4 常用操作与对应的授权项

权限

授权项

归类

评估项目-获取评估项目列表

ugo:evaluationJob:list

ReadOnly

迁移项目-获取迁移项目列表

ugo:migrationJob:list

ReadOnly

查询标签

ugo:tag:getTags

ReadOnly

添加、修改和删除标签

ugo:tag:operateTags

ReadWrite

查询配额

ugo:jobs:getQuotas

ReadOnly

公共-查询项目详情

ugo:jobs:getDetails

ReadOnly

评估项目-测试源库连通性

ugo:evaluationJob:testConnection

ReadWrite

评估项目-测试源库网络稳定性

ugo:evaluationJob:testNetworkConnection

ReadWrite

评估项目-预检查

ugo:evaluationJob:preCheck

ReadWrite

评估项目-创建评估项目

ugo:evaluationJob:create

ReadWrite

评估项目-停止评估

ugo:evaluationJob:stopEvalProject

ReadWrite

评估项目-恢复评估

ugo:evaluationJob:resumeEvalProject

ReadWrite

评估项目-重新评估

ugo:evaluationJob:reanalyze

ReadWrite

评估项目-差异化分析

ugo:evaluationJob:collectDiffAnalysis

ReadWrite

评估项目-增量评估

ugo:evaluationJob:startDeltaEvaluation

ReadWrite

评估项目-确认目标库类型

ugo:evaluationJob:updateEvalProject

ReadWrite

评估项目-重新选择评估对象并评估

ugo:evaluationJob:analyzeType

ReadWrite

评估项目-编辑SQL

ugo:evaluationJob:saveSQL

ReadWrite

评估项目-删除评估项目

ugo:evaluationJob:delete

ReadWrite

迁移项目-测试目标库连通性

ugo:migrationJob:testConnection

ReadWrite

迁移项目-创建迁移项目

ugo:migrationJob:create

ReadWrite

迁移项目-转换计划-跳过转换/撤销跳过

ugo:migrationJob:skipObjects

ReadWrite

迁移项目-转换计划-转换配置

ugo:migrationJob:updateConfig

ReadWrite

迁移项目-转换计划-应用配置

ugo:migrationJob:updateCategory

ReadWrite

迁移项目-转换计划-设置用户密码

ugo:migrationJob:setPassword

ReadWrite

迁移项目-转换计划-表空间映射

ugo:migrationJob:updateTableSpaceMapping

ReadWrite

迁移项目-语法转换-启动/恢复

ugo:migrationJob:startConvert

ReadWrite

迁移项目-语法转换-暂停

ugo:migrationJob:stopConvert

ReadWrite

迁移项目-对象校正-更新状态

ugo:migrationJob:updateFailedStatus

ReadWrite

迁移项目-对象校正-跳过迁移/撤销跳过

ugo:migrationJob:skipVerification

ReadWrite

迁移项目-对象校正-重新转换

ugo:migrationJob:reconvert

ReadWrite

迁移项目-对象校正-批量更新-替换

ugo:migrationJob:updateBulk

ReadWrite

迁移项目-对象校正-比较/忽略/保存对SQL的修改

ugo:migrationJob:updateSQL

ReadWrite

迁移项目-迁移验证-启动

ugo:migrationJob:startVerify

ReadWrite

迁移项目-迁移验证-停止

ugo:migrationJob:stopVerify

ReadWrite

迁移项目-删除迁移项目

ugo:migrationJob:delete

ReadWrite

SQL转换

ugo:sqlStatement:convert

ReadWrite