您可以通过访问控制RAM(Resource Access Management)将DAS的管理权限授权给RAM用户,细分账号权限,提升账号安全性。
通过系统权限策略授权RAM用户
创建RAM用户,详情请参见创建RAM用户。
将数据库自治服务的权限授予新建的RAM用户,详情请参见为RAM用户授权。
AliyunHDMFullAccess:为RAM用户授予DAS的完全管理权限。
AliyunHDMReadOnlyAccess:为RAM用户授予DAS的只读访问权限。
AliyunHDMReadOnlyWithSQLLogArchiveAccess:为RAM用户授予DAS的只读访问权限,以及使用SQL洞察和审计的搜索(包含导出)功能的权限。
说明您也可以通过自定义权限策略授予RAM用户使用SQL洞察和审计的搜索(包含导出)功能的权限,详情请参见通过自定义权限策略授权RAM用户使用SQL洞察和审计的搜索(包含导出)功能。
通过自定义权限策略授权RAM用户
如果系统权限策略不能满足您的需求,您可以通过创建自定义权限策略实现精细化权限管理。
权限策略是用语法结构描述的一组权限的集合,可以精确地描述被授权的资源集、操作集以及授权条件。RAM支持的权限策略基本元素和语言规范,请参见权限策略基本元素和权限策略语法和结构。
创建RAM用户,详情请参见创建RAM用户。
创建自定义权限策略,详情请参见通过脚本编辑模式创建自定义权限策略。
将自定义的权限策略授予新建的RAM用户,详情请参见为RAM用户授权。
通过自定义权限策略授权RAM用户使用SQL洞察和审计的搜索(包含导出)功能
创建具有导出功能权限的自定义权限策略,详情请参见通过脚本编辑模式创建自定义权限策略。
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"
。
将创建好的自定义权限策略授权给目标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"