开发者社区> 1813415299932863> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

使用阿里云操作审计(ActionTrail)自动继承父资源标签

简介: # 使用阿里云操作审计(ActionTrail)自动继承父资源标签 ## 背景 标签被广泛应用于许多云上管理场景,比如资源管理、财务管理、自动化运维和权限管理。有了标签,资源就容易被聚类或者被索引,然而,对于许多用户而言,管理大量标签始终是一个挑战。特别是,当用户需要给一系列关联资源统一打标时。 云资源管理过程中,有很多场景需要创建一个功能模块,这个模块包含一个父资源和多个子资源。比如说,当
+关注继续查看

使用阿里云操作审计(ActionTrail)自动继承父资源标签

背景

标签被广泛应用于许多云上管理场景,比如资源管理、财务管理、自动化运维和权限管理。有了标签,资源就容易被聚类或者被索引,然而,对于许多用户而言,管理大量标签始终是一个挑战。特别是,当用户需要给一系列关联资源统一打标时。

云资源管理过程中,有很多场景需要创建一个功能模块,这个模块包含一个父资源和多个子资源。比如说,当用户创建一个ECS时,他一定需要创建一个磁盘,有时也会创建一个镜像,同时,磁盘也可能存在快照。因为这些资源属于同一个父资源,用户希望,当给父资源打标签时,其所包含的子资源也要继承同样的标签,或者当用户在父资源下添加新的子资源时,用户希望子资源自动继承父资源已经有的标签。我们再举一个例子,专有网络(VPC)包含交换机、路由表、NAT网关和VPN网关作为子资源,弹性公网IP可以关联到NAT网关。我们时常听到用户反馈,当在VPC下创建新的子资源时,希望子资源能够自动继承VPC的标签。

在这篇文章中,我们将介绍子资源如何自动从父资源继承标签。我们将使用以上VPC的场景来讲解这个解决方案,但是这个方案并不局限于VPC,可以被应用在任何类似的场景。

目标

下图展示了VPC和子资源之间的关系

VPCTag_drawio

这篇文章中的解决方案将实现以下两个目标

  1. 当在VPC下创建子资源时,子资源自动继承父资源的标签
  2. 当给VPC添加新标签时,所有子资源自动继承新标签

解决方案概览

此解决方中使用到的云产品

这些云产品将按照下图的关系进行集成

arch_drawio

操作审计持续记录VPC和其子资源的操作,其中每一条记录都会被路由到事件总线(EventBridge),然后我们通过事件总线中的规则过滤出我们感兴趣的事件。我们会创建2条规则,规则一过滤出所有给VPC打标的操作(TagResources),规则二过滤出创建VPC子资源的操作。最后我们把两个规则分别连接到相应的函数,以实现自动打标的目标

解决方实施

接下来我们逐步描述该方案的实施过程

为了成功实施该方案,以下条件必须首先满足

  • 一个阿里云账号
  • 对于NodeJS有基本了解
  • 确保一下步骤都在同一个区域进行

操作审计(ActionTrail)

操作审计默认自动开启,此处无需额外操作和配置

创建一个阿里云服务

为了在函数中给资源打标,我们必须赋予函数VPC和Tag相应权限

  1. 打开访问控制→ 角色 → 创建角色
  2. 选择阿里云服务

  1. 角色命名为TagVPCRole
  2. 选择受信服务函数计算

  1. 点击完成
  2. 我们需要给这个角色赋予三个角色, AliyunVPCReadOnlyAccess, AliyunLogFullAccess and AliyunTagAdministratorAccess:

创建一个函数服务

接下来我们创建执行打标操作的函数

1.  打开 函数计算

2.  点击 服务及函数

3.  创建一个名为 VPCTagService 的服务

4.  在服务表中找到上面创建的服务

5.  点击 配置

6.  在角色配置部分, 选择 TagVPCRole

7.  保存

创建函数func01

当VPC增加新标签时,这个函数会自动给子资源打上同样的标签

1.  打开函数 函数计算 → 服务 → 函数

2.  点击 创建函数, 创建一个名为func01的函数

3.  创建完成后,你会被重定向到函数编辑页面. 点击 上传代码,选择 上传Zip文件


4.  Zip文件可以从这里获取 here

5.  上传成功后确保点击 保存和部署,使代码生效

_2021_10_28_11_50_58

创建函数func02

当VPC增加新的子资源时,这个函数会自动给子资源打上同样的标签

1.  打开函数 函数计算 → 服务 → 函数

2.  点击 创建函数, 创建一个名为func02的函数


3.  创建完成后,你会被重定向到函数编辑页面. 点击 上传代码,选择 上传Zip文件

4.  Zip文件可以从这里获取 here

5.  上传成功后确保点击 保存和部署,使代码生效

_2021_10_28_11_50_58

事件总线(EventBridge)

默认事件总线会监听有操作审计的事件,但是我们并不想因为任意事件触发一次函数执行。我们只关心两类事件,第一类,VPC打标事件,第二类创建VPC子资源事件。因此,我们创建两个规则,分别过滤这两类事件。

