Áp dụng Amazon S3 Object Lock ở quy mô lớn cho hàng petabyte dữ liệu hiện có

Tác giả: Omkar Deshmane, Ballu Singh, và Deepak Garg
Ngày phát hành: 23 JAN 2026
Chuyên mục: Amazon Athena, Amazon Simple Storage Service (S3), AWS Backup, AWS CLI, AWS Identity and Access Management (IAM), AWS Key Management Service, Intermediate (200), Technical How-to

Các tổ chức có hàng petabyte dữ liệu trên đám mây cần một cách để áp dụng các biện pháp bảo vệ lưu trữ bất biến cho dữ liệu đã được lưu trữ—dù là để tuân thủ quy định hay phục hồi sau tấn công mạng. Mặc dù bạn có thể bật các kiểm soát ghi một lần đọc nhiều lần (WORM) cho bộ nhớ mới tạo, việc áp dụng các biện vệ này cho dữ liệu doanh nghiệp hiện có ở quy mô lớn đòi hỏi một phương pháp tiếp cận có hệ thống. Các ngành công nghiệp được quản lý từ lâu đã dựa vào các phương tiện vật lý như đĩa quang để có tính bất biến tích hợp. Tuy nhiên, lưu trữ đám mây cung cấp các đảm bảo tương tự với tính linh hoạt bổ sung bao gồm các khoảng thời gian lưu giữ có thể cấu hình, chế độ bảo vệ và giữ lại pháp lý (legal holds) cho các tình huống kiện tụng.

Amazon S3 Object Lock cung cấp khả năng bảo vệ WORM cho dữ liệu được lưu trữ trên đám mây bằng cách làm cho các phiên bản đối tượng cụ thể trở nên bất biến, ngăn chặn cả việc xóa nhầm lẫn và các tác nhân độc hại làm tổn hại dữ liệu của bạn. Với S3 Object Lock, S3 Versioning là bắt buộc và được tự động bật, và các tính năng này hoạt động cùng nhau để ngăn các phiên bản đối tượng bị khóa bị xóa vĩnh viễn (do vô tình hoặc cố ý) hoặc bị ghi đè. S3 Object Lock cung cấp một biện pháp phòng thủ quan trọng chống lại các mối đe dọa mạng, đặc biệt khi các cuộc tấn công ransomware ngày càng nhắm mục tiêu vào dữ liệu sao lưu và lưu trữ. Khi được tích hợp với các kiểm soát bổ sung như AWS Backup, các chính sách truy cập và chiến lược phục hồi ransomware, nó cung cấp một lớp quan trọng trong phương pháp bảo vệ dữ liệu theo chiều sâu.

Trong bài viết này, chúng tôi trình bày cách áp dụng S3 Object Lock cho dữ liệu hiện có ở quy mô petabyte bằng cách sử dụng S3 Batch Operations. Chúng tôi sẽ đi sâu vào các cân nhắc chính cho việc triển khai quy mô lớn, bao gồm các yêu cầu về phiên bản, thiết kế chính sách lưu giữ và các phương pháp hay nhất trong vận hành để cung cấp quá trình chuyển đổi suôn sẻ mà không làm gián đoạn các khối lượng công việc hiện có.

Phần A: Tìm hiểu về S3 Object Lock

Tính năng S3 Object Lock bao gồm hai bước chính.

Bước 1. Bật S3 Object Lock ở cấp độ bucket

Bước đầu tiên là bật S3 Object Lock trên bucket Amazon S3 mục tiêu. Một cờ cấp bucket sẽ bật chức năng WORM cho toàn bộ bucket, giúp nó có khả năng hỗ trợ bảo vệ đối tượng bất biến. Tuy nhiên, cờ này một mình không khóa bất kỳ đối tượng nào—nó thiết lập nền tảng để áp dụng các kiểm soát bảo vệ ở bước thứ hai. Cài đặt này yêu cầu bucket phải được phiên bản hóa (versioned) vì S3 Object Lock được thiết kế để bảo vệ ở cấp độ phiên bản chứ không phải cấp độ khóa đối tượng. S3 Object Lock có thể sử dụng tính năng phiên bản hóa để bảo vệ các phiên bản bất biến cụ thể trong khi vẫn cho phép dữ liệu mới được ghi vào cùng khóa/đường dẫn đó. Điều này cung cấp cả yêu cầu tuân thủ và tính linh hoạt trong vận hành. Khi bạn bật S3 Object Lock thông qua API hoặc AWS Command Line Interface (AWS CLI), Amazon S3 sẽ tự động bật tính năng phiên bản hóa.

