RAM用户如何使用DAS?

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

通过系统权限策略授权RAM用户

  1. 创建RAM用户,详情请参见创建RAM用户

  2. 数据库自治服务的权限授予新建的RAM用户,详情请参见为RAM用户授权

通过自定义权限策略授权RAM用户

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

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

  1. 创建RAM用户,详情请参见创建RAM用户

  2. 创建自定义权限策略,详情请参见通过脚本编辑模式创建自定义权限策略

  3. 将自定义的权限策略授予新建的RAM用户,详情请参见为RAM用户授权

通过自定义权限策略授权RAM用户使用SQL洞察和审计的搜索(包含导出)功能

  1. 创建具有导出功能权限的自定义权限策略,详情请参见通过脚本编辑模式创建自定义权限策略

    • RDS实例:

      {
        "Version": "1",
        "Statement": [
          {
            "Action":
            [
            "rds:DescribeSQLLogRecordsList",
            "rds:DescribeSqlLogDetailArchiveStatus",
            "rds:StartSqlLogDetailArchive"
            ],
            "Resource": "*",
            "Effect": "Allow"
          }
        ]
      }
      说明

      上述自定义权限策略,赋予RAM用户所有RDS实例的导出权限,如果您只需要赋予RAM用户单个RDS实例的导出权限,请将"Resource": "*"替换为"Resource": "acs:rds:*:*:dbinstance/RDS实例ID"

    • PolarDB MySQL版实例:

      {
        "Version": "1",
        "Statement": [
          {
            "Action":
            [
            "polardb:DescribeSQLLogRecords",
            "polardb:DescribeSqlLogDetailArchiveStatus",
            "polardb:StartSqlLogDetailArchive"
            ],
            "Resource": "*",
            "Effect": "Allow"
          }
        ]
      }
      说明

      上述自定义权限策略,赋予RAM用户所有PolarDB MySQL版实例的导出权限,如果您只需要赋予RAM用户单个PolarDB MySQL实例的导出权限,请将"Resource": "*"替换为"Resource": "acs:polardb:*:*:dbcluster/PolarDB MySQL版实例ID"

    • PolarDB-X 2.0实例:

      {
        "Version": "1",
        "Statement": [
          {
            "Action":
            [
            "hdm:DescribeDasSQLLogRecordsList",
            "hdm:DescribeDasSqlLogDetailArchiveStatus",
            "hdm:StartDasSqlLogDetailArchive"
            ],
            "Resource": "*",
            "Effect": "Allow"
          }
        ]
      }
      说明

      上述自定义权限策略,赋予RAM用户所有PolarDB-X 2.0实例的导出权限,如果您只需要赋予RAM用户单个PolarDB-X 2.0实例的导出权限,请将"Resource": "*"替换为"Resource": "acs:polardbx:*:*:instance/PolarDB-X 2.0实例ID"

  2. 将创建好的自定义权限策略授权给目标RAM用户,详情请参见为RAM用户授权

    说明

    在数据库产品的控制台进行导出操作时,需要确保目标RAM用户具有数据库产品控制台的只读访问权限

常见的自定义权限策略

以RDS实例为例,设置单个实例的只读权限:

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "hdm:Get*",
                "hdm:Describe*",
                "hdm:Query*"
            ],
            "Resource": "acs:rds:*:*:dbinstance/RDS实例ID",
            "Effect": "Allow"
        }
    ]
}
说明
  • 实例ID请根据实际替换。

  • 授权后,使用RAM用户登录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 PostgreSQL版(兼容Oracle)实例

    "Resource": "acs:polardb:*:*:*/PolarDB集群ID"
  • PolarDB-X 2.0实例

    "Resource": "acs:polardbx:*:*:*/PolarDB-X 2.0实例ID"