Tous les produits
Search
Centre de documentation

Resource Orchestration Service:ALIYUN::ACTIONTRAIL::Trail

Dernière mise à jour :Aug 10, 2026

Créez une piste d'audit qui achemine les événements vers Simple Log Service (SLS) ou Object Storage Service (OSS).

Syntaxe

{
  "Type": "ALIYUN::ACTIONTRAIL::Trail",
  "Properties": {
    "Name": String,
    "OssBucketName": String,
    "RoleName": String,
    "OssKeyPrefix": String,
    "EventRW": String,
    "SlsProjectArn": String,
    "SlsWriteRoleArn": String
  }
}            

Propriétés

Nom de la propriété

Type

Obligatoire

Mise à jour autorisée

Description

Contraintes

Name

String

Oui

Non

Nom de la piste d'audit.

Le nom doit comporter entre 6 et 36 caractères. Il doit commencer par une lettre et peut contenir des lettres, des chiffres, des traits d'union (-) et des underscores (_).

Remarque

Le nom de la piste d'audit doit être unique au sein d'un compte Alibaba Cloud.

EventRW

String

Non

Oui

Type d'événements (lecture/écriture) à acheminer.

Valeurs valides :

  • Read : uniquement les événements de lecture.

  • Write (par défaut) : uniquement les événements d'écriture.

  • All : les événements de lecture et d'écriture.

OssBucketName

String

Non

Oui

Nom du compartiment OSS vers lequel la piste d'audit achemine les événements.

Le nom doit comporter entre 3 et 63 caractères. Il doit commencer par une lettre minuscule ou un chiffre et peut contenir des lettres minuscules, des chiffres et des traits d'union (-).

Remarque
  • Assurez-vous d'avoir créé un compartiment OSS. Pour plus d'informations, consultez Créer un compartiment.

  • Spécifiez au moins l'un des paramètres suivants : OssBucketName ou SlsProjectArn.

OssKeyPrefix

String

Non

Oui

Préfixe des fichiers journaux stockés dans le compartiment OSS.

La valeur doit commencer par une lettre et comporter entre 6 et 32 caractères. Elle peut contenir des lettres, des chiffres, des traits d'union (-), des barres obliques (/) et des underscores (_).

RoleName

String

Non

Oui

Nom du rôle lié au service pour ActionTrail.

Valeur par défaut : AliyunServiceRoleForActionTrail.

SlsProjectArn

String

Non

Oui

Nom de ressource Alibaba Cloud (ARN) du projet SLS vers lequel la piste d'audit achemine les événements.

Assurez-vous d'avoir créé un projet SLS et un Logstore. Le Logstore doit être nommé selon le format actiontrail_<trail_name>.

Pour plus d'informations, consultez Créer un projet et Créer un Logstore standard.

Remarque

Spécifiez au moins l'un des paramètres suivants : OssBucketName ou SlsProjectArn.

SlsWriteRoleArn

String

Non

Oui

ARN du rôle qu'ActionTrail endosse pour acheminer les événements de gestion vers le projet SLS.

Aucun

Valeur de retour

Fn::GetAtt

Name : nom de la piste d'audit.

Exemples

Format YAML

ROSTemplateFormatVersion: '2015-09-01'
Parameters: {}
Resources:
  Role:
    Type: ALIYUN::RAM::Role
    Properties:
      RoleName: TestRole
      Policies:
        - PolicyName:
            Fn::Sub: ActionTrailPolicy-${ALIYUN::StackId}
          PolicyDocument:
            Version: '1'
            Statement:
              - Action:
                  - oss:GetBucketLocation
                  - oss:ListObjects
                  - oss:PutObject
                Resource:
                  - '*'
                Effect: Allow
              - Action:
                  - log:PostLogStoreLogs
                  - log:CreateLogstore
                  - Log:GetLogstore
                Resource:
                  - '*'
                Effect: Allow
              - Action:
                  - mns:PublishMessage
                Resource:
                  - '*'
                Effect: Allow
      AssumeRolePolicyDocument:
        Version: '1'
        Statement:
          - Action: sts:AssumeRole
            Effect: Allow
            Principal:
              Service:
                - actiontrail.aliyuncs.com
  Bucket:
    Type: ALIYUN::OSS::Bucket
    Properties:
      AccessControl: private
      BucketName: MyTestBucket
      DeletionForce: true
  SlsProject:
    Type: ALIYUN::SLS::Project
    Properties:
      Name: DemoSls
  SlsLogStore:
    Type: ALIYUN::SLS::Logstore
    DependsOn: SlsProject
    Properties:
      LogstoreName: ActiontrailTestTrail
      PreserveStorage: true
      ProjectName:
        Fn::GetAtt:
          - SlsProject
          - Name
      AppendMeta: true
      MaxSplitShard: 64
      AutoSplit: true
      EnableTracking: false
      ShardCount: 2
  Trail:
    DependsOn:
      - Role
      - Bucket
      - SlsLogStore
    Type: ALIYUN::ACTIONTRAIL::Trail
    Properties:
      SlsProjectArn:
        Fn::Sub: acs:log:${ALIYUN::Region}::project/DemoSls
      RoleName:
        Fn::GetAtt:
          - Role
          - RoleName
      EventRW: All
      OssKeyPrefix: TestFile
      OssBucketName:
        Fn::GetAtt:
          - Bucket
          - Name
      SlsWriteRoleArn:
        Fn::Sub: acs:ram::${ALIYUN::TenantId}:role/${Role.RoleName}
      Name: TestTrail
  TrailLogging:
    Type: ALIYUN::ACTIONTRAIL::TrailLogging
    Properties:
      Name:
        Fn::GetAtt:
          - Trail
          - Name
      Enable: true
