Включить ведение журнала объекта в корзине s3 через облачную информацию - PullRequest
0 голосов
/ 06 октября 2019

В AWS S3 у вас есть возможность посетить консоль и добавить «ведение журнала на уровне объекта» в корзину. Вы создаете или выбираете уже существующий трейл и выбираете типы журналов чтения и записи.

Теперь я создаю сегменты с помощью Yaml CloudFormation и хочу добавить к ним уже существующий трейл (или создать новый). ,Как мне это сделать? Я не могу найти никаких примеров.

1 Ответ

2 голосов
/ 06 октября 2019

Регистрация объектов для сегментов S3 с CloudTrail осуществляется путем определения так называемых селекторов событий для событий данных в CloudTrail. Это доступно и через CloudFormation. Следующий шаблон CloudFormation показывает, как это делается. Важная часть находится в нижней половине (верхняя половина предназначена только для настройки корзины S3, в которую CloudTrail может войти):

AWSTemplateFormatVersion: "2010-09-09"

Resources:
  s3BucketForTrailData:
    Type: "AWS::S3::Bucket"
  trailBucketPolicy:
    Type: "AWS::S3::BucketPolicy"
    Properties:
      Bucket: !Ref s3BucketForTrailData
      PolicyDocument:
        Version: "2012-10-17"
        Statement:
        - Effect: Allow
          Principal:
            Service: "cloudtrail.amazonaws.com"
          Action: "s3:GetBucketAcl"
          Resource: !Sub "arn:aws:s3:::${s3BucketForTrailData}"
        - Effect: Allow
          Principal:
            Service: "cloudtrail.amazonaws.com"
          Action: "s3:PutObject"
          Resource: !Sub "arn:aws:s3:::${s3BucketForTrailData}/AWSLogs/${AWS::AccountId}/*"
          Condition:
            StringEquals:
              "s3:x-amz-acl": "bucket-owner-full-control"

  s3BucketToBeLogged:
    Type: "AWS::S3::Bucket"
  cloudTrailTrail:
    Type: "AWS::CloudTrail::Trail"
    DependsOn:
      - trailBucketPolicy
    Properties:
      IsLogging: true
      S3BucketName: !Ref s3BucketForTrailData
      EventSelectors:
        - DataResources:
            - Type: "AWS::S3::Object"
              Values:
                - "arn:aws:s3:::"  # log data events for all S3 buckets
                - !Sub "${s3BucketToBeLogged.Arn}/"  # log data events for the S3 bucket defined above
          IncludeManagementEvents: true
          ReadWriteType: All

Для получения более подробной информации ознакомьтесь с документацией CloudFormation для селекторов событий CloudTrail. .

...