RAM授权访问RDS实例

本文介绍如何通过访问控制RAM(Resource Access Management)服务,授权RAM用户(子账号)操作RDS实例的权限。

前提条件

已创建RAM用户。具体操作,请参见创建RAM用户

背景信息

为RAM用户设置权限,本质是授权RAM用户调用某些API接口的权限,例如授权RAM用户可以调用API CreateDBInstance,则用户就可以在控制台上创建实例。

本文以授权RAM用户可以查看RDS实例配置为例,介绍具体的操作步骤。

操作步骤

  1. 创建权限策略。

    1. 登录RAM控制台

    2. 在左侧导航栏选择权限管理 > 权限策略

    3. 单击创建权限策略

    4. 选择编辑模式

      • 可视化编辑

        参数

        说明

        效果

        允许或者拒绝该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*代表相关的操作更加便捷。

    5. 单击继续编辑基本信息

    6. 填写策略名称备注,确认策略内容无误后,单击确定

  2. 为指定RAM用户应用自定义策略。

    1. 在左侧导航栏选择身份管理 > 用户

    2. 找到目标用户,单击右侧操作列的添加权限

    3. 权限策略区域,单击自定义策略,搜索已经创建的策略并勾选对应策略。

    4. 单击确认新增授权

至此,配置结束,您可以使用RAM账号登录控制台查看RDS实例配置。您也可以根据自身业务需要,授予RAM账号相应权限。