Outputs:
  Name:
    Value:
      Fn::GetAtt:
        - Trail
        - Name

Format JSON

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {},
  "Resources": {
    "Role": {
      "Type": "ALIYUN::RAM::Role",
      "Properties": {
        "RoleName": "TestRole",
        "Policies": [
          {
            "PolicyName": {
              "Fn::Sub": "ActionTrailPolicy-${ALIYUN::StackId}"
            },
            "PolicyDocument": {
              "Version": "1",
              "Statement": [
                {
                  "Action": [
                    "oss:GetBucketLocation",
                    "oss:ListObjects",
                    "oss:PutObject"
                  ],
                  "Resource": [
                    "*"
                  ],
                  "Effect": "Allow"
                },
                {
                  "Action": [
                    "log:PostLogStoreLogs",
                    "log:CreateLogstore",
                    "Log:GetLogstore"
                  ],
                  "Resource": [
                    "*"
                  ],
                  "Effect": "Allow"
                },
                {
                  "Action": [
                    "mns:PublishMessage"
                  ],
                  "Resource": [
                    "*"
                  ],
                  "Effect": "Allow"
                }
              ]
            }
          }
        ],
        "AssumeRolePolicyDocument": {
          "Version": "1",
          "Statement": [
            {
              "Action": "sts:AssumeRole",
              "Effect": "Allow",
              "Principal": {
                "Service": [
                  "actiontrail.aliyuncs.com"
                ]
              }
            }
          ]
        }
      }
    },
    "Bucket": {
      "Type": "ALIYUN::OSS::Bucket",
      "Properties": {
        "AccessControl": "private",
        "BucketName": "MyTestBucket",
        "DeletionForce": true
      }
    },
    "SlsProject": {
      "Type": "ALIYUN::SLS::Project",
      "Properties": {
        "Name": "DemoSls"
      }
    },
    "SlsLogStore": {
      "Type": "ALIYUN::SLS::Logstore",
      "DependsOn": "SlsProject",
      "Properties": {
        "LogstoreName": "ActiontrailTestTrail",
        "PreserveStorage": true,
        "ProjectName": {
          "Fn::GetAtt": [
            "SlsProject",
            "Name"
          ]
        },
        "AppendMeta": true,
        "MaxSplitShard": 64,
        "AutoSplit": true,
        "EnableTracking": false,
        "ShardCount": 2
      }
    },
    "Trail": {
      "DependsOn": [
        "Role",
        "Bucket",
        "SlsLogStore"
      ],
      "Type": "ALIYUN::ACTIONTRAIL::Trail",
      "Properties": {
        "SlsProjectArn": {
          "Fn::Sub": "acs:log:${ALIYUN::Region}::project/DemoSls"
        },
        "RoleName": {
          "Fn::GetAtt": [
            "Role",
            "RoleName"
          ]
        },
        "EventRW": "All",
        "OssKeyPrefix": "TestFile",
        "OssBucketName": {
          "Fn::GetAtt": [
            "Bucket",
            "Name"
          ]
        },
        "SlsWriteRoleArn": {
          "Fn::Sub": "acs:ram::${ALIYUN::TenantId}:role/${Role.RoleName}"
        },
        "Name": "TestTrail"
      }
    },
    "TrailLogging": {
      "Type": "ALIYUN::ACTIONTRAIL::TrailLogging",
      "Properties": {
        "Name": {
          "Fn::GetAtt": [
            "Trail",
            "Name"
          ]
        },
        "Enable": true
      }
    }
  },
  "Outputs": {
    "Name": {
      "Value": {
        "Fn::GetAtt": [
          "Trail",
          "Name"
        ]
      }
    }
  }
}