Một số cấu hình S3-Compatible nâng cao trên S3 Browser

Ở bài viết này mình sẽ hướng dẫn sử dụng và cấu hình những tính năng nâng cao trong S3-Compatible bằng S3 Browser.

Một số tính năng bạn có thể sử dụng và cấu hình bao gồm:

  • ACL (Access Control List).
  • Bucket Policy.
  • Bucket Versioning.
  • LifeCycle
  • CORS Settings

Ở đây mình sẽ dùng S3-Compatible với Endpoint: vn1.vdrive.vn; Bucket sẽ là bucket-sample:

1. Cấu hình ACL

Đầu tiên, để cấu hình ACL cho bucket của bạn thì ta có thể dùng phím tắt Ctrl + L hoặc chọn vào Tab Permission ở giao diện phía dưới:

Bạn có thể thấy tùy chọn như Full Control (Toàn quyền kiểm soát), Read/Write, Read/Write Permission đối với từng đối tượng như Owner (Chủ sở hữu Bucket), Các AWS Users và những Users còn lại…

2. Cấu hình Bucket Policy

Bucket Policy là một tính năng dùng để thiết lập các quy tắc dựa trên một Policy mà bạn cấu hình, thường dùng để cấu hình các quyền truy cập (GET) hoặc các thao tác nâng cao hơn.

Để mở bảng điều khiển Bucket Policy thì bạn có thể dùng tổ hợp Ctrl + O, khi đó sẽ xuất hiện một bảng giao diện như sau:

Sau đó bạn sẽ thiết lập các cấu hình Bucket Policy bằng cách sử dụng AWS Policy Generator để sinh ra các cấu hình theo mong muốn của bạn.

Mình có một ví dụ cho cấu hình Public quyền Read từ một range IP 192.0.2.0/24 như sau:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowAnonymousReadFromSpecificPublicCidr",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "s3:GetObject",
      "Resource": "arn:aws:s3:::my-brand-new-bucket/*",
      "Condition": {
        "IpAddress": {
          "aws:SourceIp": "192.0.2.0/24"
        }
      }
    }
  ]
}

3. Bucket Versioning

Bạn có thể hiểu đơn giản Bucket Versioning như là quản lí các phiên bản của dữ liệu trên Bucket của bạn, nhằm trường hợp dữ liệu của bạn vô tình bị xóa ngoài ý muốn hoặc bị tấn công ransonware thì bạn có thể restore về phiên bản trước khi bị thay đổi.

Để có thể bật tính năng này, bạn sử dụng tổ hợp phím Ctrl + Shift + V:

Sau đó ở tab dưới của giao diện, bạn chuyển sang mục Version để kiểm tra xem đã xuất hiện các phiên bản của dữ liệu:

Sau đó bạn có thể thực hiện các thao tác:

  • Download các phiên bản.
  • Restore data về version trước đó
  • Delete các version để tối ưu dung lượng bucket.

Tuy nhiên điều này cũng sẽ đánh đổi với việc Bucket của bạn sẽ dùng nhiều dữ liệu hơn cho việc Versioning các phiên bản dữ liệu trên Bucket, do đó ta sẽ cần cân nhắc và có giải pháp quản lí các phiên bản.

4. Cấu Hình LifeCycle

LifeCycle là một tính năng dùng để tự động hóa quản lí vòng đời các dữ liệu nằm trong Bucket của bạn, giúp bạn kiểm soát và tiết kiệm chi phí lưu trữ, giảm công sức dọn dẹp thủ công.

Để điều chỉnh LifeCycle, bạn sử dụng tổ hợp Ctrl + I để mở giao diện cấu hình:

Tiếp theo ta lần lượt thực hiện các bước sau:

Bước 1. Add LifeCycle rule mới bằng cách chọn:

Bước 2:Chọn Prefix để apply LifeCycle:

Bước 3: Thực hiện cấu hình các Actions ở các Tabs còn lại và tích vào Enable để apply rule:

5. Cấu hình CORS

Để một domain có thể call và sử dụng được link S3 thì ta sẽ cần thiết lập CORS (Cross-Origin Request Source).

Ta sử dụng tổ hợp Ctrl + R để mở giao diện cấu hình CORS trên bucket của mình.

Ví dụ cấu hình CORS cho phép domain techynerds.site gọi request đến S3 bucket của ta:

<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <CORSRule>
    <AllowedMethod>PUT</AllowedMethod>
    <AllowedMethod>DELETE</AllowedMethod>
    <AllowedMethod>POST</AllowedMethod>
    <AllowedOrigin>https://techynerds.site</AllowedOrigin>
    <AllowedHeader>*</AllowedHeader>
  </CORSRule>
  <CORSRule>
    <AllowedMethod>GET</AllowedMethod>
    <AllowedOrigin>*</AllowedOrigin>
  </CORSRule>
</CORSConfiguration>

Như vậy, mình đã giới thiệu và hướng dẫn bạn sử dụng một số tính năng nâng cao của S3-Compatible bằng S3 Browser.

Nếu bạn có thắc mắc hay muốn đặt câu hỏi thì có thể gửi email hoặc comment bên dưới để mình và mọi người có thể hỗ trợ giải đáp nhé, xin cảm ơn mọi người rất nhiều!.

Leave a Reply