すべてのプロダクト
Search
ドキュメントセンター

Resource Orchestration Service:ALIYUN::ACTIONTRAIL::Trail

最終更新日:Jan 16, 2025

ALIYUN::ACTIONTRAIL::Trail は、Simple Log Service または Object Storage Service (OSS) にイベントを配信するための証跡を作成するために使用されます。

構文

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

プロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

Name

String

はい

いいえ

証跡名。

名前は 6 ~ 36 文字で、英字、数字、ハイフン (-)、アンダースコア (_) を使用できます。名前は英字で始める必要があります。

説明

名前は Alibaba Cloud アカウント内で一意である必要があります。

EventRW

String

いいえ

はい

配信するイベントの読み取り/書き込みタイプ。

有効な値:

  • Read: 読み取り

  • Write (デフォルト): 書き込み

  • All: 読み取りと書き込み

OssBucketName

String

いいえ

はい

イベントを配信する OSS バケットの名前。

名前は 3 ~ 63 文字で、小英字、数字、ハイフン (-) を使用できます。名前は小英字または数字で始める必要があります。

説明
  • OSS バケットが作成されていることを確認してください。詳細については、「バケットの作成」をご参照ください。

  • OssBucketName と SlsProjectArn の少なくとも 1 つを指定する必要があります。

OssKeyPrefix

String

いいえ

はい

配信されたイベントを OSS バケットに格納するオブジェクトの名前のプレフィックス。

プレフィックスは 6 ~ 32 文字で、英字、数字、ハイフン (-)、スラッシュ (/)、アンダースコア (_) を使用できます。プレフィックスは英字で始める必要があります。

RoleName

String

いいえ

はい

ActionTrail によって引き受けられるサービスリンクロール。

デフォルト値: AliyunServiceRoleForActionTrail。

SlsProjectArn

String

いいえ

はい

イベントを配信する Simple Log Service プロジェクトの Alibaba Cloud Resource Name (ARN)。

Simple Log Service でプロジェクトとログストアが作成されていることを確認してください。ログストアの名前は、actiontrail_<Trail name> の形式で指定する必要があります。

詳細については、「プロジェクトの作成」および「ログストアの作成」をご参照ください。

説明

OssBucketName と SlsProjectArn の少なくとも 1 つを指定する必要があります。

SlsWriteRoleArn

String

いいえ

はい

ActionTrail が Simple Log Service プロジェクトにイベントを配信するために引き受けるロールの ARN。

なし。

戻り値

Fn::GetAtt

Name: 証跡名。

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:
        Ref: Enable
Outputs:
  Name:
    Value:
      Fn::GetAtt:
        - Trail
        - Name

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": {
          "Ref": "Enable"
        }
      }
    }
  },
  "Outputs": {
    "Name": {
      "Value": {
        "Fn::GetAtt": [
          "Trail",
          "Name"
        ]
      }
    }
  }
}