% aws s3api get-bucket-versioning --bucket xxxxxx-object-lock-testing
[If the output is blank, bucket is not versioned]
% aws s3api put-object-lock-configuration --bucket xxxxxx-object-lock-testing —object-lock-configuration='{ "ObjectLockEnabled": "Enabled"}'
% aws s3api get-bucket-versioning --bucket xxxxxx-object-lock-testing
{
"Status": "Enabled"
}

Nếu bạn đang sử dụng AWS Management Console, nó sẽ nhắc bạn bật tính năng phiên bản hóa, như thể hiện trong hình sau.

AWS Management Console nhắc bật tính năng phiên bản hóa cho S3 Object Lock

Bước 2. Áp dụng các kiểm soát bảo vệ trên các phiên bản đối tượng cụ thể

S3 Object Lock cung cấp hai loại bảo vệ: cấu hình lưu giữ (retention configuration) và giữ lại pháp lý (legal hold). Các kiểm soát này được lưu trữ trong siêu dữ liệu của phiên bản đối tượng và có thể được sử dụng độc lập hoặc cùng nhau. Các đối tượng không có bất kỳ cài đặt bảo vệ nào trong siêu dữ liệu của chúng vẫn là các đối tượng có thể thay đổi thông thường, ngay cả trong một bucket đã bật S3 Object Lock. Trong phần này, chúng ta sẽ xem xét chi tiết từng loại bảo vệ.

2.1. Cấu hình lưu giữ: Cấu hình lưu giữ bao gồm hai thành phần: khoảng thời gian lưu giữ (retention period) và chế độ (mode). Khoảng thời gian lưu giữ là một khoảng thời gian cố định trong đó một phiên bản đối tượng được bảo vệ bởi S3 Object Lock và không thể bị ghi đè hoặc xóa. Chế độ là một trong hai loại: compliance (tuân thủ) hoặc governance (quản trị).

2.1.1. Chế độ Compliance: Đối với các yêu cầu tuân thủ nghiêm ngặt đòi hỏi tính bất biến hoàn toàn, hãy cấu hình khoảng thời gian lưu giữ ở chế độ compliance trong thời gian mong muốn. Trong khoảng thời gian lưu giữ ở chế độ này, không người dùng hoặc vai trò nào có bất kỳ cấp độ quyền AWS Identity and Access Management (IAM) nào có thể xóa hoặc ghi đè phiên bản đối tượng đó hoặc thậm chí giảm thời gian lưu giữ (nhưng có thể kéo dài). Điều này cung cấp khả năng bảo vệ WORM nghiêm ngặt nhất theo yêu cầu của các tiêu chuẩn tuân thủ khác nhau. Sau khi khoảng thời gian lưu giữ hết hạn, phiên bản đối tượng trở thành một đối tượng có thể thay đổi thông thường.

Tuyên bố miễn trừ trách nhiệm: Chế độ compliance cung cấp tính bất biến nghiêm ngặt theo yêu cầu của các quy định như SEC 17a-4(f). Tuy nhiên, điều này đi kèm với sự bảo vệ vĩnh viễn không thể bị ghi đè—ngay cả bởi quản trị viên tài khoản AWS—cho đến khi khoảng thời gian lưu giữ hết hạn. Yêu cầu quy định này có nghĩa là các yêu cầu xóa dữ liệu (chẳng hạn như tuân thủ GDPR) không thể được thực hiện đối với các đối tượng đang trong chế độ lưu giữ compliance. Nếu bạn đã bật Amazon S3 Cross-Region Replication, thì các cài đặt bảo vệ này cũng được sao chép sang các bucket đích. Chúng tôi đặc biệt khuyên bạn nên kiểm tra kỹ lưỡng chiến lược lưu giữ của mình bằng cách sử dụng chế độ governance hoặc chế độ compliance với khoảng thời gian lưu giữ ngắn trước khi triển khai sản xuất.