创建规则1

第一个规则命名为 TagVPC. 这个规则将用来过滤VPC上的 TagResources 事件。
1.  打开 事件总线->default->事件规则->创建规则
2.  定义事件模式

{
    "data": {
        "eventName": [
            "TagResources"
        ],
        "serviceName": [
            "Vpc"
        ]
    },
    "source": [
        "acs.vpc"
    ],
    "type": [
        "vpc:ActionTrail:AliyunServiceEvent",
        "vpc:ActionTrail:ApiCall",
        "vpc:ActionTrail:ConsoleOperation"
    ]
}

3.  下一步我们把规则的目标指向对应的函数
  选择 函数计算 作为服务类型,选择函数func01

创建规则 2

第二条规则命名为 CreateVPCResources. 这条规则用来过滤创建子资源事件

1.  打开 事件总线->default->事件规则->创建规则
2.  定义事件模式

{
    "data": {
        "resourceType": [
            "ACS::VPC::NatGateway",
            "ACS::VPNGateway::VpnGateway",
            "ACS::ECS::Instance;ACS::EIP::EipAddress",
            "ACS::VPC::VSwitch;ACS::VPC::VPC",
            "ACS::VPC::RouteTable;ACS::VPC::VPC",
            "ACS::VPC::VPC"
        ],
        "eventName": [
            "Create",
            "AssociateEipAddress",
            "CreateVSwitch",
            "CreateRouteTable"
        ]
    },
    "source": [
        "acs.vpc"
    ],
    "type": [
        "vpc:ActionTrail:AliyunServiceEvent",
        "vpc:ActionTrail:ApiCall",
        "vpc:ActionTrail:ConsoleOperation"
    ]
}

2. 按照上面的方法,把func02添加为这个规则的目标

总结

这篇文章讲述了如何从VPC向其子资源自动传播标签。此方案适用了ActionTrail, EventBridgeFunction Compute. 虽然我们使用了VPC作为例子,但这个方法同样适用于其他类似场景

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
《阿里云资源保障服务,让您从容应对资源波峰》电子版地址
《阿里云资源保障服务,让您从容应对资源波峰》PPT
0 0
阿里云国际云迁移中心模板导入资源
该文档描述了云迁移中心CMH的模板调研服务的使用过程,通过这篇文档,将带您使用调研模板,并且一步步完成服务发现。
0 0
阿里云亮相中国互联网基础资源大会 飞天企业版推助IPv6创新实践
阿里云专有云亮相由工业和信息化部主办的第三届中国互联网基础资源大会。
0 0
阿里云林小平:如何实现资源高效运维及成本分析
通过标签功能进行资源运维及精细化的权限管理,实现高效能、低成本的目标。
0 0
终于等到阿里云的沙箱实验新上线的资源预开通功能了
作为阿里云开发者的实验室忠实老粉,一直很喜欢这种免费的云资源+实验手册指导形式的沙箱实验。说白了也是想薅着免费的云资源,还能顺便学习使用阿里云的各种各样的云产品。6月份实验室发起了一个云起导师计划,入驻成功之后,就可以拥有制作实验的权限,可以使用开放场景的功能,免费的获得到实验云产品资源自行的进行实验创作,但是每次都浪费在工作人员资源接入跟审核的漫长等待中,一直觉得提交实验流程比较复杂。终于终于,本周开放场景功能可以提前让创作者开通实验资源,对于老粉及云起导师来使用真的是方便太多太多。
0 0
这种精度高,消耗资源少的大模型稀疏训练方法被阿里云科学家找到了!已被收录到IJCAI
论文通过减少模型稀疏训练过程中需要更新的参数量,从而减少大模型稀疏训练的时间以及资源开销,是首个大模型参数高效的稀疏训练算法PST。
0 0
如何使用阿里云容器服务保障容器的内存资源质量
针对云原生场景下容器使用内存的困扰,阿里云容器服务 ACK 基于 Alibaba Cloud Linux 2 内核提供了容器内存服务质量(Memory QoS)功能,通过调配容器的内存回收和限流机制,保障内存资源公平性,改善应用的运行时内存性能。
0 0
备战“双11”,阿里云为企业提供一站式资源保障服务
阿里云弹性计算将上线资源保障服务,通过智能化资源诊断、推荐、资源预定及授权候补为用户提供一站式自助化资源保障服务,兼顾灵活,经济的同时还能获得时刻的确定性保障,为业务顺畅前行保驾护航。
0 0
搭建网站选物理机还是阿里云国际版ecs?
如果企业需要选择一个服务器来承载企业网站,可以有两个类型的网站服务器选择,一是物理服务器,二是云服务器。云服务器中,特别阿里云国际版的云服务器ecs现在比较火热。那么搭建网站是要物理机还是云服务器ecs呢?www.123clouds来给大家分析两个的特性和差异。
0 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
《阿里云资源保障服务,让您从容应对资源波峰》
立即下载
阿里云AI产品必知必会系列电子书
立即下载
阿里云云原生 Serverless 案例集
立即下载