本文介绍如何通过访问控制RAM(Resource Access Management)服务,授权RAM用户(子账号)操作RDS实例的权限。
前提条件
已创建RAM用户。具体操作,请参见创建RAM用户。
背景信息
为RAM用户设置权限,本质是授权RAM用户调用某些API接口的权限,例如授权RAM用户可以调用API CreateDBInstance,则用户就可以在控制台上创建实例。
本文以授权RAM用户可以查看RDS实例配置为例,介绍具体的操作步骤。
操作步骤
创建权限策略。
登录RAM控制台。
在左侧导航栏选择 。
单击创建权限策略。
选择编辑模式。
可视化编辑
参数
说明
效果
允许或者拒绝该RAM用户进行后续设置的操作。例如允许。
服务
选择目标产品或服务。例如选择关系型数据库 / RDS。
操作
选择操作类型,可以选择全部操作或指定操作。选择指定操作时需要在全部操作中勾选允许的操作,将其加入到已选择操作中。
例如选择读操作。
说明建议勾选允许读操作中的DescribDBInstances,否则无法查看实例列表。
资源
选择资源,可以选择全部资源或指定资源。
选择指定资源时需要添加具体的资源,根据资源ARN格式,单击右侧的添加来匹配指定资源,具体方法如下:
重要为了权限策略的正常生效,控制台中对操作关联的必要资源ARN标识了必要,强烈建议您配置该资源ARN。
例如,
acs:rds:*:{#accountId}:dbinstance/*
为必要配置,如果不配置此项,则RAM账号在实例列表中将看不到任何实例。acs:rds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
(必要):使用地域、账号和实例ID匹配资源。acs:rds:{#regionId}:{#accountId}:dbinstance/*
:使用地域和账号匹配资源。acs:rds:*:{#accountId}:dbinstance/*
(必要):使用账号匹配资源。acs:rds:*:{#accountId}:dbinstance/{#dbinstanceId}
(必要):使用账号和实例ID匹配资源。
说明RAM授权支持通过多种方式(ARN、资源组授权、标签授权)实现精细化管理,例如为RAM账号授权指定RDS实例的只读权限,具体操作,请参见为RAM账号授权指定RDS实例的只读权限。
条件
可以添加更多限制条件,例如限制访问源IP地址。具体配置,请参见权限策略基本元素。
脚本编辑
在下方编辑框内输入以下内容:
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "rds:Describe*", "Resource": "*" } ] }
说明相比可视化编辑,直接用
Describe*
代表相关的操作更加便捷。
单击继续编辑基本信息。
填写策略名称和备注,确认策略内容无误后,单击确定。
为指定RAM用户应用自定义策略。
在左侧导航栏选择 。
找到目标用户,单击右侧操作列的添加权限。
在选择权限区域,单击自定义策略,搜索刚创建的策略并单击选中,然后单击确定。
至此,配置结束,您可以使用RAM账号登录控制台查看RDS实例配置。您也可以根据自身业务需要,授予RAM账号相应权限。