ข้ามไปเนื้อหาหลัก
ความปลอดภัย· ~14 นาที

IAM Roles สำหรับ service-to-service

ทำไมไม่ควรฝัง access key ในเครื่อง และใช้ role แทน

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

การฝัง access key ไว้ในโค้ด เหมือนเขียนรหัสตู้เซฟแปะไว้หลังประตู — ใครเห็นก็เข้าได้ ส่วน role เหมือนให้ รปภ. ออกบัตรชั่วคราวให้เฉพาะตอนต้องใช้ แล้วบัตรหมดอายุเอง

เวลาบริการหนึ่งต้องคุยกับอีกบริการ (เช่น EC2 อ่านไฟล์จาก S3) อย่าฝัง access key ลงเครื่อง ให้แนบ IAM Role กับบริการนั้นแทน AWS จะจ่าย credential ชั่วคราวที่หมุนเปลี่ยนเองอัตโนมัติ

ให้ "บริการ" สวม role แทนการฝังรหัสลับ

❌ ฝัง access key ในโค้ด

EC2
key หลุดง่าย
S3

✅ ใช้ IAM Role

EC2+ Role
ขอสิทธิ์ชั่วคราว
S3

role ให้ credential ชั่วคราวที่หมุนเองอัตโนมัติ ไม่มีรหัสลับค้างในเครื่อง

  • EC2 ใช้ instance profile เพื่อสวม role
  • Lambda มี execution role ของตัวเอง
  • ผู้ใช้ข้ามบัญชี (cross-account) ก็ใช้วิธี assume role เช่นกัน

สรุป Key Takeaways

  • อย่าฝัง access key — ใช้ IAM Role ให้บริการสวมเพื่อรับ credential ชั่วคราว
  • EC2 ใช้ instance profile, Lambda ใช้ execution role
  • role ปลอดภัยกว่าเพราะ credential หมุนเปลี่ยนเองและไม่ค้างในเครื่อง

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

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

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