RAM授权支持通过多种方式(ARN授权、资源组授权、标签授权)实现精细化管理,本文以授权RAM用户仅对指定实例具有只读权限为例,演示不同授权方式的具体操作步骤。
前提条件
已创建RAM用户。具体操作,请参见创建RAM用户。
操作步骤
以下授权操作需要由主账号进行操作。
方式一:基于ARN的授权
基于ARN的授权方式,是在创建权限策略时,使用资源ARN(Aliyun Resource Name)来描述被授权的一个或多个对象,实现对指定资源的精准授权。资源ARN的更多信息,请参见权限策略基本元素。
创建权限策略。
登录RAM控制台。
在左侧导航栏选择权限管理 > 权限策略。
单击创建权限策略。
选择可视化编辑或脚本编辑。
可视化编辑
效果选择允许,服务选择云数据库 RDS。
操作选择读操作中的Describe相关权限 。您可以搜索Describe,然后勾选所有Describe相关权限。
资源选择指定资源,配置的ARN选项为
acs:rds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
,其中将资源配置为指定需要授权的实例。条件无需配置。单击添加语句。配置效果为允许,服务为云数据库 RDS。
配置操作为rds:DescribeDBInstances。资源选择全部资源,条件无需配置。
脚本编辑
在脚本编辑窗口中,填写如下内容:
{ "Statement": [ { "Effect": "Allow", "Action": "rds:Describe*", "Resource": "acs:rds:*:*:dbinstance/实例ID" }, { "Effect": "Allow", "Action": "rds:DescribeDBInstances", "Resource": "*" } ], "Version": "1" }
单击确定,在创建权限策略弹窗,填写策略名称和备注,确认策略内容无误后,再次单击确定。
为指定RAM用户应用自定义策略。
在左侧导航栏选择身份管理 > 用户。
找到目标用户,单击右侧操作列的添加权限。
资源范围中配置指定资源组为本示例创建的资源组,然后在权限策略区域,单击自定义策略,搜索已经创建的策略并勾选对应策略。
单击确认新增权限。
RAM用户登录RDS控制台并查看实例。
RAM用户访问RDS实例列表,在上方选择地域即可看到实例列表。
单击已授权的实例,可以正常查看访问实例。
说明该方式授权时,RAM用户可以在实例列表页面看到所有实例,但仅能查看指定被授权的实例,如果查看其他未被授权的实例,将提示权限不足。
至此,配置结束,您已经为RAM用户配置了指定RDS实例的只读权限。您也可以根据自身业务需要,在编辑权限时,授予RAM用户其他权限。
方式二:基于资源组的授权
基于资源组的授权方式,是将需要被授权的资源放置在同一资源组中,然后在为RAM用户授权时,指定被授权资源所在的资源组,实现对指定资源组内所有资源的精准授权。
创建资源组。
登录资源管理控制台,在左侧导航栏单击资源组。
单击创建资源组,配置资源组标识和资源组名称后,单击确认。
将待授权实例转移到新建的资源组中。
在其他资源组中找到待授权的目标实例,例如本示例中,目标实例在默认资源组中,单击默认资源组操作列的资源管理。
通过搜索实例ID查找到目标实例后,选中实例,单击转移资源组。
在转出资源窗口中,选中步骤1中新建的资源组,然后单击确定。
在转出成功窗口单击确定。
如果您在新建的资源组中看到待授权的目标实例,即表示转移资源组成功。
创建权限策略。
登录RAM控制台。
在左侧导航栏选择权限管理 > 权限策略。
单击创建权限策略。
选择可视化编辑或脚本编辑。
可视化编辑
效果选择允许,服务选择云数据库 RDS。
操作选择读操作中的Describe相关权限 。您可以搜索Describe,然后勾选所有Describe相关权限。
资源选择全部资源,条件无需配置。
脚本编辑
在脚本编辑窗口中,填写如下内容:
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "rds:Describe*" ], "Resource": "*" } ] }
单击确定,在创建权限策略弹窗,填写策略名称和备注,确认策略内容无误后,再次单击确定。
为指定RAM用户应用自定义策略。
在左侧导航栏选择身份管理 > 用户。
找到目标用户,单击右侧操作列的添加权限。
资源范围中配置指定资源组为本示例创建的资源组,然后在权限策略区域,单击自定义策略,搜索已经创建的策略并勾选对应策略。
单击完成。
RAM用户登录RDS控制台并查看实例。
RAM用户访问RDS实例列表,在上方选择地域。
在如下图①处选择步骤1创建的资源组,即可看到目标实例。
至此,配置结束,您已经为RAM用户配置了指定RDS实例的只读权限。您也可以根据自身业务需要,在编辑权限时,授予RAM用户其他权限。
方式三:基于自定义标签的授权
基于自定义标签的授权方式,是为需要被授权的资源绑定同一标签,然后在创建权限策略时,使权限策略只被应用在绑定了指定标签的资源上,实现对绑定指定标签的所有资源的精准授权。
为RDS实例绑定自定义标签。
访问RDS实例列表,在上方选择地域,找到目标待授权实例。
在标签列,单击图标,然后单击编辑。
设置标签键和标签值后,单击确认。
本示例设置标签建为
test-ram
,标签值为rds-mysql
,实际配置时,建议使用具有实际含义的标签建和标签值。如果您在标签列查看到如下内容,则表示绑定自定义标签成功。
创建权限策略。
登录RAM控制台。
在左侧导航栏选择权限管理 > 权限策略。
单击创建权限策略。
选择可视化编辑或脚本编辑。
可视化编辑
效果选择允许,服务选择云数据库 RDS。
操作选择读操作中的Describe相关权限 。您可以搜索Describe,然后勾选所有Describe相关权限。
资源选择全部资源。单击添加条件,设置条件键、运算符和条件值。
说明条件的参数配置中,条件键固定配置为
rds:ResourceTag
,运算符固定配置为StringEquals
。条件值配置为步骤1中为RDS示例绑定的标签键和标签值。
脚本编辑
在脚本编辑窗口中,填写如下内容:
说明如下脚本中,
test-ram
和rds-mysql
仅为示例,实际使用时,需要配置为步骤1中为RDS实例绑定的标签键和标签值。{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "rds:Describe*" ], "Resource": [ "*" ], "Condition": { "StringEquals": { "rds:ResourceTag/test-ram": [ "rds-mysql" ] } } } ] }
单击确定,在创建权限策略弹窗,填写策略名称和备注,确认策略内容无误后,再次单击确定。
为指定RAM用户应用自定义策略。
在左侧导航栏选择身份管理 > 用户。
找到目标用户,单击右侧操作列的添加权限。
资源范围中配置指定资源组为本示例创建的资源组,然后在权限策略区域,单击自定义策略,搜索已经创建的策略并勾选对应策略。
单击完成。
RAM用户登录RDS控制台并查看实例。
RAM用户访问RDS实例列表,在上方选择地域。
使用标签筛选功能,筛选步骤1中为RDS实例绑定的标签,即可查看到目标实例。
至此,配置结束,您已经为RAM用户配置了指定RDS实例的只读权限。您也可以根据自身业务需要,在编辑权限时,授予RAM用户其他权限。