see more blog

Quản lý log tập trung – Chuyển CloudTrail logs sang S3 bucket của account khác


Trong bài viết này, VTI Tech Blog hướng dẫn cách chuyển CloudTrail logs sang S3 bucket của một AWS account khác có cùng KMS.

Qua vài lần mất thời gian vì đọc doc của aws, mình viết bài memo lại mấy tut setting để sau này dùng lại cho nhanh.
Có vài lần đọc không kỹ khá tốn thời gian lọ mọ setting rồi test, rồi lại setting lại text, hi vọng bài viết cũng có ích với anh em.

Mở đầu

Việc lưu log của CloudTrail vào S3 là rất quan trọng, nó là bước tiền đề để cho các bước Audit sau này. Bật log của Cloudtrail và export nó sang S3 bucket trong một account thì đơn giản rồi. Hôm nay đẹp trời nên mình sẽ viết hướng dẫn setting để export log của CloudTrail sang một AWS account khác có dùng KMS.

Tại sao lại phải export log sang một tài khoản khác?

Có nhiều mục đích kể ra cũng nhiều nhưng ví dụ dễ hiểu nhất thì nó tránh việc ông nào đó làm việc gì sai trái, sợ hành vi của mình sẽ bị lưu lại nên vào S3 xóa luôn log của hành vi đó đi, và không ai truy ra được ông ta nữa.

Setting

Việc setting gồm có một số bước quan trọng (bài viết chủ yếu tập trung vào setting quyền).

Giả sử

  • account 111111111111 có CloudTrail gửi log đi
  • account 222222222222 có S3Bucket nhận log
  • Bucket nhận log có name là: em-van-doi-logs-cua-anh
  • Các thông tin tương tự bạn tự thay nhé: trailNamekeyID
  1. Setting Bucket policy
  2. Setting KMS policy
  3. Setting CloudTrail

1. Setting Bucket Policy

Bucket cần có 1 đoạn như thế này để

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AWSCloudTrailAclCheck20131101",
      "Effect": "Allow",
      "Principal": {
        "Service": "cloudtrail.amazonaws.com"
      },
      "Action": "s3:GetBucketAcl",
      "Resource": "arn:aws:s3:::em-van-doi-logs-cua-anh"
    },
    {
      "Sid": "AWSCloudTrailWrite20131101",
      "Effect": "Allow",
      "Principal": {
        "Service": "cloudtrail.amazonaws.com"
      },
      "Action": "s3:PutObject",
      "Resource": [
        "arn:aws:s3:::myBucketName/optionalLogFilePrefix/AWSLogs/111111111111/*",
        "arn:aws:s3:::myBucketName/optionalLogFilePrefix/AWSLogs/222222222222/*"
      ],
      "Condition": { 
        "StringEquals": { 
          "aws:SourceArn": "arn:aws:cloudtrail:region:myAccountID:trail/trailName",
          "s3:x-amz-acl": "bucket-owner-full-control"
        }
      }
    }
  ]
}

2.Setting KMS policy

        {
            "Sid": "Enable CloudTrail Encrypt Permissions",
            "Effect": "Allow",
            "Principal": {
                "Service": "cloudtrail.amazonaws.com"
            },
            "Action": "kms:GenerateDataKey*",
            "Resource": "arn:aws:kms:ap-northeast-1:222222222222:key/KeyID",
            "Condition": {
                "StringEquals": {
                    "aws:SourceArn": "arn:aws:cloudtrail:region:111111111111:trail/trailName"
                },
                "StringLike": {
                    "kms:EncryptionContext:aws:cloudtrail:arn": [
                        "arn:aws:cloudtrail:*:111111111111:trail/*",
                        "arn:aws:cloudtrail:*:222222222222:trail/*"
                    ]
                }
            }
        },
        {
            "Sid": "Allow CloudTrail access",
            "Effect": "Allow",
            "Principal": {
                "Service": "cloudtrail.amazonaws.com"
            },
            "Action": "kms:DescribeKey",
            "Resource": "arn:aws:kms:ap-northeast-1:222222222222:key/KeyID",
            "Condition": {
                "StringEquals": {
                    "aws:SourceArn": "arn:aws:cloudtrail:region:111111111111:trail/trailName"
                }
            }
        }

3. Gắn KMS vào S3 Bucket

3. Setting CloudTrail

Đến đây bạn chỉ cần copy KMS arn và bucket name vào chỗ setting tương ứng của CloudTrail là được rồi.

Kiểm tra

Khi logs đã vào S3 Bucket rồi thì bạn nên vào xem thông tin của log trong S3 xem đã gắn với KMS mà bạn chỉ định chưa là done.

Tổng kết

Trên đây mình đã hướng dẫn cách setting CloudTrail xuất logs sang S3 bucket của một account khác có dùng KMS.

Đối với người biết thì có thể nó dễ dàng, nhưng đối với người chưa từng thao tác thì có thể mất thời gian. Hy vọng bài viết có ích cho anh em. Chào thân ái.

Về VTI Cloud

VTI Cloud tự hào là Advanced Consulting Partner của AWS và Gold Partner của Microsoft nhằm đem đến sức mạnh của Điện toán đám mây và các dịch vụ CNTT hàng đầu đến với các tổ chức, doanh nghiệp tại thị trường Việt Nam và Nhật Bản. VTI Cloud sở hũu đội ngũ hơn 50+ kỹ sư về giải pháp được chứng nhận bởi AWS, cùng đội ngũ giàu kinh nghiệm với hàng trăm dự án lớn. Xây dựng các kiến trúc an toàn, hiệu suất cao, linh hoạt, và tối ưu chi phí cho khách hàng là nhiệm vụ hàng đầu của VTI Cloud trong sứ mệnh công nghệ hóa doanh nghiệp.

Liên hệ với chúng tôi: Tại đây

Nguồn: VTI TechBlog

 

 

Related news

what’s up at VTI