Skip to main content

Identity and access management

การบริหารจัดการอัตลักษณ์และการเข้าถึง (Identity and Access Management) เป็นส่วนสำคัญของโปรแกรมความมั่นคงปลอดภัยสารสนเทศ เพื่อให้มั่นใจว่าเฉพาะผู้ใช้และส่วนประกอบที่ได้รับอนุญาตและผ่านการยืนยันตัวตนแล้วเท่านั้นที่สามารถเข้าถึงทรัพยากรของคุณได้ และต้องเป็นการเข้าถึงในลักษณะที่คุณกำหนดไว้เท่านั้น ตัวอย่างเช่น คุณควรระบุตัวหลักหรือ Principals (เช่น บัญชี, ผู้ใช้, บทบาท และบริการที่สามารถดำเนินการต่างๆ ในบัญชีของคุณได้), สร้างนโยบายที่สอดคล้องกับ Principals เหล่านี้ และใช้การจัดการข้อมูลประจำตัว (Credentials) ที่แข็งแกร่ง องค์ประกอบของการจัดการสิทธิ์เหล่านี้ถือเป็นหัวใจสำคัญของการยืนยันตัวตน (Authentication) และการอนุญาตสิทธิ์ (Authorization)

ใน AWS การจัดการสิทธิ์ได้รับการสนับสนุนหลักผ่านบริการ AWS Identity and Access Management (IAM) ซึ่งช่วยให้คุณควบคุมการเข้าถึงบริการและทรัพยากรของ AWS ได้ทั้งแบบตัวบุคคลและแบบโปรแกรม คุณควรใช้นโยบายแบบละเอียด (Granular policies) ซึ่งจะกำหนดสิทธิ์ให้กับผู้ใช้, กลุ่ม, บทบาท หรือทรัพยากร นอกจากนี้ คุณยังสามารถกำหนดแนวปฏิบัติเรื่องรหัสผ่านที่เข้มงวด เช่น ระดับความซับซ้อน, การหลีกเลี่ยงการใช้ซ้ำ และการบังคับใช้การยืนยันตัวตนแบบหลายปัจจัย (MFA) คุณสามารถใช้การเชื่อมต่ออัตลักษณ์ (Federation) กับบริการไดเรกทอรีที่มีอยู่เดิมของคุณได้ สำหรับเวิร์กโหลดที่ต้องการให้ระบบเข้าถึง AWS บริการ IAM จะช่วยให้เข้าถึงได้อย่างปลอดภัยผ่าน Roles, Instance profiles, Identity federation และข้อมูลประจำตัวชั่วคราว (Temporary credentials)

คำถามต่อไปนี้จะเน้นที่การพิจารณาด้านความมั่นคงปลอดภัย:

SEC 2: คุณจัดการอัตลักษณ์สำหรับบุคคลและเครื่องจักรอย่างไร? มีอัตลักษณ์สองประเภทที่คุณต้องจัดการเมื่อพิจารณาการดำเนินงานเวิร์กโหลดบน AWS ให้ปลอดภัย การเข้าใจประเภทของอัตลักษณ์ที่คุณต้องจัดการและมอบสิทธิ์ให้นั้น จะช่วยให้คุณตรวจสอบได้ว่าอัตลักษณ์ที่ถูกต้องสามารถเข้าถึงทรัพยากรที่ถูกต้องภายใต้เงื่อนไขที่เหมาะสม

  • อัตลักษณ์บุคคล (Human Identities): ผู้ดูแลระบบ, นักพัฒนา, ผู้ปฏิบัติงาน และผู้ใช้งานปลายทางของคุณ จำเป็นต้องมีอัตลักษณ์เพื่อเข้าถึงสภาพแวดล้อมและแอปพลิเคชันของ AWS บุคคลเหล่านี้คือสมาชิกในองค์กรของคุณ หรือผู้ใช้ภายนอกที่คุณร่วมงานด้วย ซึ่งโต้ตอบกับทรัพยากร AWS ของคุณผ่านเว็บเบราว์เซอร์, แอปพลิเคชันไคลเอนต์ หรือเครื่องมือ Command Line

  • อัตลักษณ์เครื่องจักร (Machine Identities): แอปพลิเคชันบริการ, เครื่องมือปฏิบัติการ และเวิร์กโหลดของคุณ จำเป็นต้องมีอัตลักษณ์เพื่อส่งคำขอไปยังบริการของ AWS เช่น เพื่ออ่านข้อมูล อัตลักษณ์เหล่านี้รวมถึงเครื่องจักรที่รันอยู่ในสภาพแวดล้อม AWS ของคุณ เช่น Amazon EC2 instances หรือ AWS Lambda functions นอกจากนี้ คุณอาจต้องจัดการอัตลักษณ์เครื่องจักรสำหรับบุคคลภายนอกที่ต้องการเข้าถึง หรือเครื่องจักรที่อยู่นอก AWS ที่จำเป็นต้องเข้าถึงสภาพแวดล้อม AWS ของคุณด้วย

