ECS基于标签动态进行资源权限管理

本文涉及的产品
轻量应用服务器 2vCPU 4GiB,适用于搭建Web应用/小程序
轻量应用服务器 2vCPU 4GiB,适用于网站搭建
轻量应用服务器 2vCPU 1GiB,适用于搭建电商独立站
简介: 某上云企业希望进行权限动态管理,又不希望进行策略频繁变更的时候。可以基于标签进行授权,当添加标签的时候就有权限,删除标签的时候就没有权限。方便快捷的进行动态的权限管理。具体如何实现动态权限管理?本文将针对此问题进行介绍。

场景

某公司希望根据不同的角色对于资源进行管理。

  • datacenter成员: 授权访问带有project:datacenter的ECS所有资源。
  • bizcenter成员:授权访问带有project:bizcenter的ECS所有资源。
  • 资源生产者: 资源生产。
  • 资源授权管理者: 资源授权:对资源进行打标签, 需要资源具备权限则添加该标签,希望资源没有权限删除该标签就可以,不需要进行权限修改。

权限设计如下

datacenter成员

  • 子账号直接使用情况,具体到访问控制进行操作。
  • 属于该项目的成员所使用子账号通过授权下列权限就可以访问datacenter的资源。
  • 注意:在ecs控制台过滤资源时需要根据标签project:datacenter才能看到资源,默认情况没有筛选标签是看不到资源的。

授权策略设计如下:

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "ecs:*",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "acs:ResourceTag/project": "datacenter"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "ecs:List*",
        "ecs:Describe*"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "acs:RequestTag/project": "datacenter"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "tag:List*",
        "ecs:DescribeTags",
        "ecs:DescribeResourceByTags",
        "ecs:DescribeTagKeys",
        "ecs:ListTagResources",
        "ecs:DescribeRegions",
        "ecs:DescribeZones",
        "ecs:DescribeDisk*",
        "ecs:DescribeSecurityGroup*",
        "ecs:DescribeInstanceTypes",
        "ecs:DescribeSnapshot*",
        "ecs:DescribeNetworkInterface*",
        "actiontrail:LookupEvents"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "ecs:InvokeCommand",
        "ecs:RunCommand",
        "ecs:StopInvocation",
        "ecs:SendFile"
      ],
      "Resource": "acs:ecs:*:*:instance/*",
      "Condition": {
        "StringEquals": {
          "acs:ResourceTag/project": "datacenter"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "ecs:InvokeCommand",
        "ecs:RunCommand",
        "ecs:StopInvocation",
        "ecs:SendFile"
      ],
      "Resource": "acs:ecs:*:*:command/*"
    }
  ]
}

bizcenter成员

  • 子账号通过固定角色使用该权限
  • 访问控制 控制台-身份管理-角色-创建角色,名称为bizcenter-member
  • 注意:在ecs控制台过滤资源时需要根据标签project:bizcenter才能看到资源,默认情况没有筛选标签是看不到资源的。

授权策略设计如下:

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "ecs:*",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "acs:ResourceTag/project": "bizcenter"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "ecs:List*",
        "ecs:Describe*"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "acs:RequestTag/project": "bizcenter"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "tag:List*",
        "ecs:DescribeTags",
        "ecs:DescribeResourceByTags",
        "ecs:DescribeTagKeys",
        "ecs:ListTagResources",
        "ecs:DescribeRegions",
        "ecs:DescribeZones",
        "ecs:DescribeDisk*",
        "ecs:DescribeSecurityGroup*",
        "ecs:DescribeInstanceTypes",
        "ecs:DescribeSnapshot*",
        "ecs:DescribeNetworkInterface*",
        "actiontrail:LookupEvents"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "ecs:InvokeCommand",
        "ecs:RunCommand",
        "ecs:StopInvocation",
        "ecs:SendFile"
      ],
      "Resource": "acs:ecs:*:*:instance/*",
      "Condition": {
        "StringEquals": {
          "acs:ResourceTag/project": "bizcenter"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "ecs:InvokeCommand",
        "ecs:RunCommand",
        "ecs:StopInvocation",
        "ecs:SendFile"
      ],
      "Resource": "acs:ecs:*:*:command/*"
    }
  ]
}

  • bizcenter成员所使用子账号需要通过角色扮演bizcenter-member进行使用bizcenter的资源。

授权策略设计如下:

{
    "Statement": [
        {
            "Action": "sts:AssumeRole",
            "Effect": "Allow",
            "Resource": "acs:ram:*:*:role/bizcenter-member"
        }
    ],
    "Version": "1"
}

资源生产者

  • 如果资源生产者是资源管理者则使用AliyunECSFullAccess权限即可。
  • 如果资源生产者生产的资源必须带有标签project:anyValue,则权限如下。

授权策略设计如下:

{
    "Version": "1",
    "Statement": [
         {
            "Effect": "Allow",
            "Action": [
                "ecs:Run*",
                "ecs:Create*",
                "ecs:Purchase*"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "acs:RequestTag/project": "*"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ecs:List*",
                "ecs:Describe*",
                "vpc:DescribeVpcs",
                "vpc:DescribeVSwitches",
                "bss:PayOrder"
            ],
            "Resource": "*"
        }
    ]
}

资源授权管理者

  • 如果资源授权管理者必须对资源打上标签project:anyValue标签,则权限如下:
  • 如何识别资源标签规范可以使用标签策略,确保资源都可以进行正确的标签。

授权策略设计如下:

{
    "Version": "1",
    "Statement": [
         {
            "Effect": "Allow",
            "Action": [
                "ecs:Tag*"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "acs:RequestTag/project": "*"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "tag:*",
                "ecs:Untag*",
                "ecs:List*",
                "ecs:Describe*"
            ],
            "Resource": "*"
        }
    ]
}
相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
3月前
|
存储 安全 数据管理
服务器违规资源被删,数据定时备份OSS 云存储才是 “救命稻草”
在数字化时代,数据已成为企业与个人的核心资产。然而,服务器违规、硬件故障等问题频发,导致数据丢失、业务中断,甚至造成不可挽回的损失。为保障数据安全与业务连续性,定时备份至关重要。阿里云国际站OSS提供高效、可靠的云存储解决方案,支持自动定时备份,帮助用户轻松应对数据风险。本文详解OSS备份操作步骤与注意事项,助你为数据穿上“防护甲”,实现安全无忧存储。
|
4月前
|
机器学习/深度学习 人工智能 运维
“服务器老是爆?资源老是浪费?试试用 AI 来规划容量!”
“服务器老是爆?资源老是浪费?试试用 AI 来规划容量!”
108 4
|
7月前
|
缓存 人工智能 架构师
释放数据潜力:利用 MCP 资源让大模型读懂你的服务器
MCP(Model Control Protocol)资源系统是将服务器数据暴露给客户端的核心机制,支持文本和二进制两种类型资源。资源通过唯一URI标识,客户端可通过资源列表或模板发现资源,并使用`resources/read`接口读取内容。MCP还支持资源实时更新通知及订阅机制,确保动态数据的及时性。实现时需遵循最佳实践,如清晰命名、设置MIME类型和缓存策略,同时注重安全性,包括访问控制、路径清理和速率限制等。提供的示例代码展示了如何用JavaScript和Python实现资源支持。
791 80
|
5月前
|
C# 图形学 开发者
Unity开发中使用UnityWebRequest从HTTP服务器下载资源。
总之,UnityWebRequest就是游戏开发者手中的万能钓鱼竿,既可以获取文本数据,也能钓上图片资源,甚至是那声音的涟漪。使用UnityWebRequest的时候,你需要精心准备,比如确定URL、配置请求类型和头信息;发起请求;巧妙处理钓获的数据;还需要机智面对网络波澜,处理各种可能出现的错误。按照这样的过程,数据的钓取将会是一次既轻松愉快也效率高效的编程钓鱼之旅。
245 18
|
8月前
|
自然语言处理 安全 开发工具
分享一个纯净无广、原版操作系统、开发人员工具、服务器等资源免费下载的网站
分享一个纯净无广、原版操作系统、开发人员工具、服务器等资源免费下载的网站
360 4
|
9月前
|
存储 人工智能 并行计算
2025年阿里云弹性裸金属服务器架构解析与资源配置方案
🚀 核心特性与技术创新:提供100%物理机性能输出,支持NVIDIA A100/V100 GPU直通,无虚拟化层损耗。网络与存储优化,400万PPS吞吐量,ESSD云盘IOPS达100万,RDMA延迟<5μs。全球部署覆盖华北、华东、华南及海外节点,支持跨地域负载均衡。典型应用场景包括AI训练、科学计算等,支持分布式训练和并行计算框架。弹性裸金属服务器+OSS存储+高速网络综合部署,满足高性能计算需求。
|
9月前
|
机器学习/深度学习 运维 资源调度
深度学习在资源利用率优化中的应用:让服务器更聪明
深度学习在资源利用率优化中的应用:让服务器更聪明
350 6
|
10月前
|
弹性计算 运维 Kubernetes
使用ACK Edge统一管理多地域的ECS资源
本文介绍如何使用ACK Edge来管理分布在多个地域的ECS资源。
|
9月前
|
弹性计算 运维 Kubernetes
使用ACK Edge统一管理多地域的ECS资源
使用ACK Edge统一管理多地域的ECS资源
124 0
|
11月前
|
安全 云计算
服务器系统资源不足怎么办
服务器系统资源不足怎么办
605 4

热门文章

最新文章

相关产品

  • 云服务器 ECS