高阶实践:强制TAG——必须带标签创建ECS 资源

简介: 基于标签(TAG)可以进行资源访问控制,但是我们怎么限制用户只有当有某个标签的时候才允许创建呢?本文接下来就针对ECS(弹性计算) 支持标签的资源:实例(instance)、磁盘(disk)、镜像(image)、网卡(eni)、快照(snapshot)、安全组(securitygroup)、密钥对(keypair)等。

问题

如何创建访问控制 (RAM) 策略来授予子账号(sub User)在指定的标签(TAG)下 创建和管理 ECS 中 资源(支持标签的资源)的权限? 该策略必须限制在标签(TAG)级别权限,以便 RAM 子账号可以创建包含特定标签的 ECS 资源,并管理带有标签ECS资源。

场景描述

使用指定标签(TAG)为子账号(RAM User)限定访问ECS资源的边界,这里指支持标签的ECS资源:实例/磁盘/网卡/安全组/快照/镜像。

简述

控制对ECS资源,比如ECS实例创建必须带某个标签TAG,否则不可以创建,具体操作如下所示

  1. 创建RAM策略:创建一个 RAM 策略,以授予对任何带该特定标签(TAG)​的访问权限(主要针对ECS)。
  2. 授权用户:将该 RAM 策略附加到您希望访问具备该标签(TAG)的用户或组。
  3. 资源准备:有权限的账号创建VPC实例及VSW实例,创建完成后打上特定标签(TAG)。
    注: 下述策略没有给出创建VPC/VSW的权限,需要可以自行添加创建权限策略。
  4. 安全组强制标签创建:不带特定标签(TAG)创建安全组,创建不成功;带特定标签(TAG)创建安全组,创建成功。
  5. 独立磁盘强制标签创建:不带特定标签(TAG)创建磁盘:创建不成功;带特定标签(TAG)创建磁盘,创建成功。
  6. 实例强制标签创建:不带特定标签(TAG)创建实例:创建不成功;带特定标签(TAG)创建实例:实例创建需要依赖带特定标签(TAG)的VPC/VSwitch/安全组,同时实例上也打上带特定标签(TAG),方可创建成功。
  7. 快照强制标签创建:不带特定标签(TAG)创建快照:创建不成功;带特定标签(TAG)创建快照,创建成功。
  8. 自定义镜像强制标签创建:不带特定标签(TAG)创建自定义镜像:创建不成功;带特定标签(TAG)创建自定义镜像,创建成功。
  9. 辅助网卡强制标签创建:不带特定标签(TAG)创建辅助网卡:创建不成功;带特定标签(TAG)创建辅助网卡,创建成功。

解决方法

创建RAM策略

访问控制台 或者 或者使用 RAM API CreatePolicy 创建策略
策略如下:

  • 允许部分ECS查询接口(标签查询接口3个,创建需要资源查询接口若干个)、VPC查询接口( "vpc:DescribeVpcs","vpc:DescribeVSwitches")、支付订单接口("bss:PayOrder")
  • 不允许操作TAG相关接口
  • 除以上外,必须带有特定标签(key=owner value=zhangsan)的资源才有权限查询或者操作相关资源的权限。这里因为使用到VPC的资源(vpc及Vswitch)也现在其必须要特定的标签才能使用。
{
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "ecs:*",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "ecs:tag/owner": "zhangsan"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "ecs:*",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "vpc:tag/owner": "zhangsan"
                }
            }
        },
        {
            "Action": [
                "ecs:DescribeTagKeys",
                "ecs:ListTagResources",
                "ecs:DescribeTags",
                "ecs:DescribeKeyPairs",
                "ecs:DescribeImages",
                "ecs:DescribeSecurityGroups",
                "ecs:DescribeLaunchTemplates",
                "ecs:DescribeDedicatedHosts",
                "ecs:DescribeDedicatedHostTypes",
                "ecs:ecs:DescribeAutoSnapshotPolicyEx",
                "vpc:DescribeVpcs",
                "vpc:DescribeVSwitches",
                "bss:PayOrder"
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Effect": "Deny",
            "Action": [
                "ecs:RemoveTags",
                "ecs:UntagResources",
                "ecs:AddTags",
                "ecs:TagResources"
            ],
            "Resource": "*"
        }
    ],
    "Version": "1"
}

授权用户

将已创建的 RAM 策略附加到您希望控制访问的用户或组。您可以使用 RAM 管理控制台、阿里云 CLI、阿里云 API AttachPolicyToUser AttachPolicyToGroup来添加 RAM 策略。