SEC 3: คุณจัดการสิทธิ์สำหรับบุคคลและเครื่องจักรอย่างไร? จัดการสิทธิ์เพื่อควบคุมการเข้าถึงสำหรับอัตลักษณ์บุคคลและเครื่องจักรที่จำเป็นต้องเข้าถึง AWS และเวิร์กโหลดของคุณ การกำหนดสิทธิ์จะเป็นตัวควบคุมว่า "ใคร" เข้าถึง "อะไร" ได้บ้าง และภายใต้ "เงื่อนไขใด"

ข้อมูลประจำตัว (Credentials) จะต้องไม่ถูกใช้งานร่วมกันระหว่างผู้ใช้หรือระบบใดๆ การเข้าถึงของผู้ใช้ควรได้รับอนุญาตโดยใช้แนวทาง "สิทธิ์น้อยที่สุด" (Least-privilege) พร้อมแนวทางปฏิบัติที่ดีที่สุด รวมถึงข้อกำหนดเรื่องรหัสผ่านและการบังคับใช้ MFA ส่วนการเข้าถึงแบบโปรแกรม (Programmatic access) รวมถึงการเรียกใช้ API ไปยังบริการของ AWS ควรทำโดยใช้ข้อมูลประจำตัวแบบชั่วคราวและจำกัดสิทธิ์ เช่น ข้อมูลที่ออกโดย AWS Security Token Service

ผู้ใช้จำเป็นต้องมีการเข้าถึงแบบโปรแกรมหากต้องการโต้ตอบกับ AWS นอกเหนือจาก AWS Management Console วิธีการมอบสิทธิ์การเข้าถึงแบบโปรแกรมจะขึ้นอยู่กับประเภทของผู้ใช้ที่เข้าถึง AWS ดังนี้:

ผู้ใช้ที่ต้องการการเข้าถึงแบบโปรแกรมวิธีการโดยการ
Workforce identity (ผู้ใช้ที่จัดการใน IAM Identity Center)(แนะนำ) ใช้ข้อมูลประจำตัวจากคอนโซลเป็นข้อมูลประจำตัวชั่วคราวเพื่อลงนามคำขอแบบโปรแกรมไปยัง AWS CLI, AWS SDKs หรือ AWS APIsปฏิบัติตามคำแนะนำสำหรับอินเทอร์เฟซที่คุณต้องการใช้งาน (ดูรายละเอียดใน AWS CLI User Guide หรือ SDKs and Tools Reference Guide)
IAM Roleใช้ข้อมูลประจำตัวชั่วคราวเพื่อลงนามคำขอแบบโปรแกรมไปยัง AWS CLI, AWS SDKs หรือ AWS APIsปฏิบัติตามคำแนะนำในหัวข้อ "Using temporary credentials with AWS resources" ใน IAM User Guide
IAM User(ไม่แนะนำ) ใช้ข้อมูลประจำตัวระยะยาว (Long-term credentials) เพื่อลงนามคำขอแบบโปรแกรมไปยัง AWS CLI, AWS SDKs หรือ AWS APIsปฏิบัติตามคำแนะนำสำหรับอินเทอร์เฟซที่คุณต้องการใช้งาน (ดูรายละเอียดใน IAM User Guide หรือ SDKs and Tools Reference Guide)

AWS มีทรัพยากรที่ช่วยคุณในเรื่องการจัดการอัตลักษณ์และการเข้าถึง เพื่อเรียนรู้แนวทางปฏิบัติที่ดีที่สุด คุณสามารถศึกษาได้จาก Hands-on labs ของเราในเรื่อง การจัดการข้อมูลประจำตัวและการยืนยันตัวตน, การควบคุมการเข้าถึงของบุคคล และ การควบคุมการเข้าถึงแบบโปรแกรม