分布式数据库中间件 DDM-权限管理:DDM权限

时间:2024-10-18 10:42:55

DDM权限

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

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

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

    策略名称

    描述

    类别

    依赖关系

    DDM FullAccess

    分布式数据库 中间件服务所有权限。

    系统策略

    无。

    DDM CommonOperations

    分布式数据库中间件服务普通权限(除创建实例、删除实例、分片变更、分片变更回滚、规格变更、节点扩容外的所有权限)。

    系统策略

    无。

    DDM ReadOnlyAccess

    分布式数据库中间件服务只读权限。

    系统策略

    无。

DDM系统策略具体权限配置如下:
  • 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"
    		}]
    	}
support.huaweicloud.com/productdesc-ddm/ddm_01_0010.html