VPC资源准备

本文没有给VPC创建的权限。使用有VPC创建权限的账号,进入VPC控制台创建VPC
image.png
image.png
使用APITagResources
image.png
给创建出来的VPC/VSwitch都打上强制标签(key=owner value=zhangsan),当然其他标签(key=env, value=test)也可以同时加上,基于本文的RAM策略不影响访问权限。

安全组强制标签创建

ECS(云服务器)控制台 点击 网络与安全 - 点击 安全组 在安全组列表页面点击 创建安全组 填入对应的参数。
注意此处VPC资源必须是带有特定标签的VPC实例(key=owner value=zhangsan)否则也会没有权限。
如果创建安全组不带特定标签(key=owner value= zhangsan)时,点击创建。
image.png
创建失败
image.png

如果创建安全组带特定标签(key=owner value= zhangsan)时,点击创建。
image.png

创建成功,弹出提醒框
image.png

点击查看安全组列表,没有看到创建出来的安全组
image.png

在标签指定特定的标签(key=owner value=zhangsan)
image.png
也可以点击全局标签设置
image.png
出现没有权限报错:我们对于VPC停机不收费查询没有在权限里所以报错,本文跟此配置无关,直接点击确定。
image.png
设置特定的标签(key=owner value=zhangsan)点击确认
image.png
确认后特定标签在控制台全局范围生效。
image.png
在不选择该特定标签过滤的情况下也可以在控制台看到安全组资源。

独立磁盘强制标签创建

不带上特定的标签(key=owner value=zhangsan )点击创建。
image.png
创建
image.png

带上特定的标签(key=owner value=zhangsan 如下图红框位置)点击创建。
image.png
创建成功
image.png
设置全局变量后,可以直接查询磁盘列表
image.png

实例强制标签创建

ECS(云服务器)控制台 点击 实例与镜像 - 点击 实例 在实例列表页面点击 创建实例 填入对应的参数。
注意此处VPC资源(VPC和VSwitch)以及ECS安全组必须是带有特定标签(key=owner value=zhangsan)否则也会因为没有权限创建失败。
选择相关参数,带上特定的标签(key=owner value=zhangsan 如下图红框位置)点击创建。
image.png

创建成功,跳转到支付页面
image.png
支付完成后,开始创建资源
image.png

已设置全局标签后,查看实例列表
image.png
实例相关磁盘
image.png
实例相关网卡也可以支持查看。

如果不带上特定的标签(key=owner value=zhangsan 如下图红框位置)点击创建,创建失败。
image.png

快照强制标签创建

带上特定的标签(key=owner value=zhangsan )点击创建。
image.png

创建成功,设置全局标签后,查看快照列表。
image.png

不带上特定的标签(key=owner value=zhangsan )点击创建。
image.png
创建失败
image.png

自定义镜像强制标签创建

带上特定的标签(key=owner value=zhangsan )点击创建。
image.png

创建成功。设置全局标签后,查询镜像列表。
image.png

不带上特定的标签(key=owner value=zhangsan )点击创建。
image.png

创建失败
image.png

辅助网卡强制标签创建

注意此处VPC资源(VPC和VSwitch)以及ECS安全组必须是带有特定标签(key=owner value=zhangsan)否则也会因为没有权限创建失败。
带上特定的标签(key=owner value=zhangsan )点击创建。
image.png

创建成功,设置完全局标签后,查询网卡列表
image.png

不带上特定的标签(key=owner value=zhangsan )点击创建。
创建失败。

后记

阿里云ECS资源已存在,可以基于ECS控制台-标签 选择标签编辑器或者基于OOS(运维编排)快速给存量的资源打上指定的标签。后续我也会有相关的如果在事后做到强制标签。

相关文档