2.1.2. Chế độ Governance: Nếu bạn cần tính bất biến mà không có yêu cầu tuân thủ nghiêm ngặt, hãy đặt khoảng thời gian lưu giữ ở chế độ governance trên một phiên bản đối tượng. Hãy coi chế độ này như một chức năng WORM linh hoạt. Ở chế độ này, người dùng và vai trò có quyền cần thiết, s3:BypassGovernanceRetention, có thể sửa đổi cài đặt lưu giữ hoặc xóa phiên bản đối tượng trong khoảng thời gian lưu giữ. Phiên bản đối tượng vẫn bất biến đối với các thực thể không có quyền cụ thể này, bảo vệ chống lại cả những thay đổi vô tình và hoạt động độc hại. Ví dụ, trong một sự kiện ransomware khi phần mềm độc hại cố gắng mã hóa dữ liệu của bạn, nó không thể sửa đổi các phiên bản đối tượng được bảo vệ vì các quyền IAM tiêu chuẩn không đủ nếu không có quyền bỏ qua cụ thể. Lớp bảo vệ bổ sung này giúp duy trì tính toàn vẹn của dữ liệu ngay cả khi thông tin đăng nhập truy cập thông thường bị xâm phạm.

2.2. Giữ lại pháp lý: Loại bảo vệ thứ hai là giữ lại pháp lý (legal hold): một công tắc bật/tắt đơn giản cung cấp khả năng bảo vệ WORM trong một khoảng thời gian không xác định. Giữ lại pháp lý lý tưởng khi bạn cần bảo toàn dữ liệu cho các vụ kiện tụng, điều tra hoặc kiểm toán mà thời gian không xác định. Nó vẫn hoạt động cho đến khi được người dùng/vai trò có quyền s3:PutObjectLegalHold xóa thủ công. Nó có thể được áp dụng độc lập hoặc cùng với các cài đặt lưu giữ, bổ sung cho từng chế độ lưu giữ.

Với chế độ lưu giữ compliance, mặc dù bạn có thể kéo dài khoảng thời gian lưu giữ, nhưng việc này sẽ khóa vĩnh viễn các đối tượng trong thời gian dài hơn. Đối với các vấn đề pháp lý với khung thời gian không chắc chắn, tốt hơn là thêm một legal hold. Điều này cung cấp sự bảo vệ cần thiết nhưng có thể được gỡ bỏ khi vấn đề kết thúc, mà không cần cam kết các khoảng thời gian lưu giữ dài hơn mà sau này không thể rút ngắn.

Với chế độ lưu giữ governance, một legal hold cung cấp một lớp bảo vệ bổ sung và cho phép phân tách nhiệm vụ. Ví dụ, trong một cuộc điều tra, nhóm pháp lý có thể quản lý các legal hold trong khi nhóm IT duy trì các quyền quản lý lưu trữ thông thường của họ.

Thách thức với dữ liệu hiện có

Các tổ chức thường phát hiện ra những lỗ hổng tuân thủ trong dữ liệu Amazon S3 hiện có của họ mà yêu cầu bảo vệ WORM. Những lỗ hổng này thường phát sinh từ các cuộc di chuyển quy mô lớn từ các hệ thống cũ, chuyển giao giữa các tài khoản, các sáng kiến chuyển đổi từ băng từ sang đám mây, hoặc trong các bucket hiện có nơi các yêu cầu bảo vệ đã thay đổi theo thời gian.

Bạn có thể bật S3 Object Lock và đặt cài đặt lưu giữ mặc định trên một bucket. Mặc dù việc đặt S3 Object Lock ở cấp độ bucket làm cho tất cả các đối tượng—cả hiện có và mới—đủ điều kiện để bảo vệ lưu giữ, nhưng các cài đặt lưu giữ mặc định (chế độ và số ngày lưu giữ) chỉ áp dụng cho các đối tượng mới được tải lên sau khi S3 Object Lock được bật. Tuy nhiên, chúng không bảo vệ hoặc cập nhật cài đặt lưu giữ cho các đối tượng hiện có một cách hồi tố. Dù bạn đang triển khai tuân thủ SEC 17a-4 cho hồ sơ giao dịch, bảo vệ tài liệu cũ hay giải quyết các lỗ hổng tuân thủ trong dữ liệu đã di chuyển, bạn cần một phương pháp tự động để trang bị lại khả năng bảo vệ S3 Object Lock ở quy mô lớn.

