本文介绍了通过RAM的权限管理功能,创建相应的权限策略,从而对云数据库(RDS)进行权限管理,以满足RAM用户操作RDS的多种需求。

前提条件

请确保您已经注册了阿里云账号。如还未注册,请先完成账号注册。详情请参见账号注册

基本信息

使用RAM对RDS进行权限管理前,需先了解几个常用的权限策略。

权限策略 描述
AliyunRDSFullAccess 为RAM用户授予RDS的完全管理权限。
AliyunRDSReadOnlyAccess 为RAM用户授予RDS的只读访问权限。
说明 查看RDS的权限定义,请参考RDS产品文档中的RAM资源授权

将自定义策略授权给RAM用户

  1. 根据下述 RDS授权样例创建相应的自定义策略。

    详情请参考:创建自定义策略

  2. 找到创建好的权限策略,单击其权限策略名称
  3. 单击引用记录 > 新增授权
  4. 被授权主体处输入需要授权的用户名称或ID。
  5. 单击确定
    说明 您也可以直接对用户用户组授予创建好的权限策略,详情请参见为RAM用户授权为用户组授权

RDS授权样例

  • 示例1:授权RAM用户管理2台指定的RDS实例。

    假设您的账号购买了多个实例,而作为RAM管理员,您希望仅授权其中的2个实例给某个RAM用户。实例ID分别为:i-001,i-002。

    {
      "Statement": [
        {
          "Action": "rds:*",
          "Effect": "Allow",
          "Resource": [
                      "acs:rds:*:*:dbinstance/i-001",
                      "acs:rds:*:*:dbinstance/i-002"
                      ]
        },
        {
          "Action": "rds:Describe*",
          "Effect": "Allow",
          "Resource": "*"
        }
      ],
      "Version": "1"
    }
    说明
    • 授予该权限策略的RAM用户可以查看所有的实例及资源,但只能操作其中2个实例。
    • Describe*在权限策略中是必须的,否则用户在控制台将无法看到任何实例,使用API、CLI或SDK直接对两个实例进行操作是可以的。
  • 示例2:授权RAM用户访问DMS管理数据库内容。
    • 授权RAM用户登录指定RDS:
      {
        "Statement": [
          {
            "Action": "dms:LoginDatabase",
            "Effect": "Allow",
            "Resource": "acs:rds:*:*:dbinstance/rds783a0639ks5k7****"
          }
        ],
        "Version": "1"
      }
      说明 请将rds783a0639ks5k7****替换为您要授权的RDS实例ID。
    • 授权RAM用户登录所有RDS:
      {
        "Statement": [
          {
            "Action": "dms:LoginDatabase",
            "Effect": "Allow",
            "Resource": "acs:rds:*:*:*"
          }
        ],
        "Version": "1"
      }