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 :
|
|
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
|
|
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 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"
]
}
}
}
}