本文为您提供了一个自动化绑定标签程序,用于为新创建的资源自动绑定创建者标签,标识该资源的创建者,以此提升分账效率。您可以借助操作审计(ActionTrail)的跟踪功能,实现该任务。

前提条件

运行程序前,请确保您已开通以下云服务:

  • 访问控制(RAM)
  • 操作审计(ActionTrail)
  • 函数计算(FC)
  • 日志服务(SLS)
说明 访问控制和操作审计目前免费。但您使用操作审计时用到的日志服务、函数计算这两个云服务,在超出免费额度后,会产生少量费用。更多信息,请参见日志服务计算说明函数计算计费说明

方案介绍

操作审计会记录阿里云账号内的操作日志,这份操作日志可以被实时消费。因此我们可以部署一个消费程序,在处理到资源创建对应的操作事件时,调用标签服务的API,为资源绑定创建者标签。最后,在用户中心通过标签进行分账。工作流程如下图所示:

工作流程
  1. 在操作审计中创建跟踪。

    使用操作审计的跟踪功能,记录云上操作日志,并投递到日志服务中。

  2. 在日志服务中消费日志数据。

    消费方式可以选择函数计算、Flink或是自行开发的程序。本程序采用的是函数计算。

    在完成消费后,调用标签服务的API,为资源绑定标签。

  3. 在用户中心查看分账账单。

    您可以基于资源的创建者标签,通过用户中心的分账账单、费用分析或财务单元等功能,查看费用分摊账单。

部署程序

以下步骤以VPC为例。在程序部署完成后,当您创建了VPC,系统会自动为该VPC绑定创建者标签。

  1. 访问实时消费操作审计日志并自动绑定资源标签
  2. 在弹出的对话框中,单击确认,克隆代码到CloudShell。
  3. 输入以下命令,一键创建跟踪并部署自动绑定标签程序。
    ./install.sh
  4. 在程序部署完成后,请等待至少1分钟,然后输入以下命令,创建1个VPC,用来验证自动绑定标签程序是否已经生效。
    sleep 60
    CREATED_VPC_ID=`aliyun vpc CreateVpc --RegionId cn-huhehaote | jq ".VpcId"`
  5. 请等待1~5分钟,然后输入以下命令,查看刚创建的VPC是否绑定了创建者标签。
    aliyun vpc DescribeVpcs --RegionId cn-huhehaote --VpcId $CREATED_VPC_ID | jq ".Vpcs.Vpc[0].Tags"

    如果返回如下信息,说明该VPC已成功绑定创建者标签。

    {
      "Tag": [
        {
          "Key": "created_by",
          "Value": "ram-user:22135730502024****"
        }
      ]
    }

(可选)删除资源

输入以下命令,删除程序中创建的所有资源。删除后,自动绑定标签程序将失效。

./uninstall.sh

(可选)修改资源类型

上述程序支持为以下资源类型自动绑定创建者标签:

  • 云服务器ECS:ECS实例、云盘、快照、安全组、镜像、密钥对和启动模板。
  • 云数据库RDS实例。
  • 负载均衡SLB实例。
  • 专有网络VPC:专有网络、交换机。

您也可以尝试修改程序的配置文件,为其他资源类型自动绑定创建者标签。资源类型必须支持操作审计和标签,详情请参见支持操作审计的资源类型支持标签的云服务

  1. 在CloudShell右上角,单击编辑器图标,找到并复制resource_type_arn_event_mapping.csv文件里的内容,然后保存CSV格式的文件到本地。

    resource_type_arn_event_mapping.csv文件访问路径如下:

    actiontrail-best-practice-auto-tagging/fc-auto-tagging/src/main/resources/resource_type_arn_event_mapping.csv修改配置文件
  2. 在本地修改resource_type_arn_event_mapping.csv文件中的资源类型。
  3. 将新修改的内容复制到CloudShell的resource_type_arn_event_mapping.csv文件中。
  4. 输入以下命令,重新部署程序。
    ./reinstall.sh