全部产品
Search
文档中心

云数据库 RDS:为RAM用户授权指定RDS实例的只读权限

更新时间:Jun 19, 2024

RAM授权支持通过多种方式(ARN授权资源组授权标签授权)实现精细化管理,本文以授权RAM用户仅对指定实例具有只读权限为例,演示不同授权方式的具体操作步骤。

前提条件

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

操作步骤

说明

以下授权操作需要由主账号进行操作。

方式一:基于ARN的授权

基于ARN的授权方式,是在创建权限策略时,使用资源ARN(Aliyun Resource Name)来描述被授权的一个或多个对象,实现对指定资源的精准授权。资源ARN的更多信息,请参见权限策略基本元素

  1. 创建权限策略。

    1. 登录RAM控制台

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

    3. 单击创建权限策略

    4. 选择编辑模式

      • 可视化编辑

        1. 效果选择允许

        2. 服务选择关系型数据库 / RDS

        3. 操作选择读操作中的Describe相关权限 。

          说明

          您可以搜索Describe,然后勾选所有Describe相关权限。

        4. 资源选择指定资源,配置的ARN选项为acs:rds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId},其中将资源配置为指定需要授权的实例。image.png

        5. 条件无需配置。

        6. 单击添加语句image.png

        7. 配置效果允许服务关系型数据库 / RDS

        8. 配置操作DescribeDBInstances。

        9. 资源选择全部资源条件无需配置。

      • 脚本编辑

        在脚本编辑窗口中,填写如下内容:

        {
          "Statement": [
            {
              "Effect": "Allow",
              "Action": "rds:Describe*",
              "Resource": "acs:rds:*:*:dbinstance/实例ID"
            },
            {
              "Effect": "Allow",
              "Action": "rds:DescribeDBInstances",
              "Resource": "*"
            }
          ],
          "Version": "1"
        }
    5. 单击继续编辑基本信息

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

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

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

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

    3. 资源范围中配置指定资源组为本示例创建的资源组,然后在权限策略区域,单击自定义策略,搜索已经创建的策略并勾选对应策略。

    4. 单击完成

  3. RAM用户登录RDS控制台并查看实例。

    1. RAM用户访问RDS实例列表,在上方选择地域即可看到实例列表。

    2. 单击已授权的实例,可以正常查看访问实例。

      说明

      该方式授权时,RAM用户可以在实例列表页面看到所有实例,但仅能查看指定被授权的实例,如果查看其他未被授权的实例,将提示权限不足。

至此,配置结束,您已经为RAM用户配置了指定RDS实例的只读权限。您也可以根据自身业务需要,在编辑权限时,授予RAM用户其他权限。

方式二:基于资源组的授权

基于资源组的授权方式,是将需要被授权的资源放置在同一资源组中,然后在为RAM用户授权时,指定被授权资源所在的资源组,实现对指定资源组内所有资源的精准授权。

  1. 创建资源组。

    1. 登录资源管理控制台,在左侧导航栏单击资源组

    2. 单击创建资源组,配置资源组标识资源组名称后,单击确认

  2. 将待授权实例转移到新建的资源组中。

    1. 在其他资源组中找到待授权的目标实例,例如本示例中,目标实例在默认资源组中,单击默认资源组操作列的资源管理

    2. 通过搜索实例ID查找到目标实例后,选中实例,单击转移资源组image

    3. 转出资源窗口中,选中步骤1中新建的资源组,然后单击确定image

    4. 在转出成功窗口单击确定

      如果您在新建的资源组中看到待授权的目标实例,即表示转移资源组成功。

  3. 创建权限策略。

    1. 登录RAM控制台

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

    3. 单击创建权限策略

    4. 选择编辑模式

      • 可视化编辑

        1. 效果选择允许

        2. 服务选择关系型数据库 / RDS

        3. 操作选择读操作中的Describe相关权限 。

          说明

          您可以搜索Describe,然后勾选所有Describe相关权限。

        4. 资源选择全部资源

        5. 条件无需配置。

      • 脚本编辑

        在脚本编辑窗口中,填写如下内容:

        {
            "Version": "1",
            "Statement": [
                {
                    "Effect": "Allow",
                    "Action": [
                        "rds:Describe*"
                    ],
                    "Resource": "*"
                }
            ]
        }
    5. 单击继续编辑基本信息

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

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

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

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

    3. 资源范围中配置指定资源组为本示例创建的资源组,然后在权限策略区域,单击自定义策略,搜索已经创建的策略并勾选对应策略。

    4. 单击完成

  5. RAM用户登录RDS控制台并查看实例。

    1. RAM用户访问RDS实例列表,在上方选择地域。

    2. 在如下图①处选择步骤1创建的资源组,即可看到目标实例。image

至此,配置结束,您已经为RAM用户配置了指定RDS实例的只读权限。您也可以根据自身业务需要,在编辑权限时,授予RAM用户其他权限。

方式三:基于自定义标签的授权

基于自定义标签的授权方式,是为需要被授权的资源绑定同一标签,然后在创建权限策略时,使权限策略只被应用在绑定了指定标签的资源上,实现对绑定指定标签的所有资源的精准授权。

  1. 为RDS实例绑定自定义标签。

    1. 访问RDS实例列表,在上方选择地域,找到目标待授权实例。

    2. 标签列,单击image图标,然后单击编辑image

    3. 设置标签键标签值后,单击确认

      本示例设置标签建test-ram标签值rds-mysql,实际配置时,建议使用具有实际含义的标签建和标签值。

      如果您在标签列查看到如下内容,则表示绑定自定义标签成功。image

  2. 创建权限策略。

    1. 登录RAM控制台

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

    3. 单击创建权限策略

    4. 选择编辑模式

      • 可视化编辑

        1. 效果选择允许

        2. 服务选择关系型数据库 / RDS

        3. 操作选择读操作中的Describe相关权限 。

          说明

          您可以搜索Describe,然后勾选所有Describe相关权限。

        4. 资源选择全部资源

        5. 单击添加条件,设置条件键标签键运算符条件值

          说明

          条件的参数配置中,条件键固定配置为rds:ResourceTag运算符固定配置为StringEquals标签键条件值配置为步骤1中为RDS示例绑定的标签键标签值

          image

      • 脚本编辑

        在脚本编辑窗口中,填写如下内容:

        说明

        如下脚本中,test-ramrds-mysql仅为示例,实际使用时,需要配置为步骤1中为RDS实例绑定的标签键标签值

        {
          "Version": "1",
          "Statement": [
            {
              "Effect": "Allow",
              "Action": [
                "rds:Describe*"
              ],
              "Resource": [
                "*"
              ],
              "Condition": {
                "StringEquals": {
                  "rds:ResourceTag/test-ram": [
                    "rds-mysql"
                  ]
                }
              }
            }
          ]
        }
    5. 单击继续编辑基本信息

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

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

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

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

    3. 资源范围中配置指定资源组为本示例创建的资源组,然后在权限策略区域,单击自定义策略,搜索已经创建的策略并勾选对应策略。

    4. 单击完成

  4. RAM用户登录RDS控制台并查看实例。

    1. RAM用户访问RDS实例列表,在上方选择地域。

    2. 使用标签筛选功能,筛选步骤1中为RDS实例绑定的标签,即可查看到目标实例。image

至此,配置结束,您已经为RAM用户配置了指定RDS实例的只读权限。您也可以根据自身业务需要,在编辑权限时,授予RAM用户其他权限。