Góc bảo mật. Tìm hiểu về cơ chế kiểm soát truy cập trong AWS S3.

Quản lý và kiểm soát truy cập trong AWS S3 tiếp tục là một thách thức đối với nhiều công ty. Với tình trạng báo chí bủa vây các doanh nghiệp, việc lọt lộ thông tin rất phổ biến nên một trong những vấn đề quan trọng là phải hiểu và triển khai các phương pháp bảo mật chính xác quyền truy cập vào dữ liệu lưu trong các object S3 trên AWS.

Trong bài viết này, chúng ta cùng thảo luận về sự khác biệt giữa S3 ACL, S3 Bucket Policy và các user-based policy do người dùng tự định nghĩa cũng như thứ tự ưu tiên khi kết hợp các chính sách này.

Overview of Managing Access - Amazon Simple Storage Service

Amazon S3 ACLs

Cấu hình không chuẩn ACL là một trong những nguyên nhân dẫn tới S3 là mục tiêu tấn công của các các nhân độc hại. Có 02 loại đối tượng được ứng dụng khi sử dụng ACL là Bucket và Object.

  • Bucket cho phép kiểm soát truy cập theo cấp độ bucket
  • Object cho phép kiểm soát truy cập theo cấp độ Object

Trước khi IAM được đưa vào sử dụng rộng rãi thì đây là phương pháp duy nhất kiểm soát quyền truy cập đến AWS S3. Hiện nay có một vài lý do để sử dụng ACL như trường hợp cần kiểm soát quyền truy cập đến từng object trong bucket. Điều đó có nghĩa rằng, bạn không nên tận dụng ACL để truy cập vào tài nguyên S3 trừ khi bạn có nhu cầu cụ thể vì có các phương pháp mới hơn và đảm bảo hơn, chúng ta sẽ thảo luận trong các phần tiếp theo.

Amazon S3 ACLs

Amazon S3 Bucket Policies

Example 1: Bucket Owner Granting Its Users Bucket Permissions ...

Bucket Policy cho phép người dùng dễ dàng cấp quyền truy cập chéo sang các account khác mà không cần phải sử dụng IAM. Chúng ta cùng xem ví dụ bên dưới, trong đó sử dung Bucket Policy để cấp quyền cho tài khoản root 6161616161 và user jason trong tài khoản đó.

S3 Bucket Policies - allow for root account
Gán quyền sử dụng bucket policy
  • Sid: Statement ID
  • Effect: Tác động của rules (Allow/Deny)
  • Principal: Trỏ tới user IAM hay account root
  • Action: Quyền thực thi Get, Put, Delete…
  • Resource: Tài nguyên cho phép thực thi

Bạn sẽ thấy hạn chế khi sử dụng IAM là sẽ chỉ cấp quyền trên wildcard (*) và không gán quyền được đến một user cụ thể.

S3 Bucket Policies - wildcard example
Gán quyền sử dụng IAM

User-Based Policy

Compartición de archivos de registro de CloudTrail entre cuentas ...

Cách thức này cũng thường xuyên được sử dụng để gán quyền truy cập trong hệ sinh thái AWS. Ví dụ để gán quyền cho 1 user hay 1 role cụ thể nào đó truy cập vào AWS S3

User Based Policy for AWS S3 Security
Gán quyền truy cập sử dụng tài nguyên cụ thể

Work flow của ACL trong S3

  • Mặc định chính sách trong AWS sẽ từ chối các truy cập từ ngoài vào S3
  • Nếu phát hiện một trong các rules không cho phép truy cập (Deny) thì kết quả đầu ra sẽ là Deny
  • Sau khi đã rà soát hết các rule là Deny và phát hiện thấy rules Allow thì sẽ cho kết quả đầu ra là Allow
AWS Security Tips - ACLs, bucket policies, and user based policies - Chart

Leave a Reply

Your email address will not be published. Required fields are marked *