资源编排ROS集成示例

使用资源编排服务ROS调用操作审计。本文为您介绍如何编写一个资源编排的模板,自动化创建一个操作审计的跟踪。

支持资源列表

资源编排服务ROS(Resource Orchestration Service)是阿里云提供的一项简化云计算资源管理的服务。开发者和管理员可以编写模板,在模板中定义所需的阿里云资源(例如:ECS 实例、RDS 数据库实例)、资源间的依赖关系等。ROS的编排引擎将根据模板自动完成所有资源的创建和配置,实现自动化部署及运维。更多详情请参见什么是资源编排服务

支持使用资源编排服务ROS调用操作审计,支持的资源如下:

权限说明

在本案例中,需要创建的资源:跟踪。默认情况下资源编排直接使用当前登录控制台的用户凭证,要求当前用户必须具备以下权限:

  • AliyunActionTrailFullAccess:管理操作审计(ActionTrail)的权限。

  • AliyunLogFullAccess:管理日志服务(Log)的权限。

阿里云账号拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维。请根据业务的实际情况按需分配权限后进行接口调用。RAM用户需具备操作云备份资源的权限。具体操作,请参见为RAM用户授权

操作步骤

  1. 登录资源编排ROS控制台,单击顶部导航栏地域下拉框,选择您需要的地域。

  2. 单击左侧菜单栏中的资源栈,选择创建资源栈 > 使用ROS

    • 指定模板:选中选择已有模板

    • 模板录入方式:选中输入模板

  3. 模板内容选择ROS,输入以下代码(选择一种格式即可)。

    创建跟踪的语法、说明及示例,请参见ALIYUN::ACTIONTRAIL::Trail。该示例中,创建一个名为test-trail的跟踪。

    YAML格式

    ROSTemplateFormatVersion: '2015-09-01'
    Resources:
      SlsProject:
        Type: ALIYUN::SLS::Project
        Properties:
          Name: test-sls-project-for-actiontrail
      TrailLogging:
        Type: ALIYUN::ACTIONTRAIL::TrailLogging
        Properties:
          Enable: true
          Name:
            Fn::GetAtt:
              - Trail
              - Name
      SlsLogStore:
        Type: ALIYUN::SLS::Logstore
        Properties:
          ProjectName:
            Fn::GetAtt:
              - SlsProject
              - Name
          AutoSplit: true
          MaxSplitShard: 64
          LogstoreName: actiontrail_test-trail
          AppendMeta: true
          ShardCount: 2
          EnableTracking: false
          PreserveStorage: true
        DependsOn: SlsProject
      Trail:
        Type: ALIYUN::ACTIONTRAIL::Trail
        Properties:
          SlsProjectArn:
            Fn::Sub: acs:log:${ALIYUN::Region}::project/test-sls-project-for-actiontrail
          EventRW: All
          Name: test-trail
        DependsOn:
          - SlsLogStore
    Parameters: {}
    Outputs:
      Name:
        Value:
          Fn::GetAtt:
            - Trail
            - Name

    JSON格式

    {
      "ROSTemplateFormatVersion": "2015-09-01",
      "Resources": {
        "SlsProject": {
          "Type": "ALIYUN::SLS::Project",
          "Properties": {
            "Name": "test-sls-project-for-actiontrail"
          }
        },
        "TrailLogging": {
          "Type": "ALIYUN::ACTIONTRAIL::TrailLogging",
          "Properties": {
            "Enable": true,
            "Name": {
              "Fn::GetAtt": [
                "Trail",
                "Name"
              ]
            }
          }
        },
        "SlsLogStore": {
          "Type": "ALIYUN::SLS::Logstore",
          "Properties": {
            "ProjectName": {
              "Fn::GetAtt": [
                "SlsProject",
                "Name"
              ]
            },
            "AutoSplit": true,
            "MaxSplitShard": 64,
            "LogstoreName": "actiontrail_test-trail",
            "AppendMeta": true,
            "ShardCount": 2,
            "EnableTracking": false,
            "PreserveStorage": true
          },
          "DependsOn": "SlsProject"
        },
        "Trail": {
          "Type": "ALIYUN::ACTIONTRAIL::Trail",
          "Properties": {
            "SlsProjectArn": {
              "Fn::Sub": "acs:log:${ALIYUN::Region}::project/test-sls-project-for-actiontrail"
            },
            "EventRW": "All",
            "Name": "test-trail"
          },
          "DependsOn": [
            "SlsLogStore"
          ]
        }
      },
      "Parameters": {},
      "Outputs": {
        "Name": {
          "Value": {
            "Fn::GetAtt": [
              "Trail",
              "Name"
            ]
          }
        }
      }
    }
  4. 单击下一步,失败时回滚选择

  5. 单击创建,执行资源栈。

  6. 输出结果。

    image

  7. 创建完成后,您可以通过OpenAPI、SDK或者在操作审计控制台查看到名为test-trail的跟踪。

    image