ข้ามไปเนื้อหาหลัก
ความปลอดภัย· ~6 นาที· อัปเดตล่าสุด

ปกป้องบัญชี AWS: Root User, MFA และแนวปฏิบัติ

ทำไม root user ต้องเก็บเข้าตู้เซฟ, การเปิด MFA และแนวปฏิบัติความปลอดภัยพื้นฐานของบัญชี

กุญแจมาสเตอร์ของทั้งตึก

Root user คือกุญแจมาสเตอร์ที่เปิดได้ทุกประตูรวมถึงห้องนิรภัย — ผู้จัดการตึกที่ดีไม่พกกุญแจนี้ไปเปิดประตูหน้าทุกเช้า แต่เก็บเข้าตู้เซฟ แล้วใช้กุญแจประจำตำแหน่งที่เปิดได้เฉพาะห้องที่เกี่ยวกับงานของตัวเอง

เช็คลิสต์ความปลอดภัยของบัญชีที่ข้อสอบชอบถาม

  1. เปิด MFA ให้ root user เป็นอย่างแรก แล้วเลิกใช้ root ในงานประจำวัน
  2. สร้าง IAM user / ใช้ Identity Center สำหรับแต่ละคน — ไม่แชร์บัญชีกัน
  3. จัดสิทธิ์ผ่าน Group + Policy ตามหลัก least privilege
  4. ตั้ง password policy ของบัญชี (ความยาว อายุรหัสผ่าน) ตามมาตรฐานองค์กร
  5. ไม่สร้าง access key ให้ root และไม่ฝัง key ใดๆ ในโค้ดหรือ repository
  6. เปิด CloudTrail เก็บบันทึกว่าใครเรียก API อะไร ไว้ตรวจสอบย้อนหลัง

สำหรับองค์กรที่มีหลายบัญชี AWS การคุมภาพรวมทำผ่าน AWS Organizations (รวมบิล + ตั้งกฎ Service Control Policies จำกัดว่าบัญชีลูกทำอะไรได้บ้าง) ซึ่งจะเจออีกครั้งในโดเมน Billing — ตอนนี้จำไว้ก่อนว่า "คุมหลายบัญชีจากศูนย์กลาง = Organizations"

สรุป Key Takeaways

  • Root user: เปิด MFA, ไม่ใช้ทำงานประจำวัน, ไม่สร้าง access key ให้ root
  • เปิด MFA ให้ผู้ใช้ทุกคนที่เข้าคอนโซลได้ โดยเฉพาะสิทธิ์สูง
  • ไม่ฝัง access key ในโค้ด — ใช้ IAM Role และหมุนเวียน credentials สม่ำเสมอ

คำถามที่พบบ่อย

Root user ต่างจาก IAM user ที่เป็น admin อย่างไร

Root คือเจ้าของบัญชีตัวจริง ทำได้ "ทุกอย่าง" รวมถึงสิ่งที่ admin ทำไม่ได้ เช่น ปิดบัญชี เปลี่ยนแผน support — แนวปฏิบัติคือใช้ root แค่ตั้งค่าครั้งแรก เปิด MFA ให้ แล้วเก็บเข้าตู้เซฟ งานประจำวันใช้ IAM user/role ที่จำกัดสิทธิ์แทน

MFA คืออะไร ช่วยอะไร

Multi-Factor Authentication — เพิ่มปัจจัยยืนยันตัวตนชั้นที่สองนอกจากรหัสผ่าน เช่น รหัสจากแอป authenticator หรือกุญแจ security key ต่อให้รหัสผ่านรั่ว คนร้ายก็ยังเข้าไม่ได้ ข้อสอบถามเสมอว่า "เพิ่มความปลอดภัยการล็อกอิน" = เปิด MFA โดยเฉพาะกับ root

ถ้า access key รั่วต้องทำอย่างไร

ปิดการใช้งาน (deactivate) key นั้นทันทีแล้วออกใหม่ ตรวจ CloudTrail ว่ามีการใช้ key ไปทำอะไรบ้าง — และป้องกันแต่แรกด้วยการไม่ฝัง key ในโค้ด ใช้ IAM Role แทนเมื่อเป็นไปได้

อ่านจบแล้วอย่าลืมทำเครื่องหมาย