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

IAM: users, groups, roles, policies

หัวใจของการควบคุมว่าใครเข้าถึงอะไรได้บน AWS เริ่มจาก analogy บัตรพนักงาน

นึกถึงบัตรพนักงานในออฟฟิศ

User = พนักงานหนึ่งคน, Group = แผนก (ให้สิทธิ์ทั้งแผนกทีเดียว), Policy = กฎว่าบัตรนี้เปิดประตูห้องไหนได้บ้าง, Role = บัตรชั่วคราวที่หยิบมาสวมเฉพาะตอนทำงานบางอย่าง แล้วคืน

IAM (Identity and Access Management - ระบบจัดการตัวตนและสิทธิ์การเข้าถึง) คือบริการที่เป็นหัวใจสำคัญของความปลอดภัยบน AWS ทำหน้าที่คุมว่า "ใคร" สามารถทำ "อะไร" กับทรัพยากร AWS ได้บ้าง เป็นบริการ Global (ระดับโลก ไม่ผูกกับ Region ใด Region หนึ่ง) และ ใช้ฟรี

IAM ผูก "ตัวตน" เข้ากับ "สิทธิ์" ที่เขียนใน policy

Userคนจริง/แอป
Groupรวม user
Roleสวมชั่วคราว
แนบ
IAM PolicyJSON: allow/deny
ให้สิทธิ์ทำกับ
S3
EC2

policy คือกฎว่า "ใครทำอะไรกับทรัพยากรไหนได้บ้าง" — แนบกับ user, group หรือ role

องค์ประกอบหลัก 4 อย่าง

  • User (ผู้ใช้) — ตัวแทนคนหรือแอปหนึ่งราย มี credential ของตัวเอง (เช่น รหัสผ่านเข้าคอนโซล หรือ Access key)
  • Group (กลุ่ม) — กลุ่มของ user เพื่อจัดการสิทธิ์เป็นชุด (เช่น กลุ่ม Developers)
  • Policy (นโยบาย) — เอกสาร JSON ระบุ allow/deny ว่าทำ action ใดกับ resource ใดได้ นำไปแนบกับ user/group/role
  • Role (บทบาทจำลอง) — "ตัวตน" ที่ไม่มี credential ถาวร ใช้ให้คนหรือบริการ สวมชั่วคราว เพื่อรับสิทธิ์

สรุป Key Takeaways

  • IAM คุมว่าใครทำอะไรกับทรัพยากรได้ เป็นบริการ global และใช้ฟรี
  • User/Group = ตัวตนถาวร, Role = สวมชั่วคราว, Policy (JSON) = กฎสิทธิ์
  • explicit Deny ชนะ Allow เสมอ และอย่าใช้ root ทำงานประจำ

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

User, Group, Role, Policy ต่างกันยังไงใน 4 บรรทัด

User = ตัวตนถาวรของคน/ระบบหนึ่งราย · Group = ที่รวม user เพื่อแปะ policy ทีเดียว · Role = ตัวตนชั่วคราวที่ "สวม" ได้ (ทั้งคนและบริการ) ไม่มีรหัสผ่านถาวร · Policy = เอกสาร JSON ระบุว่าอนุญาต/ปฏิเสธ action อะไรกับ resource ไหน — ทุกอย่างใน IAM วนอยู่กับสี่ตัวนี้

Explicit Deny ชนะทุกอย่างจริงไหม

จริง — ลำดับการตัดสิน: ถ้ามี explicit Deny ที่ไหนก็ตาม = ปฏิเสธทันที ไม่มี Deny แต่มี Allow = อนุญาต ไม่มีทั้งคู่ = ปฏิเสธโดยปริยาย (implicit deny) — ข้อสอบชอบให้ policy สองใบขัดกันแล้วถามผลลัพธ์ ให้หา Deny ก่อนเสมอ

Root account ควรใช้ตอนไหน

แทบไม่ควรใช้เลย — เก็บไว้เฉพาะงานที่บังคับใช้ root (เช่น ปิดบัญชี เปลี่ยนแผน support) เปิด MFA ให้ root ทันที ไม่สร้าง access key ให้ root และงานประจำวันทั้งหมดใช้ IAM user/role ที่จำกัดสิทธิ์ — เป็นแนวคำตอบข้อสอบเรื่อง account security เสมอ

ลองทำ Quiz ท้ายบท

คำถามแนวข้อสอบของโมดูลนี้ 5 ข้อ · เฉลยทันที

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