ECS支持跨地域跨资源类型的标签(TAG)操作
如何检查您的资源是否具有您指定的标签?
基于标签批量管理资源
支持标签产品及其文档
标签的最佳实践
通过OOS基于标签批量启动ECS实例实践
如何使用标签控制对ECS 资源的访问?
使用标签检索资源
创建资源标签分组设置
ECS全局标签实践
ECS控制台云资源分组管理---全局标签
标记您的MongoDB数据库实例
标记您的 CDN 资源——域名(domain)
标记您的 OSS 资源
标记您的 RDS 资源
标记您的 SLB 资源
标记您的 ECS 资源
标记您的redis数据库实例

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
6月前
|
人工智能 自然语言处理 安全
Python构建MCP服务器:从工具封装到AI集成的全流程实践
MCP协议为AI提供标准化工具调用接口,助力模型高效操作现实世界。
1218 1
|
10月前
|
缓存 人工智能 架构师
释放数据潜力:利用 MCP 资源让大模型读懂你的服务器
MCP(Model Control Protocol)资源系统是将服务器数据暴露给客户端的核心机制,支持文本和二进制两种类型资源。资源通过唯一URI标识,客户端可通过资源列表或模板发现资源,并使用`resources/read`接口读取内容。MCP还支持资源实时更新通知及订阅机制,确保动态数据的及时性。实现时需遵循最佳实践,如清晰命名、设置MIME类型和缓存策略,同时注重安全性,包括访问控制、路径清理和速率限制等。提供的示例代码展示了如何用JavaScript和Python实现资源支持。
1052 80
|
7月前
|
机器学习/深度学习 人工智能 运维
“服务器老是爆?资源老是浪费?试试用 AI 来规划容量!”
“服务器老是爆?资源老是浪费?试试用 AI 来规划容量!”
202 4
|
6月前
|
存储 安全 数据管理
服务器违规资源被删,数据定时备份OSS 云存储才是 “救命稻草”
在数字化时代,数据已成为企业与个人的核心资产。然而,服务器违规、硬件故障等问题频发,导致数据丢失、业务中断,甚至造成不可挽回的损失。为保障数据安全与业务连续性,定时备份至关重要。阿里云国际站OSS提供高效、可靠的云存储解决方案,支持自动定时备份,帮助用户轻松应对数据风险。本文详解OSS备份操作步骤与注意事项,助你为数据穿上“防护甲”,实现安全无忧存储。
|
8月前
|
C# 图形学 开发者
Unity开发中使用UnityWebRequest从HTTP服务器下载资源。
总之,UnityWebRequest就是游戏开发者手中的万能钓鱼竿,既可以获取文本数据,也能钓上图片资源,甚至是那声音的涟漪。使用UnityWebRequest的时候,你需要精心准备,比如确定URL、配置请求类型和头信息;发起请求;巧妙处理钓获的数据;还需要机智面对网络波澜,处理各种可能出现的错误。按照这样的过程,数据的钓取将会是一次既轻松愉快也效率高效的编程钓鱼之旅。
424 18
|
11月前
|
弹性计算 Linux 云计算
阿里云操作系统控制台——ECS操作及云计算应用实践
本文详细介绍了云服务器ECS的使用流程,包括开通服务、系统配置、权限管理、组件安装及内存全景诊断等关键步骤。通过开通阿里云操作系统服务、授予RAM用户权限和安装必要组件,可实现对服务器的有效管理与维护。在内存诊断部分,展示了如何发起诊断并解析结果,帮助精准定位内存问题。此外,文章还讲解了利用ECS训练模型的操作方法,从上传文件到终端命令执行,直至完成模型训练。最后总结指出,掌握这些技能不仅提升了对云服务器架构的理解,还为实际业务提供了高效解决方案,展现了ECS在数据处理与分析中的重要价值。
阿里云操作系统控制台——ECS操作及云计算应用实践
|
11月前
|
自然语言处理 安全 开发工具
分享一个纯净无广、原版操作系统、开发人员工具、服务器等资源免费下载的网站
分享一个纯净无广、原版操作系统、开发人员工具、服务器等资源免费下载的网站
782 4
|
12月前
|
弹性计算 运维 Kubernetes
使用ACK Edge统一管理多地域的ECS资源
使用ACK Edge统一管理多地域的ECS资源
250 0
|
4月前
|
弹性计算 运维 安全
阿里云轻量应用服务器与云服务器ECS啥区别?新手帮助教程
阿里云轻量应用服务器适合个人开发者搭建博客、测试环境等低流量场景,操作简单、成本低;ECS适用于企业级高负载业务,功能强大、灵活可扩展。二者在性能、网络、镜像及运维管理上差异显著,用户应根据实际需求选择。
385 10
|
4月前
|
运维 安全 Ubuntu
阿里云渠道商:服务器操作系统怎么选?
阿里云提供丰富操作系统镜像,涵盖Windows与主流Linux发行版。选型需综合技术兼容性、运维成本、安全稳定等因素。推荐Alibaba Cloud Linux、Ubuntu等用于Web与容器场景,Windows Server支撑.NET应用。建议优先选用LTS版本并进行测试验证,通过标准化镜像管理提升部署效率与一致性。

热门文章

最新文章

相关产品

  • 云服务器 ECS