您可以通过访问控制RAM(Resource Access Management)将DAS的管理权限授权给子账号,细分账号权限,提升账号安全性。

通过系统权限策略授权子账号

  1. 创建RAM用户,详情请参见创建RAM用户
  2. 数据库自治服务的权限授予新建的RAM用户,详情请参见为RAM用户授权
    说明
    • AliyunHDMFullAccess:为RAM用户授予DAS的完全管理权限。
    • AliyunHDMReadOnlyAccess:为RAM用户授予DAS的只读访问权限。
    • 如果需要使用SQL洞察和审计的搜索功能,还需要为RAM用户授予目标数据库引擎的只读访问权限完全管理权限。例如,目标数据库为云数据库RDS,使用SQL洞察和审计的搜索功能时,还需要为RAM用户授予AliyunRDSReadOnlyAccessAliyunRDSFullAccess权限。

通过自定义权限策略授权子账号

如果系统权限策略不能满足您的需求,您可以通过创建自定义权限策略实现精细化权限管理。

权限策略是用语法结构描述的一组权限的集合,可以精确地描述被授权的资源集、操作集以及授权条件。权限策略是描述权限集的一种简单语言规范,RAM支持的语言规范请参见权限策略语法和结构

  1. 创建RAM用户,详情请参见创建RAM用户
  2. 创建自定义权限策略,详情请参见通过脚本编辑模式创建自定义权限策略
  3. 将自定义的权限策略授予新建的RAM用户,详情请参见为RAM用户授权

常见的自定义权限策略

以RDS实例为例,设置单个实例的只读权限:
{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "hdm:Get*",
                "hdm:Describe*",
                "hdm:Query*"
            ],
            "Resource": "acs:rds:*:*:dbinstance/RDS实例ID",
            "Effect": "Allow"
        }
    ]
}
说明
  • 实例ID请根据实际替换。
  • 授权后,使用子账号登录DAS控制台时,系统会提示没有权限,请联系主账号管理员进行授权,此时请单击关闭关闭弹出的对话框,将performance/instance/实例ID/detail拼接到控制台URL之后,刷新页面后即可查看目标实例的详情页面。
  • 您可以将DAS的权限策略添加到数据库产品的自定义权限策略中,实现对数据库产品控制台中DAS相关功能的控制。
对于不同的数据库实例,自定义权限策略中的Resource如下所示,请根据实际情况进行替换:
  • RDS实例
    "Resource": "acs:rds:*:*:dbinstance/RDS实例ID"
  • Redis实例
    "Resource": "acs:kvstore:*:*:*/Redis实例ID"
  • MongoDB实例
    "Resource": "acs:dds:*:*:dbinstance/MongoDB实例ID"
  • PolarDB MySQL、PolarDB PostgreSQL和PolarDB O实例
    "Resource": "acs:polardb:*:*:*/PolarDB集群ID"
  • PolarDB-X 2.0实例
    "Resource": "acs:polardbx:*:*:*/PolarDB-X 2.0实例ID"