S3 policy
Chi Tiết về Bảo Mật S3¶
Phần này thảo luận về các cơ chế và thiết lập bảo mật khác nhau cho Amazon S3 (Simple Storage Service), bao gồm các chính sách IAM, chính sách bucket S3, Access Control Lists (ACLs) và mã hóa. Dưới đây là giải thích chi tiết về các khái niệm chính:
1. Bảo Mật Dựa Trên Người Dùng (Chính Sách IAM)¶
- Chính Sách IAM: Những chính sách này được sử dụng để cấp quyền cho các API mà một người dùng IAM cụ thể có thể thực hiện. Chính sách IAM định nghĩa các hành động nào được phép hoặc bị từ chối đối với người dùng IAM. Ví dụ, chính sách có thể cấp quyền thực hiện các hành động như
GetObject
hoặcPutObject
trên các bucket hoặc đối tượng S3 cụ thể.
2. Bảo Mật Dựa Trên Tài Nguyên (Chính Sách Bucket S3)¶
- Chính Sách Bucket S3: Đây là các chính sách dựa trên JSON, có thể gán trực tiếp từ bảng điều khiển S3 để xác định các quyền truy cập cho bucket.
- Truy Cập Liên Tài Khoản (Cross-Account Access): Bạn có thể thiết lập chính sách bucket S3 để cho phép truy cập từ các tài khoản AWS khác.
3. Access Control Lists (ACLs)¶
- ACLs là cơ chế bảo mật chi tiết hơn, giúp bạn kiểm soát quyền truy cập vào các đối tượng trong bucket.
- ACL của đối tượng: Chỉ áp dụng cho các đối tượng cụ thể trong S3.
- ACL của bucket: Áp dụng cho toàn bộ bucket nhưng ít phổ biến hơn và có thể bị vô hiệu hóa.
4. Mã Hóa (Encryption)¶
- Mã hóa đối tượng: S3 cung cấp các tính năng mã hóa để bảo vệ dữ liệu, đảm bảo rằng chỉ người có quyền truy cập thích hợp mới có thể đọc hoặc ghi dữ liệu.
5. Cấu Trúc Chính Sách Bucket S3¶
Chính sách bucket S3 là các tài liệu JSON, rất dễ đọc. Dưới đây là một số thành phần chính trong một chính sách bucket S3:
- Resource: Chỉ định tài nguyên mà chính sách này áp dụng (ví dụ, các đối tượng trong một bucket).
- Effect: Chỉ định hành động được phép (Allow) hoặc bị từ chối (Deny).
- Action: Chỉ định các hành động API mà chính sách cho phép hoặc từ chối, ví dụ như GetObject
.
6. Cấp Quyền Truy Cập Công Khai¶
Một trong những ví dụ về việc sử dụng chính sách bucket S3 là Cấp Quyền Truy Cập Công Khai: - Bạn có thể tạo một chính sách để cho phép truy cập công khai vào các đối tượng trong bucket, tức là bất kỳ ai cũng có thể tải xuống các đối tượng trong bucket đó.
7. Cấp Quyền Truy Cập Thông Qua IAM Roles¶
- Nếu bạn có một EC2 instance muốn truy cập vào S3, thay vì sử dụng IAM user, bạn sẽ sử dụng IAM Roles để cấp quyền cho EC2 instance.
8. Cấp Quyền Truy Cập Liên Tài Khoản¶
- Để cấp quyền truy cập từ một tài khoản AWS khác, bạn sẽ sử dụng Chính Sách Bucket S3 để cho phép Cross-Account Access, cho phép người dùng từ tài khoản khác thực hiện các API call đến bucket của bạn.
9. Cài Đặt Bảo Mật Khác¶
- Block Public Access: Đây là các cài đặt bảo mật giúp ngăn ngừa việc rò rỉ dữ liệu. Nếu cài đặt này được bật, ngay cả khi bạn thiết lập chính sách bucket để cho phép quyền truy cập công khai, bucket của bạn sẽ không thể trở thành công khai.
Đây là các điểm chính liên quan đến bảo mật trong Amazon S3. Những thiết lập này giúp bạn kiểm soát và bảo vệ dữ liệu trong S3 khỏi việc truy cập không mong muốn.