权限管理
如果账号已经能满足您的要求,不需要创建独立的IAM用户进行权限管理,您可以跳过本章节,不影响您使用DDM服务的其它功能。
如果您需要对购买的DDM资源,为企业中的员工设置不同的访问权限,为达到不同员工之间的权限隔离,您可以使用统一身份认证服务(Identity and Access Management,简称IAM)进行精细的权限管理。该服务提供用户身份认证、权限分配、访问控制等功能,可以帮助您安全地控制资源的访问。
通过IAM,您可以在账号中给员工创建IAM用户,并授权控制他们对资源的访问范围。例如您的员工中有负责软件开发的人员,您希望开发人员拥有DDM的使用权限,但是不希望他们拥有删除DDM等高危操作的权限,那么您可以使用IAM为开发人员创建用户,通过授予仅能使用DDM,但是不允许删除DDM的权限,控制他们对DDM资源的使用范围。
IAM是华为云提供权限管理的基础服务,无需付费即可使用,您只需要为您账号中的资源进行付费。关于IAM的详细介绍,请参见IAM产品介绍。
DDM权限
默认情况下,管理员创建的IAM用户没有任何权限,需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。
DDM部署时通过物理区域划分,为项目级服务。授权时,“作用范围”需要选择“区域级项目”,然后在指定区域对应的项目中设置相关权限,并且该权限仅对此项目生效;如果在“所有项目”中设置权限,则该权限在所有区域项目中都生效。访问DDM时,需要先切换至授权区域。
- 角色:IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度,提供有限的服务相关角色用于授权。由于云服务平台各服务之间存在业务依赖关系,因此给用户授予角色时,可能需要一并授予依赖的其他角色,才能正确完成业务。角色并不能满足用户对精细化授权的要求,无法完全达到企业对权限最小化的安全管控要求。
- 策略:IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。基于策略的授权是一种更加灵活的授权方式,能够满足企业对权限最小化的安全管控要求。例如:针对DDM服务,管理员能够控制IAM用户仅能对某一类数据库资源进行指定的管理操作。
表1 DDM系统策略 策略名称
描述
类别
依赖关系
DDM FullAccess
分布式数据库中间件服务所有权限。
系统策略
无。
DDM CommonOperations
分布式数据库中间件服务普通权限(除创建实例、删除实例、分片变更、分片变更回滚、规格变更、节点扩容外的所有权限)。
系统策略
无。
DDM ReadOnlyAccess
分布式数据库中间件服务只读权限。
系统策略
无。
- DDM FullAccess
{ "Version": "1.1", "Statement": [{ "Action": ["ddm:*:*", "rds:instance:list", "rds:instance:modify", "rds:instance:modifyParameter", "vpc:*:*", "ecs:*:get*", "ecs:*:list*", "ecs:cloudServerNics:update", "ecs:serverInterfaces:use"], "Effect": "Allow" }] }
- DDM CommonOperations
{ "Version": "1.1", "Statement": [{ "Action": [ "vpc:*:*list*", "vpc:*:*get*", "vpc:ports:update", "ecs:*:get*", "ecs:*:list*", "rds:instance:list", "rds:instance:modify", "rds:instance:modifyParameter" ], "Effect": "Allow" }, { "Condition": { "StringEqualsIgnoreCase": { "g:ServiceName": [ "ddm" ] } }, "NotAction": [ "ddm:instance:create", "ddm:instance:delete", "ddm:database:migrate*", "ddm:instance:resize", "ddm:instance:extendNode" ], "Effect": "Allow" }] }
- DDM ReadOnlyAccess
{ "Version": "1.1", "Statement": [{ "Action": [ "rds:instance:list", "vpc:*:*list*", "vpc:*:*get*", "ecs:*:get*", "ecs:*:list*", "ddm:*:list", "ddm:*:get", "ddm:instance:listParameter", "ddm:instance:listRwInfo", "ddm:instance:listSlowSqlInfo", "ddm:rds:connectivity" ], "Effect": "Allow" }] }
操作 |
DDM FullAccess |
DDM CommonOperations |
DDM ReadOnlyAccess |
---|---|---|---|
查询实例列表 |
支持 |
支持 |
支持 |
查询实例详情 |
支持 |
支持 |
支持 |
修改实例信息(修改名称,修改安全组) |
支持 |
支持 |
不支持 |
重启实例 |
支持 |
支持 |
不支持 |
创建实例 |
支持 |
不支持 |
不支持 |
删除实例 |
支持 |
不支持 |
不支持 |
规格变更 |
支持 |
不支持 |
不支持 |
节点扩容 |
支持 |
不支持 |
不支持 |
创建逻辑库 |
支持 |
支持 |
不支持 |
查询逻辑库列表 |
支持 |
支持 |
支持 |
查询逻辑库详情 |
支持 |
支持 |
支持 |
分片变更失败-回滚、 分片变更失败-清理 分片变更失败-重试 |
支持 |
不支持 |
不支持 |
删除逻辑库 |
支持 |
支持 |
不支持 |
查询账号列表 |
支持 |
支持 |
支持 |
创建账号 |
支持 |
支持 |
不支持 |
修改账号 |
支持 |
支持 |
不支持 |
重置密码 |
支持 |
支持 |
不支持 |
删除账号 |
支持 |
支持 |
不支持 |
同步数据节点 |
支持 |
支持 |
不支持 |
查询数据节点列表 |
支持 |
支持 |
支持 |
查询数据节点详情 |
支持 |
支持 |
支持 |
修改数据节点读策略 |
支持 |
支持 |
不支持 |
查看产品信息列表 |
支持 |
支持 |
支持 |
创建参数模板 |
支持 |
支持 |
不支持 |
删除参数模板 |
支持 |
支持 |
不支持 |
应用参数模板 |
支持 |
支持 |
不支持 |
修改参数模板 |
支持 |
支持 |
不支持 |
复制参数模板 |
支持 |
支持 |
不支持 |
比较参数模板 |
支持 |
支持 |
支持 |
查询参数模板 |
支持 |
支持 |
支持 |
查看标签列表 |
支持 |
支持 |
支持 |
添加/修改/删除标签 |
支持 |
支持 |
不支持 |
查询会话 |
支持 |
支持 |
支持 |
Kill会话 |
支持 |
支持 |
不支持 |
操作分类 |
详细操作 |
对应的操作权限 |
---|---|---|
日常操作 |
购买实例(按需) 购买实例(包年包月) |
ddm:instance:create 购买实例操作依赖以下权限,即要配置购买实例权限,必须配置以下依赖的权限,否则购买失败。 |
查询实例列表 |
ddm:instance:list |
|
查询实例详情 |
ddm:instance:get 查询实例详情操作依赖以下权限,即要配置查询实例详情权限,必须配置以下依赖的权限,否则查询信息不全。
|
|
修改实例信息(修改名称、修改安全组、添加/修改/删除标签) |
ddm:instance:modify
修改安全组操作依赖以下权限,即要修改安全组权限,必须配置以下依赖的权限,否则修改失败。
|
|
重启实例 |
ddm:instance:reboot |
|
删除实例 |
ddm:instance:delete vpc:ports:delete |
|
规格变更 |
ddm:instance:resize |
|
节点扩容 |
ddm:instance:extendNode |
|
读占比监控查询 |
ddm:instance:listRwInfo |
|
慢SQL监控查询 |
ddm:instance:listSlowSqlInfo |
|
日常操作 |
实例续费(包年包月) |
需要配置BSS Finance、BSS Operator系统策略。设置方法如下:
|
日常操作 |
转包周期 |
需要配置BSS Finance、BSS Operator系统策略。设置方法同续费操作中。 |
逻辑库相关操作 |
创建逻辑库 |
ddm:database:create |
查询逻辑库列表 |
ddm:database:list |
|
查询逻辑库详情 |
ddm:database:get |
|
分片变更失败-回滚、 分片变更失败-清理 分片变更失败-重试 |
ddm:database:migrateRollback |
|
删除逻辑库 |
ddm:database:delete |
|
账号相关操作 |
查询账号列表 |
ddm:user:list |
创建账号 |
ddm:user:create |
|
修改账号 |
ddm:user:modify |
|
重置密码 |
ddm:user:modify |
|
删除账号 |
ddm:user:delete |
|
数据节点管理相关操作(以RDS为例) |
同步数据节点 |
ddm:rds:synchro 同步数据节点操作依赖以下权限,即要配置同步数据节点权限,必须配置以下依赖的权限,否则同步数据节点失败。
|
查询数据节点列表 |
ddm:rds:list |
|
查询数据节点详情 |
ddm:rds:get |
|
修改数据节点读策略 |
ddm:rds:modifyReadPolicy |
|
产品相关操作 |
查看产品信息列表 |
ddm:product:list |
参数模板相关操作 |
创建参数模板 |
ddm:param:create |
删除参数模板 |
ddm:param:delete |
|
应用参数模板 |
ddm:param:apply |
|
修改参数模板 |
ddm:param:update |
|
复制参数模板 |
ddm:param:create |
|
比较参数模板 |
ddm:param:list |
|
查询参数模板 |
ddm:param:list |
|
标签相关 |
查询标签列表 |
ddm:tag:list |
添加/修改/删除标签 |
ddm:tag:modify |
|
会话管理相关 |
查询会话 |
ddm:instance:queryProcessList |
Kill会话 |
ddm:instance:killProcessList |