Để biết thêm thông tin về bảo vệ dữ liệu mới, hãy truy cập Bảo vệ dữ liệu bằng S3 Object LockTự động kéo dài thời gian lưu giữ S3 Object Lock ở quy mô lớn.

Phần B: Triển khai S3 Object Lock cho dữ liệu hiện có

S3 Batch Operations giải quyết nhu cầu này bằng cách cho phép bạn áp dụng hiệu quả khả năng bảo vệ S3 Object Lock cho hàng tỷ đối tượng.

Trong phần này, chúng tôi sẽ hướng dẫn bạn các bước chính liên quan đến việc triển khai S3 Object Lock cho dữ liệu hiện có. Để giúp bạn bắt đầu, chúng tôi đã cung cấp các tập lệnh mẫu dựa trên AWS CLI trong kho lưu trữ GitHub của chúng tôi. Bạn có thể sử dụng các tập lệnh này nguyên trạng hoặc sửa đổi chúng để phù hợp với nhu cầu của mình. Tệp README.md trong kho lưu trữ bao gồm các hướng dẫn chi tiết.

Bước 1. Tạo danh mục đối tượng

Xác định những đối tượng nào cần bảo vệ bằng S3 Object Lock. Bạn có thể bảo vệ tất cả các đối tượng trong một bucket, hoặc chọn các đối tượng cụ thể dựa trên yêu cầu kinh doanh của bạn. Các tiêu chí lựa chọn phổ biến bao gồm tiền tố đối tượng (chẳng hạn như /financial-records/ hoặc /audit-logs/), tuổi của đối tượng (bảo vệ dữ liệu cũ hơn một ngày nhất định), lớp lưu trữ hoặc trạng thái mã hóa.

Công việc S3 Batch Operations yêu cầu một tệp kê khai (manifest file) chứa danh sách các đối tượng cần xử lý. Tệp kê khai phải chứa tên bucket và khóa đối tượng cho mỗi đối tượng. Bạn cũng có thể bao gồm một cột ID phiên bản để nhắm mục tiêu các phiên bản đối tượng cụ thể. Tuy nhiên, công việc sẽ xử lý phiên bản mới nhất của mỗi đối tượng nếu không có phiên bản nào được chỉ định. Có hai cách tự động để tạo tệp kê khai này (bạn cũng có thể tạo tệp kê khai CSV thủ công, mặc dù điều này trở nên không thực tế ở quy mô lớn).

1.1. Đối với các hoạt động tức thì có lọc (theo lớp lưu trữ, kích thước đối tượng, ngày tạo hoặc mẫu khóa), hãy sử dụng tính năng tạo tệp kê khai theo yêu cầu của S3 Batch Operations. Điều này tạo ra các công việc hàng loạt ngay lập tức mà không cần chờ báo cáo kiểm kê. Tuy nhiên, phương pháp này chỉ nhắm mục tiêu các phiên bản đối tượng mới nhất.

1.2. Đối với các kịch bản phức tạp yêu cầu phân tích toàn diện, hãy sử dụng báo cáo Amazon S3 Inventory kết hợp với Amazon Athena. Phương pháp này hữu ích khi bạn cần: (1) nhắm mục tiêu các phiên bản đối tượng không hiện hành cụ thể bằng cách bao gồm ID phiên bản trong tệp kê khai của bạn, hoặc (2) chạy các truy vấn SQL phức tạp, ví dụ, để xác định các đối tượng không có cài đặt lưu giữ hoặc có khoảng thời gian lưu giữ cụ thể. Điều này giúp bạn tránh các hoạt động thất bại do cấu hình hiện có. Để được hướng dẫn chi tiết về cách tạo tệp kê khai từ S3 Inventory, hãy truy cập Quản lý và phân tích dữ liệu của bạn ở quy mô lớn bằng Amazon S3 Inventory và Amazon AthenaTổng hợp và truy vấn báo cáo Amazon S3 Inventory để có khả năng hiển thị cấp đối tượng trên toàn khu vực.

