Azure Portal : ป้องกันการเผลอลบ Resource ใน Azure โดยไม่ตั้งใจ

0
442

ในช่วงเวลาที่ผ่านมา ผมเห็นผู้ใช้งาน Azure หลายท่านมีคำถามมากมายว่า “เผลอลบ นั่น โน่น นี่ (โดยเฉพาะ Resource Group)บน Azure ไปแล้ว โดยไม่ตั้งใจ อาจจะด้วยลบผิด หรือเผลอเรอก็ไม่ทราบได้ครับ คำถามคือว่า เรียกคืนได้มั้ย ??”

คำตอบคือ ไม่ได้ครับ เพราะเวลาลบอะไรใน Azure นั้นระบบจะ clear ทิ้งทันที เพื่อรักษาความปลอดภัยให้กับลูกค้าครับ

ปัญหานี้ผมเคยเจอกับตัวเองมาครั้งหนึ่ง และถึงขั้นเปิด Support Ticket กับ Microsoft Support กันเลยทีเดียว และได้คำตอบเหมือนด้านบน คือไม่สามารถกู้คืนได้ แต่ปัญหานี้สามารถป้องกันได้ครับ ทำอย่างไรไปดูกันครับ

ใน Azure Portal นั้นจะมี Blade ที่ชื่อว่า “Locks” ในทุกๆ Resource ซึ่งเจ้า Blade นี้แหละที่จะช่วยเราในการป้องกันไม่ให้เผลอลบ Resource โดยไม่ตั้งใจได้ครับ

ทำความรู้จักกับสถานะการ Locks มี 3 สถานะด้วยกันคือ

  • Not Locked  ซึ่งเป็นค่า Default เมื่อทำการสร้าง Resource จะได้ Locks เป็นสถานะนี้ครับ ทำให้เราสามารถลบ แก้ไข Resource ได้โดยง่าย
  • Read Only  เป็นการกำหนดให้ Resource มีสถานะเป็นการอ่านอย่างเดียว ไม่สามารถแก้ไขได้
  • Cannot Edit  / Delete เป็นการกำหนดให้ Resource มีสถานะอย่างเดียว ใช้กับ Resource ที่มีลักษณะเป็น container เช่น Resource Group ซึ่งจะไม่สามารถแก้ไขหรือลบ Resource Group ได้แต่สามารถสร้าง Resource ใหม่ ภายใต้ Resource Group เข้าไปได้ครับ

นอกนี้จะการกำหนด Locks ดังกล่าวจะสืบทอดจาก Resource ที่เป็น Parent ไปหา Child ด้วย เช่นถ้าเรากำหนด Locks ที่ Resource Group ก็จะสืบทอดไปยังทุกๆ Resource ใน Resource Group ด้วย

และการที่จะปลด Locks ของ Resource ดังกล่าวได้นั้นต้องมีสิทธิเป็น Owner ของ Resource เท่านั้นครับ ทำให้มั่นใจได้ว่าคนอื่นๆ ไม่สามารถมามั่วปลดได้แน่นอน

วิธีการกำหนด Locks 

ในที่นี้สมมุติว่าผมมี Resource Group ชื่อว่า “RG01” เป็น Resource Group ที่มี Virtual Machine ที่สำคัญทำงานไว้อยู่ และต้องการจะป้องกันไม่ให้โดนลบโดยบังเอิญ (Accidental Delete) ก็สามารถทำได้ดังนี้ครับ

  • เข้าสู่ Azure Portal และไปที่ Resource Group “RG01”  และไปที่ Blade “Locks”
#1 Blade "Locks" ของ Resource Groups
#1 Blade “Locks” ของ Resource Groups
  • คลิก “Add”  จากนั้นกรอกชื่อของ Locks และเลือก Type เป็น “Delete”
#2 กำหนดชื่อ และ Type ของ Locks
#2 กำหนดชื่อ และ Type ของ Locks
  • ปรากฎข้อมูลของ Locks ตามที่ตั้งไว้ เป็นอันเสร็จการดำเนินการครับ
#3 ข้อมูลของ Locks ตามที่กรอกข้อมูล
#3 ข้อมูลของ Locks ตามที่กรอกข้อมูล
  • ซึ่งหากผู้ใช้งานเผลอลบ Resource Group นี้ออกจะปรากฎ Error ดังนี้ และลบไม่ได้ครับ
ข้อผิดพลาดเมื่อทำการลบ Resource Group ที่ Locks ไว้
ข้อผิดพลาดเมื่อทำการลบ Resource Group ที่ Locks ไว้

เพียงเท่านี้เราก็สามารถป้องกันการลบ Resource โดยไม่ตั้งใจได้ครับ แต่ต้องขอย้ำว่าต้องทำไว้ก่อนลบนะครับ ถ้าลบไปแล้วเรียบร้อย ก็ตัวใครตัวมันละคร้าบบบบบ 55555

ข้อมูลอ้างอิง