如果RAM提供的系统策略无法满足您的业务需求,您可以通过创建自定义策略对云原生数据库PolarDB进行精细化权限管理(例如资源或操作级别的授权)。
前提条件
使用RAM进行权限管理前,请确保您已完成
账号注册。
背景信息
- 权限策略是用语法结构描述的一组权限的集合,可以精确地描述被授权的资源集、操作集以及授权条件,详细的语言规范请参见权限策略语法和结构。
- 使用自定义策略对PolarDB进行精细化权限管理前,请先了解PolarDB的权限定义,详情请参见RAM资源授权。
说明 如果需要自定义各种权限类型组合或授予某些表级别权限等场景,您可以通过数据管理DMS推出的数据库账号权限管理功能进行灵活管控,详情请参见
MySQL数据库账号权限管理。
步骤一:创建自定义权限策略
- 登录RAM控制台。
- 在左侧导航栏,单击。
- 单击创建权限策略。
- 在新建自定义权限策略,配置自定义策略信息。

配置 |
说明 |
策略名称 |
建议填入具备业务意义的名称以便后续识别。 |
备注(可选) |
填入该策略的备注信息。 |
配置模式 |
PolarDB仅支持脚本配置,此处选择为脚本配置。
|
策略内容 |
下拉选择系统已有的策略,将其导入至本策略中。
|
策略编辑框 |
填入具体的权限策略信息,表格下方为您列出了一些常见的自定义权限策略供您参考。
说明
- 权限策略是用语法结构描述的一组权限的集合,可以精确地描述被授权的资源集、操作集以及授权条件,详细的语言规范请参见权限策略语法和结构。
- 当前支持资源(Resource)和操作(Action)级别的授权。
|
常见的自定义权限策略:
- 示例1:授权目标RAM用户管理2个指定的PolarDB集群。
假设您的账号下拥有多个PolarDB集群,但作为RAM管理员,您希望仅授权其中的2个集群(集群ID分别为i-001和i-002)给目标RAM用户,那么您可以创建如下权限策略:
{
"Statement": [
{
"Action": "polardb:*",
"Effect": "Allow",
"Resource": [
"acs:polardb:*:*:dbinstance/i-001",
"acs:polardb:*:*:dbinstance/i-002"
]
},
{
"Action": "polardb:Describe*",
"Effect": "Allow",
"Resource": "*"
}
],
"Version": "1"
}
说明
- 被授予该权限策略的RAM用户号可以查看所有的集群及资源,但只能管理已被授权的2个集群(即集群i-001和集群i-002)。同时作为RAM管理员,您仍然可以使用API、CLI或SDK直接管理上述两个集群。
Describe*
在权限策略中是必须的,否则被授权的RAM用户无法在控制台看到任何集群。
- 示例2:仅授权PolarDB的部分功能给目标RAM用户。
假设您希望仅授权PolarDB的部分功能给目标RAM用户,则可以创建如下权限策略:
{
"Statement": [
{
"Action": [
"polardb:Describe*",
"polardb:CreateBackup",
"polardb:DeleteBackup",
"polardb:ModifyDBClusterAccessWhitelist"
],
"Resource": "*",
"Effect": "Allow"
}
],
"Version": "1"
}
说明
- 被授予该权限策略的目标RAM用户仅可以对账号下所有的PolarDB集群进行集群信息查询、备份查询、创建备份、删除备份、修改白名单操作,但不允许进行其他任何操作。
- PolarDB支持通过RAM进行API级别的访问控制,您可以通过相关API对PolarDB进行细粒度的权限访问控制,详情请参见支持RAM的云服务和API概览。
- 单击确定。
步骤二:为RAM用户授权自定义策略
- 登录RAM控制台。
- 在左侧导航栏单击。
- 在权限策略管理页,找到目标自定义权限策略,单击权限策略名称。
- 在目标权限策略的基本信息页,单击引用记录页签。
- 单击新增授权,在弹出的对话框中,设置以下参数。
参数 |
说明 |
授权范围 |
您可以选择授权范围为云账号全部资源或指定资源组。
|
被授权主体 |
您可以在搜索框内输入目标RAM用户、用户组或RAM角色名称进行模糊搜索,并在搜索结果中选择目标RAM用户。 |
选择权限 |
目标自定义权限策略默认已加入右侧已选择框中,若您还需为目标RAM用户添加其他权限,可在左边待选框中选中对应的权限策略名称加入右侧已选择框。
说明 每次最多添加5条策略,如需添加更多策略,请分多次进行。
|
- 单击确定。