Để hỗ trợ thử nghiệm, chúng tôi đã cung cấp một tập lệnh tạo 1.000 đối tượng mẫu trong bucket thử nghiệm của bạn. Bạn có thể sử dụng tập lệnh này để thử nghiệm các cấu hình S3 Object Lock, chế độ lưu giữ và quyền trước khi triển khai vào sản xuất.

Bước 2. Thiết lập các quyền cần thiết

S3 Batch Operations yêu cầu một vai trò IAM với các quyền thích hợp để thực hiện các hoạt động S3 Object Lock. Chính sách sau đây bao gồm các quyền cốt lõi để áp dụng cài đặt lưu giữ S3 Object Lock và legal hold cho các đối tượng. Điều chỉnh chính sách dựa trên thiết kế tổng thể. Để biết thêm chi tiết, hãy tham khảo Cấp quyền cho S3 Batch Operations.

2.1. Quyền IAM để quản lý bảo vệ đối tượng: Vai trò IAM phải bao gồm các quyền cho phép S3 Batch Operations đọc đối tượng, áp dụng cài đặt S3 Object Lock và ghi báo cáo. Chính sách sau đây cấp các quyền cần thiết:

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "S3BatchOperationsObjectLockPermissions",
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject",
"s3:GetObjectVersion",
"s3:PutObjectRetention",
"s3:PutObjectLegalHold",
"s3:GetBucketLocation",
"s3:GetBucketObjectLockConfiguration"
],
"Resource": [
"arn:aws:s3:::BUCKET_NAME_PLACEHOLDER",
"arn:aws:s3:::BUCKET_NAME_PLACEHOLDER/*"
]
},
{
"Sid": "KMSPermissionsForEncryptedObjects",
"Effect": "Allow",
"Action": [
"kms:Decrypt",
"kms:Encrypt",
"kms:GenerateDataKey",
"kms:DescribeKey"
],
"Resource": "arn:aws:kms:::KMS_KEY_PLACEHOLDER"
}
]
}

2.2. Mối quan hệ tin cậy cho phép S3 Batch Operations đảm nhận vai trò: Vai trò IAM phải bao gồm một chính sách tin cậy cho phép S3 Batch Operations đảm nhận nó. Nếu không có mối quan hệ tin cậy này, dịch vụ không thể sử dụng vai trò bất kể các quyền được cấp.

{
"Effect": "Allow",
"Principal": {
"Service": "batchoperations.s3.amazonaws.com"
},
"Action": "sts:AssumeRole"
}

Nếu bạn đang tạo vai trò IAM thủ công bằng JSON trên, hãy nhớ thay thế BUCKET_NAME_PLACEHOLDER bằng tên bucket của bạn và arn:aws:kms:::KMS_KEY_PLACEHOLDER bằng giá trị Amazon Resource Name (ARN) của khóa AWS Key Management Service (AWS KMS) thực tế. Ngoài ra, bạn có thể sử dụng tập lệnh được cung cấp trong kho lưu trữ GitHub của chúng tôi—nó chấp nhận tên bucket làm đối số và tạo vai trò với các quyền chính xác.

Bước 3. Áp dụng bảo vệ S3 Object Lock

Với danh mục đối tượng và các quyền đã sẵn sàng, giờ đây bạn có thể áp dụng bảo vệ S3 Object Lock bằng cách sử dụng S3 Batch Operations. Hoạt động này xử lý hàng triệu đối tượng được liệt kê trong tệp kê khai của bạn một cách bất đồng bộ, áp dụng các cài đặt bảo vệ được chỉ định (khoảng thời gian lưu giữ và chế độ, hoặc legal hold) cho mỗi phiên bản đối tượng. Khi hoạt động hoàn tất, Amazon S3 sẽ tạo một báo cáo hoàn thành trong bucket của bạn, hiển thị trạng thái của từng đối tượng đã được xử lý, bao gồm mọi lỗi và nguyên nhân của chúng. Điều này giúp bạn xác minh rằng việc bảo vệ đã được áp dụng đúng cách và khắc phục sự cố bất kỳ vấn đề nào.

