Chuyển tới nội dung chính

S3 Object Lock

1. Tổng quan

S3 Object Lock ngăn không cho object bị xóa hoặc ghi đè trong một khoảng thời gian xác định, hoặc vô thời hạn. Tính năng này sử dụng mô hình write-once-read-many (WORM), giúp đáp ứng các yêu cầu về tuân thủ, kiểm toán và bảo vệ dữ liệu khỏi việc xóa nhầm hoặc xóa cố ý.

Object Lock được bật ở cấp bucket và áp dụng cho các object lưu trong bucket đó.

2. Các khái niệm chính

  • Thời gian lưu giữ (retention period): Khoảng thời gian một object bị khóa. Trong thời gian này, phiên bản object không thể bị ghi đè hoặc xóa.
  • Chế độ lưu giữ (retention mode): Quy định mức độ nghiêm ngặt khi thực thi thời gian lưu giữ. S3 API định nghĩa hai chế độ:
    • Governance mode: Object bị khóa vẫn có thể bị ghi đè hoặc xóa, và thời gian lưu giữ có thể được rút ngắn, nhưng chỉ người dùng có quyền đặc biệt s3:BypassGovernanceRetention mới có thể thực hiện. Phù hợp để thử nghiệm và bảo vệ dữ liệu trong khi vẫn có thể can thiệp khi cần.
    • Compliance mode: Không một người dùng nào, kể cả chủ tài khoản, có thể ghi đè hoặc xóa object hay rút ngắn thời gian lưu giữ cho đến khi hết hạn. Sau khi đã thiết lập, không có cách nào bỏ qua (bypass).
  • Legal hold: Một cờ độc lập với thời gian lưu giữ. Nó ngăn một phiên bản object bị xóa hoặc ghi đè vô thời hạn cho đến khi cờ này được gỡ bỏ (s3:PutObjectLegalHold).
  • Versioning: Object Lock chỉ có thể được bật trên bucket đã bật versioning. Việc khóa áp dụng cho từng phiên bản object.

3. Tính khả dụng trên Vietnix Cloud

Chế độ lưu giữTrạng thái trên Vietnix Cloud S3 Storage
Governance modeĐược hỗ trợ
Compliance modeChưa được hỗ trợ
Chế độ Compliance chưa được bật

Vietnix Cloud S3 Storage hiện chỉ hỗ trợ Governance mode. Chế độ Compliance chưa được bật tại thời điểm này.

Nếu bạn cần chế độ Compliance (ví dụ: để đáp ứng yêu cầu pháp lý, tuân thủ hoặc kiểm toán khi thời gian lưu giữ bắt buộc không thể bỏ qua), bạn cần liên hệ với Vietnix để yêu cầu bật tính năng này. Hãy liên hệ qua kênh hỗ trợ Vietnix hoặc quản lý tài khoản của bạn trước khi thiết kế quy trình phụ thuộc vào chế độ Compliance.

4. Bật Object Lock

Object Lock có thể được bật thông qua S3 API bằng bất kỳ công cụ tương thích S3 nào, chẳng hạn như AWS CLI hoặc MinIO Client.

4.1. Tạo bucket có bật Object Lock

aws s3api create-bucket \
--bucket your-bucket-name \
--object-lock-enabled-for-bucket \
--endpoint-url https://s3.vn-hcm-1.vietnix.cloud

4.2. Đặt quy tắc lưu giữ mặc định cho bucket

Ví dụ sau khóa mọi object mới trong 30 ngày ở chế độ Governance:

aws s3api put-object-lock-configuration \
--bucket your-bucket-name \
--object-lock-configuration 'ObjectLockEnabled=Enabled,Rule={DefaultRetention={Mode=GOVERNANCE,Days=30}}' \
--endpoint-url https://s3.vn-hcm-1.vietnix.cloud

Để dùng chế độ Compliance, thay GOVERNANCE bằng COMPLIANCE. Lưu ý rằng cách này chỉ hoạt động sau khi chế độ Compliance được bật cho tài khoản của bạn (xem mục 3).

aws s3api put-object-retention \
--bucket your-bucket-name \
--key path/to/object \
--retention 'Mode=GOVERNANCE,RetainUntilDate=2026-12-31T00:00:00Z' \
--endpoint-url https://s3.vn-hcm-1.vietnix.cloud
aws s3api put-object-legal-hold \
--bucket your-bucket-name \
--key path/to/object \
--legal-hold 'Status=ON' \
--endpoint-url https://s3.vn-hcm-1.vietnix.cloud

4.4. Kiểm tra cấu hình hiện tại

aws s3api get-object-lock-configuration \
--bucket your-bucket-name \
--endpoint-url https://s3.vn-hcm-1.vietnix.cloud

5. Khuyến nghị

  • Cân nhắc kỹ trước khi bật. Sau khi Object Lock được bật trên một bucket, không thể tắt lại. Hãy xác nhận yêu cầu lưu giữ của bạn trước.
  • Bắt đầu với Governance mode. Dùng chế độ này để kiểm tra cấu hình lưu giữ trước khi áp dụng chế độ nghiêm ngặt.
  • Dùng legal hold cho điều tra. Legal hold là cách nhanh chóng để "đóng băng" một số object cụ thể mà không cần thay đổi cấu hình mặc định của bucket.
  • Tuân thủ nguyên tắc đặc quyền tối thiểu. Chỉ cấp s3:BypassGovernanceRetentions3:PutObjectLegalHold cho những vai trò thực sự cần thiết.
  • Kết hợp với lifecycle rule. Object Lock bảo vệ các phiên bản khỏi bị xóa; lifecycle rule vẫn có thể khiến các phiên bản không phải hiện hành (non-current) hết hạn sau khi thời gian lưu giữ kết thúc.

6. Tiếp theo làm gì?