Skip to main content

IAM

IAM (Identity and Access Management) เป็นบริการระดับ global ของ AWS เพราะใน IAM เราสร้างผู้ใช้ (users) และจัดกลุ่มผู้ใช้ (groups) ได้

เราเคยใช้ IAM โดยไม่รู้ตัวเมื่อสร้างบัญชี AWS ตอนนั้น root account ถูกสร้างขึ้นโดยอัตโนมัติ

  • Root user คือผู้ใช้หลักของบัญชี
  • Root user ควรใช้เพียงเพื่อ ตั้งค่าบัญชีเริ่มต้น เท่านั้น หลังจากนั้นไม่ควรใช้งานหรือแชร์ root account

การสร้างผู้ใช้และกลุ่มใน IAM

แทนที่จะใช้ root user เราควรสร้าง ผู้ใช้แต่ละคน (individual users)

  • แต่ละ user แทนบุคคลหนึ่งในองค์กร

ผู้ใช้สามารถจัดเป็น กลุ่ม (groups) ได้ ตัวอย่าง:

  • องค์กรมี 6 คน: Alice, Bob, Charles, David, Edward, Fred
  • Alice, Bob, Charles → ทำงานเป็น developers → สร้างกลุ่ม “developers”
  • David, Edward → ทำงานฝ่าย operations → สร้างกลุ่ม “operations”

ข้อสำคัญ:

  • กลุ่มสามารถมี users เท่านั้น ไม่สามารถมีกลุ่มอื่นอยู่ในกลุ่ม
  • ผู้ใช้บางคนอาจไม่อยู่ในกลุ่มก็ได้ (เช่น Fred)
  • ผู้ใช้สามารถอยู่ได้ หลายกลุ่ม เช่น Charles และ David เป็นส่วนหนึ่งของทีม audit → สร้างกลุ่มที่สาม

ความยืดหยุ่นนี้ช่วยให้สามารถจัดการ IAM ได้หลากหลาย

An image

จุดประสงค์ของ Users และ Groups

ทำไมต้องสร้าง users และ groups?

  • เพื่อให้ผู้ใช้เข้าถึง AWS account ได้
  • ต้องมอบ permissions ให้

Permissions มอบผ่าน IAM policy

  • IAM policy เป็นเอกสาร JSON
  • ไม่ต้องเป็นโปรแกรมเมอร์ก็เข้าใจได้
  • Policy อธิบายว่า ผู้ใช้หรือกลุ่มอนุญาตทำอะไรได้บ้าง

ตัวอย่าง policy:

  • อนุญาตใช้ EC2 และ perform describe actions
  • ใช้ Elastic Load Balancing และ describe
  • ใช้ CloudWatch

JSON document นี้กำหนดสิทธิ์ของผู้ใช้

  • ไม่ควรให้ทุกคนทำทุกอย่าง เพราะอาจก่อให้เกิดค่าใช้จ่ายสูงหรือปัญหาด้านความปลอดภัย

AWS ใช้ Principle of Least Privilege

  • ให้สิทธิ์ เท่าที่จำเป็น
  • หากผู้ใช้ต้องใช้เพียง 3 service → ให้สิทธิ์เฉพาะ 3 service นั้น

สรุป (Key Takeaways)

  • IAM = Identity and Access Management, บริการ global ของ AWS สำหรับจัดการผู้ใช้และกลุ่ม
  • Root user สร้างอัตโนมัติ ใช้เพียงตั้งค่าบัญชีเริ่มต้น
  • Users แทนบุคคล และสามารถจัดเป็นกลุ่มได้; กลุ่มมีได้เฉพาะ users
  • Permissions กำหนดผ่าน IAM policy (JSON) ตาม principle of least privilege เพื่อเพิ่มความปลอดภัยและควบคุมค่าใช้จ่าย