如果RAM提供的系统策略无法满足您的业务需求,您可以通过创建自定义策略实现的精细化权限管理(例如实例或操作级别的授权)。

背景信息

访问控制RAM(Resource Access Management)是阿里云提供的一项管理用户身份与资源访问权限的服务。通过RAM,您可以创建、管理RAM用户(例如员工、系统或应用程序),并可以控制这些RAM用户对资源的操作权限。

本文主要介绍脚本编辑的配置方法,如果选择可视化配置Beta的配置方法,您需要根据界面提示,对权限策略、操作名称和资源等进行配置,更多信息请参见通过可视化编辑模式创建自定义权限策略

适用场景

  • 授权RAM用户管理指定实例或所有实例。
  • 授权RAM用户管理指定实例,且只允许执行特定操作(例如只允许设置白名单)。
说明 在上述场景的基础上,RAM还支持配置授权生效的限制条件,例如:通过指定的IP地址访问阿里云

如果无需精细化的权限管理,您可以为RAM用户授权系统策略。更多信息,请参见通过系统策略授权RAM用户管理Redis实例

步骤一:创建自定义权限策略

  1. 使用阿里云账号登录RAM控制台
  2. 在左侧导航栏,选择权限管理 > 权限策略
  3. 权限策略页面,单击创建权限策略
  4. 创建权限策略页面,单击脚本编辑页签。
  5. 输入策略内容,并单击下一步

    常见的自定义权限策略如下,您只需将下述代码中的Redis实例ID替换为真实的Redis实例ID。

    说明
    {
        "Version": "1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": "kvstore:*",
                "Resource": "acs:kvstore:*:*:*/Redis实例ID",
                "Condition": {}
            },
            {
                "Action": "kvstore:Describe*",
                "Resource": "*",
                "Effect": "Allow"
            }
        ]
    }
    {
        "Version": "1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": "kvstore:*",
                "Resource": [
                    "acs:kvstore:*:*:*/Redis实例ID",
                    "acs:kvstore:*:*:*/Redis实例ID"
                ],
                "Condition": {}
            },
            {
                "Action": "kvstore:Describe*",
                "Resource": "*",
                "Effect": "Allow"
            }
        ]
    }
    {
        "Version": "1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": "kvstore:ModifySecurityIps",
                "Resource": "acs:kvstore:*:*:*/Redis实例ID",
                "Condition": {}
            },
            {
                "Action": "kvstore:Describe*",
                "Resource": "*",
                "Effect": "Allow"
            }
        ]
    }
    {
        "Version": "1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": "kvstore:ModifySecurityIps",
                "Resource": [
                    "acs:kvstore:*:*:*/Redis实例ID",
                    "acs:kvstore:*:*:*/Redis实例ID"
                ],
                "Condition": {}
            },
            {
                "Action": "kvstore:Describe*",
                "Resource": "*",
                "Effect": "Allow"
            }
        ]
    }

  6. 输入权限策略名称备注
  7. 检查并优化权限策略内容。
    • 基础权限策略优化

      系统会对您添加的权限策略语句自动进行基础优化。基础权限策略优化会完成以下任务:

      • 删除不必要的条件。
      • 删除不必要的数组。
    • 可选:高级权限策略优化

      您可以将鼠标悬浮在可选:高级策略优化上,单击执行,对权限策略内容进行高级优化。高级权限策略优化功能会完成以下任务:

      • 拆分不兼容操作的资源或条件。
      • 收缩资源到更小范围。
      • 去重或合并语句。
  8. 单击确定

步骤二:为RAM用户授予自定义权限策略

  1. 使用阿里云账号登录RAM控制台
  2. 创建RAM用户
  3. 在左侧导航栏,选择身份管理 > 用户
  4. 找到目标RAM用户,单击其操作列的添加权限
    图 1. 添加权限
    单击添加权限
  5. 在弹出的对话框中,配置授权信息。
    图 2. 添加自定义权限
    添加自定义权限
    1. 选择授权范围。
      说明 选择为指定资源组时,您还需要在下拉框中选择目标资源组。关于资源组的概念和说明,请参见资源组
    2. 选择权限为自定义策略
    3. 在文本框中输入在步骤一中创建的权限策略名称,本案例输入redis-custom-policy
    4. 单击目标权限策略名称,将其添加到已选择区域框中。
  6. 单击确定
  7. 单击完成

后续步骤

RAM用户登录阿里云控制台