Để áp dụng các khoảng thời gian lưu giữ khác nhau cho các đối tượng khác nhau dựa trên yêu cầu kinh doanh của bạn, hãy tổ chức các đối tượng vào các tệp kê khai riêng biệt và chạy nhiều hoạt động hàng loạt. Bạn có thể sử dụng phương pháp này để đặt các chính sách lưu giữ theo tầng dựa trên yêu cầu quy định, phân loại dữ liệu hoặc giá trị kinh doanh.

Chúng tôi đã cung cấp hai tập lệnh tự động hóa trong kho lưu trữ GitHub của chúng tôi:

  • Một tập lệnh để áp dụng cài đặt lưu giữ (chế độ compliance hoặc governance) với khoảng thời gian lưu giữ được chỉ định của bạn. Báo cáo hoàn thành được lưu trữ trong thư mục batch_report của bucket của bạn.
  • Một tập lệnh để áp dụng Legal Hold cho các đối tượng đã chọn, với báo cáo hoàn thành được lưu trữ trong thư mục legal_hold_batch/batch_report của bạn.

Bước 4. Thử nghiệm và dọn dẹp

Trước khi áp dụng S3 Object Lock cho dữ liệu sản xuất, hãy kiểm tra việc triển khai trong môi trường phi sản xuất bằng cách sử dụng một tập dữ liệu nhỏ. Khi thử nghiệm, hãy sử dụng các khoảng thời gian lưu giữ ngắn (chẳng hạn như một ngày) để hợp lý hóa việc dọn dẹp và tránh vô tình khóa tài nguyên thử nghiệm dài hạn.

Khi S3 Object Lock được bật trên bucket của bạn, bạn không thể xóa đối tượng bằng các lệnh xóa tiêu chuẩn. S3 Object Lock ngăn chặn việc xóa hoặc sửa đổi đối tượng trong khoảng thời gian lưu giữ được chỉ định hoặc cho đến khi các legal hold được gỡ bỏ.

Phương pháp dọn dẹp phụ thuộc vào chế độ bảo vệ bạn đã áp dụng. Nếu bạn sử dụng chế độ compliance, bạn phải đợi thời gian lưu giữ hết hạn (tùy chọn 1). Nếu bạn sử dụng chế độ governance, bạn có thể đợi thời gian lưu giữ hết hạn (tùy chọn 1) hoặc bỏ qua thời gian lưu giữ bằng cách sử dụng các quyền thích hợp (tùy chọn 2). Nếu bạn đã áp dụng legal hold, trước tiên hãy gỡ bỏ các hold đó (tùy chọn 3), sau đó xóa các đối tượng.

Tùy chọn dọn dẹp 1: Chờ thời gian lưu giữ hết hạn

Đối với các đối tượng ở chế độ compliance, việc chờ thời gian lưu giữ hết hạn là bắt buộc—không có tùy chọn nào khác. Đối với các đối tượng ở chế độ governance, việc chờ đợi là cách tiếp cận trực tiếp nhất vì nó không yêu cầu quyền đặc biệt nào. Sau khi thời gian lưu giữ hết hạn, hãy xóa các đối tượng bằng lệnh xóa Amazon S3 tiêu chuẩn:

aws s3 rm s3://BUCKET_NAME_PLACEHOLDER --recursive

Thay thế BUCKET_NAME_PLACEHOLDER bằng tên bucket thực tế của bạn.

Tùy chọn dọn dẹp 2: Bỏ qua chế độ lưu giữ governance

Nếu bạn đã sử dụng chế độ governance và có quyền s3:BypassGovernanceRetention, thì bạn có thể xóa các đối tượng được bảo vệ trước khi khoảng thời gian lưu giữ của chúng hết hạn. Lệnh AWS CLI sau đây liệt kê các phiên bản đối tượng và xóa chúng với quyền bỏ qua chế độ governance:

aws s3api delete-objects \
--bucket BUCKET_NAME_PLACEHOLDER \
--delete "$(aws s3api list-object-versions \
--bucket BUCKET_NAME_PLACEHOLDER \
--output json \
--query '{Objects: Versions[].{Key:Key,VersionId:VersionId}}')" \
--bypass-governance-retention

