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

      操作

      选择操作类型,可以选择全部操作指定操作。选择指定操作时需要在全部操作中勾选允许的操作,将其加入到已选择操作中。

      例如选择读操作

      选择操作

      说明

      建议勾选允许读操作中的DescribeDBInstances,否则无法查看实例列表。

      资源

      选择资源,可以选择全部资源指定资源

      选择指定资源时需要添加具体的资源,根据资源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. 单击确定,在创建权限策略弹窗,填写策略名称备注,确认策略内容无误后,再次单击确定

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

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

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

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

    4. 单击确认新增授权

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