Amazon cloudformation 设置Cloudtrail的事件值-所有S3存储桶

Amazon cloudformation 设置Cloudtrail的事件值-所有S3存储桶,amazon-cloudformation,Amazon Cloudformation,我试图获取所有S3存储桶数据的cloudtrail,但它不断抛出错误。该模板如下所示: DataTrail: Type: AWS::CloudTrail::Trail Properties: CloudWatchLogsLogGroupArn: Fn::ImportValue: !Sub ${EnvironmentName}-CloudtrailLogGroupARN CloudWatchLogsRoleArn: Fn::ImportValue:

我试图获取所有S3存储桶数据的cloudtrail,但它不断抛出错误。该模板如下所示:

DataTrail:
 Type: AWS::CloudTrail::Trail
 Properties:
  CloudWatchLogsLogGroupArn: 
    Fn::ImportValue:
      !Sub ${EnvironmentName}-CloudtrailLogGroupARN
  CloudWatchLogsRoleArn: 
    Fn::ImportValue:
      !Sub ${EnvironmentName}-CloudTrailLogsRoleARN
  EnableLogFileValidation: true
  EventSelectors:
    - DataResources:
       - Type: AWS::S3::Object
         Values:
            - 'arn:aws:s3:::*'
    - IncludeManagementEvents: false
    - ReadWriteType: All
  IncludeGlobalServiceEvents: true
  IsLogging: true
  IsMultiRegionTrail: true
  KMSKeyId:
    Fn::ImportValue:
      !Sub ${EnvironmentName}-InvoicegenKey-CMK-Arn
  S3BucketName:
    Fn::ImportValue:
      !Sub ${EnvironmentName}-CloudTrailBucket-Name
AWS Doku说它一定是一个字符串列表,所以我做了:

         Values:
        - 'arn:aws:s3:::*'
但它一直在失败

谢谢你


A

最后这很容易;我刚刚通过控制台创建了一个trail,然后使用aws cloudtrail get event selectors--trail name获得结果。然后将其传送到我的模板,如下所示:

DataResources:
    - Type: AWS::S3::Object
      Values:
      - arn:aws:s3

是的,虽然很接近,但正确的缩进应该是

cloudtrail:
    Type: AWS::CloudTrail::Trail
    Properties:       
      EnableLogFileValidation: Yes
      EventSelectors: 
        - DataResources:
            - Type: AWS::S3::Object
              Values: 
                - arn:aws:s3:::s3-event-step-bucket/    
          IncludeManagementEvents: Yes
          ReadWriteType: All
      IncludeGlobalServiceEvents: Yes
      IsLogging: Yes
      IsMultiRegionTrail: Yes
      S3BucketName: s3-event-step-bucket-storage       
      TrailName: xyz

能否尝试将值设置为
arn:aws::s3::
(或不带此尾随点)?这是我在这个医生身上发现的:@tyron我试过了,但没有用,甚至连一个成熟的ARN都不能工作,非常奇怪。。。