首页 云数据库 RDS 最佳实践 为RAM用户授权指定RDS实例的只读权限

为RAM用户授权指定RDS实例的只读权限

本文介绍如何为RAM用户授权,使其仅对指定RDS实例具有只读权限。

背景信息

当前配置RAM授权时,不支持通过ARN的方式为指定RDS实例授权,无法满足精确到实例的精细化管理需求。您可以通过资源组授权标签授权的方式来指定RDS实例,使RAM用户仅对指定实例具有只读的权限。

前提条件

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

操作步骤

配置资源组

  1. 创建资源组。

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

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

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

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

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

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

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

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

  3. 创建权限策略。

    1. 登录RAM控制台

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

    3. 单击创建权限策略

    4. 选择编辑模式

      配置模式

      配置说明

      可视化编辑

      • 效果:选择允许

      • 服务:选择关系型数据库 / RDS

      • 操作:选择读操作中的Describe相关权限 。

        您可以在如图①处搜索Describe,然后勾选所有Describe相关权限。

        image
      • 资源:选择全部资源

      • 条件:无需配置。

      脚本编辑

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

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

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

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

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

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

    3. 授权范围中配置指定资源组为本示例创建的资源组,然后在选择权限区域,单击自定义策略,搜索刚创建的策略并选中该策略,然后单击确定image

    4. 单击完成

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

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

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

至此,配置结束,您已经为RAM用户配置了指定RDS实例的只读权限。您也可以根据自身业务需要,授予RAM用户其他权限。具体操作,请参见RAM授权访问RDS实例

自定义标签

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

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

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

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

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

      image

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

  2. 创建权限策略。

    1. 登录RAM控制台

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

    3. 单击创建权限策略

    4. 选择编辑模式

      编辑模式

      配置说明

      可视化编辑

      • 效果:选择允许

      • 服务:选择关系型数据库 / RDS

      • 操作:选择读操作中的Describe相关权限。

        您可以在如图①处搜索Describe,然后勾选所有Describe相关权限。

        image
      • 资源:选择全部资源

      • 条件:单击添加条件,设置条件键标签建运算符条件值

        说明

        条件的参数配置中,条件键固定配置为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. 在选择权限区域,单击自定义策略,搜索刚创建的策略并单击选中,然后单击确定image

    4. 单击完成

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

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

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

至此,配置结束,您已经为RAM用户配置了指定RDS实例的只读权限。您也可以根据自身业务需要,授予RAM用户其他权限。具体操作,请参见RAM授权访问RDS实例

阿里云首页 关系型数据库 相关技术圈