Cấp Độ Truy Cập
Khi tải tệp lên S3 bucket, chúng ta có 3 cấp độ truy cập là public, protected và private:
- Public: Tất cả người dùng ứng dụng của bạn có thể truy cập. Các tệp được lưu trữ dưới đường dẫn chung/trong bộ chứa S3 của bạn.
- Protected: Tất cả người dùng có thể đọc nhưng chỉ người dùng tạo mới có thể ghi. Các tệp được lưu trữ trong protected/{user_identity_id}/ trong đó user_identity_id tương ứng với ID nhận dạng Amazon Cognito duy nhất cho người dùng đó.
- Private: Chỉ có thể truy cập cho người dùng cá nhân. Các tệp được lưu trữ trong private/{user_identity_id}/ trong đó user_identity_id tương ứng với ID nhận dạng Amazon Cognito duy nhất cho người dùng đó.
Trong phần này chúng ta sẽ thay đổi quyền của người dùng để tải tệp lên S3.
-
Truy cập vào bảng điều khiển của Cognito
-
Chọn Federated Identities ở menu phía bên trái. Sau đó chọn fcjdms…identitypool…

- Ấn Edit identity pool

- Ghi lại tên của Authenticated role

- Mở bảng điều khiển của IAM
- Chọn Roles ở menu phía bên trái
- Nhập tên của Authenticated role và ấn vào role tìm thấy

- Mở rộng các policy để xem quyền của user

Bạn có thể thấy quyền thêm, xoá và lấy object trong S3 bucket đối với thư mục identity_id trong thư mục protected
- Chọn policy Protected_policy_…

Chúng ta sẽ xoá quyền ở cấp độ truy cập là protected vì ứng dụng đang sử dụng cấp độ đó.
- Nhập tên của policy và ấn Delete

- Bạn đã xoá thành công.

- Quay lại với ứng dụng, ấn Add files và chọn tệp bạn muốn tải lên. Sau đó ấn Upload

- Màn hình vẫn báo thành công, nhưng bạn hãy xem lỗi ở chế độ Inspect | Console. Chúng ta đã nhận được lỗi Access Denied.

- Thêm lại quyền cho người dùng.
- Ấn Add permissions
- Chọn Create inline policy

- Chọn service là S3

- Tại mục Actions | Read, chọn quyền GetObject

- Tại mục Actions | Write, chọn quyền PutObject và DeleteObject

- Tại mục Resources, ấn Add ARN

- Ấn List ARNs manually

- Nhập ARN:
arn:aws:s3:::fcjdmsstore101547-dev/protected/${cognito-identity.amazonaws.com:sub}/*

- Ấn Review policy

- Nhập tên cho policy:
Protected_policy
. Sau đó ấn Create policy

- Quay lại ứng dụng web, tải lại tệp mà bạn vừa thất bại
- Ấn Add files, chọn tệp muốn tải
- Ấn Upload

- Mở bảng điều khiển của S3 bucket xem tệp đã tải thành công hay chưa.

Chúng ta đã tìm hiểu về mức độ truy cập protected. Nếu bạn muốn thêm quyền cho các mức độ hay chỉnh sửa quyền nào thì có thể làm tương tự.