无影云桌面支持通过权限管理实现对云桌面分组管理,既可以授予RAM用户查看或者操作云桌面的权限,也可以控制带有某个标签的云桌面的访问权限。本文介绍如何通过标签控制RAM用户的访问权限,使不同RAM用户可以拥有不同的云桌面的访问和操作权限。

背景信息

标签可用于标识云资源,实现资源的分类管理,可以帮助您从不同维度对具有相同特征的云资源进行分类、搜索和聚合;访问控制RAM可基于权限策略,管理用户身份,控制云资源的访问和操作权限。标签和访问控制RAM结合,将标签作为权限策略的匹配条件,可以实现云资源精细化权限管理。关于标签和访问控制的更多信息,请参见标签概述什么是访问控制

基于标签控制RAM用户权限(即标签鉴权)的逻辑如下:基于标签控制RAM用户权限

使用限制

无影云桌面通过标签实现RAM用户精细化管理只支持桌面管理,用户管理和资源管理等不支持通过标签控制访问权限。

仅支持以下地域:
地域 备注
华东1(杭州) cn-hangzhou
华东2(上海) cn-shanghai
华南1(深圳) cn-shenzhen
华北2(北京) cn-beijing
新加坡 ap-southeast-1
澳大利亚(悉尼) ap-southeast-2
日本(东京) ap-northeast-1
菲律宾(马尼拉) ap-southeast-6

应用场景示例

本文配置的示例结合以下场景说明如何基于标签实现访问权限控制。假设创建一台云桌面,并为桌面绑定标签owner:tony,其中owner为标签键,tony为标签值。具体场景如下:

  • 场景一:不允许创建不带标签的云桌面,创建云桌面时仅当云桌面绑定标签owner:tony才可以创建成功。
  • 场景二:只允许操作绑定标签owner:tony的云桌面,不允许操作没有绑定标签owner:tony的云桌面。

配置示例

以下配置将使用阿里云账号(主账号)新建一个自定义权限策略UseTagCreateECD(规定RAM用户需要指定标签owner:tony后方可创建、查看和操作云桌面),并将自定义权限策略UseTagCreateECD授权给RAM用户Testuser

步骤一:创建自定义策略

  1. 使用阿里云主账号登录RAM控制台
  2. 通过编辑模式创建自定义权限策略。具体步骤,请参见通过可视化编辑模式创建自定义权限策略
    说明 权限策略是一组访问权限的集合。结构包括版本号和授权语句列表,每条授权语句包括授权效果(Effect)、操作(Action)、资源(Resource)以及条件(Condition,可选项)。更多信息,请参见权限策略基本元素权限策略语法和结构
    在权限策略的Condition中,可以添加标签的条件以实现精细化的权限管理。

    以下示例中您可以在Condition字段中为云桌面设置多个标签条件来分组管理云桌面及其访问权限控制。支持的标签鉴权条件如下:

    标签鉴权条件 说明
    acs:RequestTag 限制在请求中必须传入特定的标签。

    如果API请求中没有标签参数,则不能使用acs:RequestTag,否则会导致鉴权失败。

    acs:ResourceTag 限制指定的资源必须包含特定的标签。

    如果API请求中没有资源ID参数,则不能使用acs:ResourceTag,否则会导致鉴权失败。

    根据应用场景示例,基于标签管控访问权限时设计如下权限策略:
    应用场景 权限策略
    场景一:不允许创建不带标签owner:tony的云桌面,创建云桌面时仅当云桌面绑定标签owner:tony才可以创建成功。
    {
        "Action":"ecd:CreateDesktops",
        "Effect":"Allow",
        "Condition":{
            "StringEquals":{
                "acs:RequestTag/owner":[
                    "tony"
                ]
            }
        },
        "Resource":"acs:ecd:*:*:ecddesktop/*"
    }
    场景二:只允许操作绑定标签owner:tony的云桌面,不允许操作没有绑定标签owner:tony的云桌面。
    {
        "Action":"ecd:*",
        "Effect":"Allow",
        "Condition":{
            "StringEquals":{
                "acs:ResourceTag/owner":[
                    "tony"
                ]
            }
        },
        "Resource":"acs:ecd:*:*:ecddesktop/*"
    }

    完整的权限策略展示如下:

    {
        "Version": "1",
        "Statement": [
            {
                "Action": "ecd:CreateDesktops",
                "Effect": "Allow",
                "Condition": {
                    "StringEquals": {
                        "acs:RequestTag/owner": [
                            "tony"
                        ]
                    }
                },
                "Resource": "acs:ecd:*:*:ecddesktop/*"
            },
            {
                "Action": "ecd:*",
                "Effect": "Allow",
                "Condition": {
                    "StringEquals": {
                        "acs:ResourceTag/owner": [
                            "tony"
                        ]
                    }
                },
                "Resource": "acs:ecd:*:*:ecddesktop/*"
            },
            {
                "Action": [
                    "*:List*",
                    "*:Describe*",
                    "bss:PayOrder"
                ],
                "Effect": "Allow",
                "Resource": "*"
            },
            {
                "Action": "*",
                "Effect": "Allow",
                "Resource": [
                    "acs:ecd:*:*:officesite/*",
                    "acs:ecd:*:*:ecdpolicy/*",
                    "acs:ecd:*:*:ecdimage/*",
                    "acs:ecd:*:*:ecdbundle/*"
                ]
            }
        ]
    }
  3. 输入权限策略名称,单击确定
    例如输入UseTagCreateECD

步骤二:将自定义权限策略授权给RAM用户

  1. 在左侧导航栏选择身份管理 > 用户
  2. 创建RAM用户。
    请根据需要创建RAM用户。具体操作,请参见创建RAM用户
    说明 如果已有RAM用户,请跳过此步骤。
  3. 为RAM用户授权。
    为RAM用户授予新创建的自定义权限策略,具体操作,请参见为RAM用户授权

步骤三:验证权限策略是否生效

  1. 使用RAM用户登录无影云桌面控制台或者登录OpenAPI平台
  2. 在无影云桌面控制台或者调用API对云桌面进行相应操作,测试权限策略是否生效。
    • 创建云桌面来验证场景一。
      • 绑定标签owner:tony的云桌面,则可以成功创建该云桌面。
      • 未绑定标签owner:tony或者绑定了其他标签的云桌面,则会弹出如下对话框,提示没有权限。创建云桌面
    • 释放云桌面来验证场景二。
      • 释放已绑定标签owner:tony的云桌面时,则可以释放该云桌面。
      • 释放未绑定标签owner:tony或绑定了其他标签的云桌面时,则会弹出如下对话框,提示没有权限。创建云桌面

支持标签鉴权的API接口说明

为指定的RAM用户授予标签鉴权的权限策略后,该RAM用户调用云桌面的API接口时支持使用标签鉴权管理云桌面。更多信息,请参见API参考(云桌面管控)中的桌面章节。