Thay thế BUCKET_NAME_PLACEHOLDER bằng tên bucket thực tế của bạn.

Tùy chọn dọn dẹp 3: Gỡ bỏ legal hold

Nếu bạn đã áp dụng legal hold cho các đối tượng thử nghiệm của mình, thì bạn phải gỡ bỏ các hold này trước khi xóa. Sử dụng S3 Batch Operations để gỡ bỏ legal hold ở quy mô lớn. Đầu tiên, tạo một tệp kê khai liệt kê tất cả các đối tượng có legal hold. Sau đó, tạo một công việc hàng loạt để gỡ bỏ chúng:

aws s3control create-job \
--account-id YOUR_ACCOUNT_ID \
--operation '{"S3PutObjectLegalHold":{"LegalHold":{"Status":"OFF"}}}' \
--manifest '{"Spec":{"Format":"S3BatchOperations_CSV_20180820","Fields":["Bucket","Key","VersionId"]},"Location":{"ObjectArn":"arn:aws:s3:::YOUR_MANIFEST_BUCKET/manifest.csv","ETag":"MANIFEST_ETAG"}}' \
--report '{"Bucket":"arn:aws:s3:::YOUR_REPORT_BUCKET","Format":"Report_CSV_20180820","Enabled":true,"Prefix":"legal-hold-removal","ReportScope":"AllTasks"}' \
--priority 10 \
--role-arn arn:aws:iam::YOUR_ACCOUNT_ID:role/BatchOperationsRole \
--region YOUR_REGION \
--no-confirmation-required

Thay thế các giá trị giữ chỗ (YOUR_MANIFEST_BUCKET, YOUR_REPORT_BUCKET, YOUR_ACCOUNT_ID, YOUR_REGION) bằng các giá trị thực tế.

Kết luận

Trong bài viết này, chúng tôi đã khám phá chức năng Amazon S3 Object Lock, bao gồm các chế độ lưu giữ và tùy chọn legal hold để bảo vệ WORM. Sau đó, chúng tôi đã trình bày cách sử dụng S3 Batch Operations để áp dụng các biện pháp bảo vệ này cho dữ liệu hiện có của bạn, hướng dẫn qua quy trình tạo danh mục đối tượng, thiết lập các quyền cần thiết và áp dụng cài đặt bảo vệ ở quy mô lớn. Để giúp bạn triển khai giải pháp này, chúng tôi đã cung cấp các tập lệnh mẫu trong một kho lưu trữ GitHub tự động hóa quy trình. Để tìm hiểu thêm về S3 Object Lock và bảo vệ dữ liệu, hãy tham khảo tài liệu AWS liên quan đến việc bảo vệ dữ liệu bằng S3 Object Lock.

Về tác giả

Omkar Deshmane

Omkar Deshmane

Omkar Deshmane là Kiến trúc sư Giải pháp Cấp cao tại AWS có trụ sở tại Frisco, Texas. Anh chuyên làm việc với các khách hàng trong ngành Dịch vụ Tài chính ở phân khúc Thanh toán, giúp họ kiến trúc các giải pháp đám mây mạnh mẽ, linh hoạt và an toàn. Trong thời gian rảnh rỗi, Omkar thích chơi cờ vua và dành thời gian cho hai con của mình.

Ballu Singh

Ballu Singh

Ballu Singh là Kiến trúc sư Giải pháp Chính tại AWS. Anh sống ở khu vực Vịnh San Francisco và giúp khách hàng kiến trúc và tối ưu hóa các ứng dụng trên AWS. Trong thời gian rảnh rỗi, anh thích đọc sách và dành thời gian cho gia đình.

Deepak Garg

Deepak Garg

Deepak Garg là Kiến trúc sư Giải pháp Cấp cao tại AWS có trụ sở tại Seattle, Washington. Anh chuyên về Mạng lưới phân phối nội dung (Content Delivery Networks) và Viễn thông, giúp khách hàng kiến trúc các giải pháp trên AWS. Trong thời gian rảnh rỗi, Deepak thích chơi trò chơi board game và đọc sách.