本文介绍了如何利用标签对RDS实例进行分组并授权,以满足RAM用户只能查看和操作被授权资源的需求。

前提条件

进行操作前,请确保您已经注册了阿里云账号。如还未注册,请先完成账号注册

背景信息

假设您的账号购买了10个RDS实例,其中5个想要授权给developer团队,另外5个授权给operator团队。企业希望每个团队只能查看被授权的实例,未被授权的不允许查看。

利用标签对RDS分组授权的操作步骤

具体操作步骤请参见利用标签对ECS实例进行分组授权

RDS相关自定义策略:

{
  "Statement": [
    {
      "Action": "rds:*",
      "Effect": "Allow",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "rds:ResourceTag/team": "dev"
         }
       }
     },
    {
       "Action": "rds:DescribeTag*",
       "Effect": "Allow",
       "Resource": "*"
     }
  ],
  "Version": "1"
}

权限策略内容分为两部分:

  • 其中带有Condition"Action": "rds:*"部分用于过滤标签为team:dev的资源。Condition部分的关键字为rds:ResourceTag
  • "Action": "rds:DescribeTag*"用于展示所有标签。当RAM用户在操作RDS控制台时,系统展示出所有标签供RAM用户选择,只有当RAM用户选择了标签值后,系统才能根据选中的标签值过滤相应资源。

常见问题

利用标签对RDS实例分组授权后,如果遇到RAM用户登录控制台报无权限的问题,请检查如下事项:

  • 标签已被绑定到正确的实例上。
  • 权限策略与实例上的标签键、标签值完全相同。
    说明 RDS的标签键值不可以使用大写字母,若输入大写字母在保存时会被自动转换成小写字母。
  • 登录到RDS控制台的RAM用户已被授予了期望的权限策略。
  • 控制台展示的当前地域是期望地域。
  • 已选中相应标签值,此时系统才可以过滤出相应资源。
说明 RAM用户登录RDS控制台后,控制台会提示“您没有指定资源的操作权限,请先对资源进行授权操作。”,请关掉该错误提示。出现该错误提示的原因是因为控制台默认展示所有资源,而当前RAM用户并没有查看所有资源的权限,所以会报错。