Versioning และ Object Lock (Immutability) คืออะไร? และแตกต่างกันอย่างไร

เมื่อพูดถึง Object Storage มักจะมีฟีเจอร์สำคัญสองอย่างที่เกี่ยวข้องกับการปกป้องข้อมูล ได้แก่ Versioning และ Object Lock (Immutability) แม้ว่าทั้งสองฟีเจอร์จะช่วยลดความเสี่ยงจากการสูญหายของข้อมูล แต่มีวัตถุประสงค์และการทำงานที่แตกต่างกันอย่างชัดเจน แน่นอนว่าฟีเจอร์ทั้งสองนั้น ระบบ S3 Object Storage ของเรานั้นรองรับอยู่ด้วย วันนี้เราเลยพาท่านไปรู้สึกว่าแต่ละฟีเจอร์มันคืออะไร และ แตกต่างกันอย่างไร

Versioning คืออะไร?

Versioning คือความสามารถในการเก็บรักษาไฟล์หลายเวอร์ชันภายใต้ชื่อเดียวกัน เช่นเมื่อท่านทำการอัปโหลดไฟล์ชื่อเดิมซ้ำ ระบบจะไม่เขียนทับไฟล์เดิม แต่จะสร้างเวอร์ชันใหม่ขึ้นมาแทน ทำให้สามารถย้อนกลับไปใช้งานไฟล์เวอร์ชันก่อนหน้าได้

ตัวอย่าง

เราทำการอัพโหลดไฟล์ report.xlsx

การเขียนไฟล์ ผลลัพธ์
อัปโหลดครั้งแรก Version 1
แก้ไขและอัปโหลดใหม่ Version 2
แก้ไขและอัปโหลดใหม่อีกครั้ง Version 3

ผู้ใช้งานสามารถเลือกกู้คืน Version 1 หรือ Version 2 ได้หากพบว่าข้อมูลใน Version 3 ไม่ถูกต้อง

ประโยชน์ของ Versioning

  • ป้องกันการลบไฟล์โดยไม่ตั้งใจ
  • ป้องกันการเขียนทับไฟล์ผิดพลาด
  • สามารถย้อนกลับไปใช้ข้อมูลเวอร์ชันก่อนหน้าได้
  • ช่วยในการตรวจสอบประวัติการเปลี่ยนแปลงของข้อมูล

ข้อจำกัดของ Versioning

แม้จะสามารถกู้คืนไฟล์เวอร์ชันเก่าได้ แต่ผู้ที่มีสิทธิ์เพียงพอยังคงสามารถลบทุกเวอร์ชันของไฟล์ได้ ดังนั้น Versioning จึงไม่สามารถป้องกันการโจมตีจาก Ransomware หรือการลบข้อมูลโดยผู้ดูแลระบบได้อย่างสมบูรณ์

Object Lock หรืออีกชื่อคือ Immutability คืออะไร?

Object Lock หรือ Immutability คือความสามารถในการกำหนดให้ไฟล์ไม่สามารถถูกแก้ไขหรือลบได้ภายในระยะเวลาที่กำหนด

เมื่อ Object ถูกล็อกแล้ว จะไม่มีใคร หรือ โปรเซสใด ทำการ

  • แก้ไขข้อมูล
  • เขียนทับข้อมูล
  • ลบข้อมูล

ได้จนกว่าจะครบระยะเวลาที่กำหนดไว้

ตัวอย่าง

ไฟล์ backup-2026-06-21.vbk และเรากำหนด Retention Period = 30 วัน

ผลลัพธ์คือ

  • ผู้ใช้ไม่สามารถลบไฟล์ได้
  • โปรแกรมไม่สามารถแก้ไขไฟล์ได้
  • Malware หรือ Ransomware ไม่สามารถลบไฟล์ได้
  • แม้แต่ผู้ดูแลระบบก็อาจไม่สามารถลบไฟล์ได้

ประโยชน์ของ Object Lock

  • ป้องกัน Ransomware
  • ป้องกันการลบข้อมูลโดยเจตนาหรือไม่ก็ตาม
  • รองรับข้อกำหนดด้านกฎหมายและ Compliance ซึ่งสำคัญมากสำหรับองค์กรขนาดใหญ่
  • เหมาะสำหรับระบบ Backup และ Archive อย่างยิ่ง

ข้อจำกัดของ Object Lock

Object Lock ไม่ได้เก็บหลายเวอร์ชันของข้อมูลโดยตัวมันเอง แต่เน้นการป้องกันไม่ให้ข้อมูลที่มีอยู่ถูกเปลี่ยนแปลง

เปรียบเทียบ Versioning และ Object Lock

คุณสมบัติ Versioning Object Lock (Immutability)
เก็บหลายเวอร์ชันของไฟล์
ย้อนกลับไปใช้ข้อมูลเวอร์ชันเก่าได้
ป้องกันการเขียนทับไฟล์
ป้องกันการลบไฟล์โดยผู้ใช้ทั่วไป
ป้องกันการลบโดยผู้ดูแลระบบ
ป้องกัน Ransomware จำกัด
เหมาะสำหรับ Backup แบบ Immutable
เหมาะสำหรับเก็บประวัติการแก้ไขไฟล์

หากใช้งานร่วมกันจะเกิดอะไรขึ้น?

ในระบบ S3 Storage ของเราท่านสามารถเปิดใช้งานทั้ง Versioning และ Object Lock พร้อมกันได้ แล้วจะเกิดอะไรขึ้นหากท่านทำเช่นนั้นเราไปดูกัน

ตัวอย่าง

report.xlsx
├─ Version 1 (Locked)
├─ Version 2 (Locked)
└─ Version 3 (Locked)

หากเกิดการโจมตีจาก Ransomware

  • ไฟล์อาจถูกอัปโหลดเป็น Version ใหม่
  • แต่ Version เดิมยังคงอยู่
  • Version เดิมไม่สามารถถูกลบได้
  • สามารถกู้คืนข้อมูลกลับมาได้อย่างปลอดภัย

แนวทางนี้เรียกว่า Immutable Backup

เปรียบเทียบให้เห็นภาพง่าย ๆ

Versioning

เหมือนการเก็บร่างเอกสารทุกครั้งที่มีการแก้ไข

เอกสารฉบับที่ 1
เอกสารฉบับที่ 2
เอกสารฉบับที่ 3

หากแก้ไขผิด สามารถย้อนกลับไปใช้ฉบับเก่าได้

Object Lock (Immutability)

เหมือนการนำเอกสารใส่ตู้เซฟที่ถูกล็อกตามเวลาที่กำหนด

เอกสาร
↓
ตู้เซฟ
↓
เปิดได้อีกครั้งใน 30 วัน

 

บทสรุป

  • Versioning ช่วยเก็บประวัติและกู้คืนไฟล์เวอร์ชันก่อนหน้า
  • Object Lock (Immutability) ช่วยป้องกันไม่ให้ไฟล์ถูกลบหรือแก้ไข
  • Versioning เน้นการกู้คืนข้อมูล
  • Object Lock เน้นการปกป้องข้อมูล
  • ระบบของเรารองรับการใช้งานทั้งสองฟีเจอร์ร่วมกัน ซึ่งเป็นแนวทางที่ดีที่สุดสำหรับการสร้าง Immutable Backup และป้องกันความเสียหายจาก Ransomware ในระบบ Object Storage ของเรา