อัพเดทบริการ AWS IAM Identity Center ในปี 2025
บทความนี้แปลมาจากบทความภาษาญี่ปุ่นที่ชื่อว่า AWS入門ブログリレー2024 〜AWS IAM Identity Center編〜 โดยเจ้าของบทความนี้คือ คุณ yhana
AWS IAM Identity Center คืออะไร
AWS IAM Identity Center เป็นบริการที่ให้การเข้าถึงหลาย AWS Account และแอปพลิเคชันต่างๆ สามารถใช้งานได้โดยไม่มีค่าใช้จ่ายเพิ่มเติม
AWS IAM Identity Center มีฟังก์ชันหลักดังต่อไปนี้ และยังให้บริการ portal สำหรับผู้ใช้ในการเข้าถึง AWS Account และแอปพลิเคชันต่างๆ
-
การจัดการการเข้าถึง
- การเข้าถึงหลาย AWS Account
- การเข้าถึงแอปพลิเคชัน
-
การจัดการตัวตน (การจัดการผู้ใช้)
- การจัดการผู้ใช้ด้วย ID Store ของตนเอง
- การเชื่อมต่อกับ Active Directory และผู้ให้บริการตัวตนภายนอก
นี่คือภาพแสดงการเข้าถึง AWS Account ภายใต้ AWS Organizations โดย AWS IAM Identity Center จะสร้างและจัดการผู้ใช้ภายในระบบ ซึ่งแตกต่างจาก IAM User ตรงที่ผู้ใช้จะเข้าถึงผ่าน "AWS Access Portal" โดยเฉพาะ
นี่คือภาพแสดงแนวคิดที่เพิ่มการตั้งค่าการเข้าถึง SaaS นอกจากนี้ยังสามารถเพิ่ม AWS Account ที่อยู่นอกการจัดการของ AWS Organizations เป็นแอปพลิเคชันภายนอกได้อีกด้วย
นอกจากการสร้างผู้ใช้ภายใน AWS IAM Identity Center แล้ว คุณยังสามารถใช้ข้อมูลผู้ใช้จากผลิตภัณฑ์ระบุตัวตนภายนอก เช่น Microsoft Entra ID หรือ Okta ได้อีกด้วย
การใช้งานนอกสภาพแวดล้อม AWS Organizations
ก่อนหน้านี้ AWS IAM Identity Center สามารถเปิดใช้งานได้เฉพาะใน management account ของ AWS Organizations เท่านั้น แต่จากการอัปเดตในเดือนพฤศจิกายน 2023 ทำให้สามารถเปิดใช้งานในบัญชี AWS เดี่ยวๆ ได้ อย่างไรก็ตาม การเปิดใช้งานในบัญชีเดี่ยวจะมีข้อจำกัดด้านฟังก์ชัน
ปัจจุบันยังไม่มีฟังก์ชันการเข้าถึงบัญชี AWS แต่มีฟังก์ชันการเข้าถึงบริการ AWS เฉพาะที่รองรับการทำงานร่วมกับ AWS IAM Identity Center
เมื่อเปิดใช้งาน AWS IAM Identity Center จะมีการสร้างและจัดการอินสแตนซ์ โดยหากเปิดใช้งานในบัญชีการจัดการของ AWS Organizations จะเรียกว่า "อินสแตนซ์ขององค์กร (organization instance)" และหากเปิดใช้งานในบัญชีเดี่ยว จะเรียกว่า "อินสแตนซ์ของบัญชี (account instance)" ความแตกต่างจะอธิบายเพิ่มเติมในภายหลัง
ต่อไปนี้จะเป็นการแนะนำฟังก์ชันหลักและข้อมูลที่เกี่ยวข้อง
การจัดการการเข้าถึง
สิ่งที่สามารถจัดการได้ด้วย AWS IAM Identity Center
- บัญชี AWS (ภายใต้ AWS Organizations)
- SaaS / แอปพลิเคชัน
- บัญชี AWS (นอกการจัดการของ AWS Organizations)
- แอปพลิเคชันที่จัดการโดย AWS
การเข้าถึงบัญชี AWS (ภายใต้ AWS Organizations)
AWS IAM Identity Center ทำงานร่วมกับ AWS Organizations ทำให้สามารถกำหนดชุดสิทธิ์การเข้าถึง (permission sets) ให้กับผู้ใช้สำหรับบัญชีต่างๆ ภายใต้ AWS Organizations
ผู้ใช้ที่ได้รับการกำหนด permission set จะสามารถเข้าถึงบัญชี AWS ผ่าน AWS Access Portal (ดังภาพด้านล่าง) ในกรณีที่มีการกำหนดสิทธิ์หลายชุด ผู้ใช้จะต้องเลือกสิทธิ์ที่ต้องการใช้ในการเข้าถึง ส่วนที่ปิดทึบในภาพจะแสดงข้อมูล AWS Account ID และอีเมลของ Root User
การตั้งค่าการเข้าถึงประกอบด้วยองค์ประกอบหลัก 3 ส่วน ได้แก่ "บัญชี AWS", "user/group" และ "permission set (privileges)" โดยคุณจะกำหนดว่าผู้ใช้หรือกลุ่มใดควรได้รับสิทธิ์แบบใดสำหรับบัญชี AWS ที่ต้องการให้เข้าถึง
นี่คือตัวอย่างการกำหนด permission set 2 ชุดให้กับกลุ่ม Developer สำหรับบัญชีเดียว (111122223333)
คุณยังสามารถกำหนด permission set ให้กับหลายเป้าหมายได้อีกด้วย
ใน permission set คุณสามารถระบุนโยบายต่อไปนี้ได้
- AWS Managed Policy (นโยบายที่จัดการโดย AWS)
- Customer Managed Policy (นโยบายที่จัดการโดยลูกค้า)
- Inline Policy (นโยบายแบบอินไลน์)
- Permissions boundary (ขอบเขตสิทธิ์)
เนื้อหาที่กำหนดเป็น permission set จะถูกสร้างเป็น IAM Role ในบัญชีปลายทาง (สร้างโดยอัตโนมัติและผู้ใช้ไม่สามารถเปลี่ยนแปลงได้) การเข้าใจจุดนี้จะช่วยให้คุณสามารถตั้งค่าได้คล้ายกับ AWS IAM
อย่างไรก็ตาม การใช้งาน Inline Policy จะแตกต่างจาก AWS IAM
ใน AWS IAM คุณอาจไม่ค่อยได้ใช้ Inline Policy แต่ใน AWS IAM Identity Center การใช้ Inline Policy จะพบบ่อยกว่า เหตุผลคือเมื่อคุณต้องการใช้ Customer Managed Policy คุณจำเป็นต้องสร้าง Customer Managed Policy (IAM Policy) ในบัญชีปลายทางก่อน แต่หากใช้ Inline Policy คุณสามารถทำการตั้งค่าทั้งหมดได้จากการดำเนินการในบัญชี AWS IAM Identity Center เท่านั้น
การเข้าถึง SaaS / แอปพลิเคชัน
สามารถเพิ่มการตั้งค่าการเข้าถึง SaaS และแอปพลิเคชันที่รองรับการทำ ID Federation ด้วย SAML 2.0 หรือ OAuth 2.0 ได้
Note: เนื่องจากบัญชีที่ใช้ทดสอบนี้ไม่ได้เป็น Organization Instance ดังนั้นจึงไม่สามารถใช้ SAML 2.0 ได้
อ้างอิง Customer managed applications
มีสองวิธีในการตั้งค่า: เลือกจากแคตตาล็อกแอปพลิเคชันที่ AWS ได้ตั้งค่าไว้แล้วสำหรับการเชื่อมต่อ หรือผู้ใช้สามารถตั้งค่าด้วยตนเองแบบแมนนวล
แคตตาล็อกมีแอปพลิเคชันต่างๆ เช่น Salesforce, Box, Microsoft 365 เป็นต้น และในกรณีที่ผู้ใช้ต้องการตั้งค่าด้วยตนเอง สามารถเลือกตั้งค่าโดยใช้ OAuth 2.0 หรือ SAML 2.0
SaaS และแอปพลิเคชันที่ตั้งค่าไว้จะแสดงในแท็บ "Applications" บน AWS Access Portal
บัญชี AWS (นอกการจัดการของ AWS Organizations)
ในแคตตาล็อกของปลายทางที่กล่าวถึงในส่วน "การเข้าถึง SaaS / แอปพลิเคชัน" มีบัญชี AWS เป็นหนึ่งในตัวเลือก
การใช้ตัวเลือกนี้ช่วยให้คุณสามารถตั้งค่าการเข้าถึงบัญชี AWS ที่อยู่นอกการจัดการของ AWS Organizations ได้ อย่างไรก็ตาม คุณจำเป็นต้องสร้างและตั้งค่า ID Provider สำหรับการเชื่อมต่อ SAML ในบริการ AWS IAM ของบัญชี AWS ปลายทาง
สิ่งสำคัญที่ควรทราบคือ บน AWS Access Portal บัญชีที่อยู่นอกการจัดการของ AWS Organizations จะไม่แสดงในแท็บ "Accounts" ที่ใช้เลือกบัญชีภายใต้ AWS Organizations แต่จะแสดงในแท็บ "Applications" แทน
แอปพลิเคชันที่จัดการโดย AWS
มีบริการ AWS ที่สามารถเชื่อมต่อเพื่อให้เข้าถึงได้โดยใช้ข้อมูลผู้ใช้จาก AWS IAM Identity Center บริการเหล่านี้เรียกว่า AWS Managed Applications (แอปพลิเคชันที่จัดการโดย AWS) ตัวอย่างเช่น
- Amazon Athena SQL
- Amazon CodeCatalyst
- Amazon EMR on Amazon EC2
- Amazon EMR Studio
- Amazon Q Business
- Amazon Q Developer
- Amazon QuickSight
- Amazon Redshift
- Amazon S3 Access Grants
- AWS Deadline Cloud
- AWS Lake Formation
สามารถตรวจสอบรายการล่าสุดของบริการที่รองรับและข้อจำกัดในการเชื่อมต่อได้จากคู่มือผู้ใช้ AWS ด้านล่าง
AWS managed applications - AWS IAM Identity Center
การจัดการ ID (การจัดการผู้ใช้)
ใน AWS IAM Identity Center มีวิธีจัดการผู้ใช้สองแบบ คือการจัดการภายใน AWS IAM Identity Center เอง และเชื่อมต่อกับผลิตภัณฑ์ระบุตัวตนภายนอก
- การจัดการภายใน AWS IAM Identity Center
- Identity Center Directory
- การเชื่อมต่อกับผลิตภัณฑ์ระบุตัวตนภายนอก
- การเชื่อมต่อกับ Active Directory
- การเชื่อมต่อกับผู้ให้บริการตัวตนภายนอก
Identity Center Directory
Identity Center Directory ใช้เมื่อต้องการสร้างผู้ใช้และกลุ่มของคุณเองภายใน AWS IAM Identity Center นี่เป็นการตั้งค่าเริ่มต้น และจะถูกใช้หากคุณไม่ได้เชื่อมต่อกับผลิตภัณฑ์ระบุตัวตนภายนอก ผู้ใช้เหล่านี้จะถูกจัดการแยกจากผู้ใช้ IAM
การเชื่อมต่อกับ Active Directory
AWS IAM Identity Center ช่วยให้คุณสามารถเชื่อมต่อกับ Microsoft Active Directory (AD) ได้ทั้งแบบ self-managed directory หรือ AWS Managed Microsoft AD ผ่าน AWS Directory Service เพื่อกำหนดกลุ่มของผู้ใช้ที่สามารถเข้าถึง AWS accounts และ applications ได้
IAM Identity Center ใช้การเชื่อมต่อที่จัดเตรียมโดย AWS Directory Service เพื่อซิงโครไนซ์ข้อมูลผู้ใช้ กลุ่ม และข้อมูลสมาชิกจาก Active Directory ไปยัง IAM Identity Center identity store โดย
- ไม่มีการซิงโครไนซ์ข้อมูลรหัสผ่าน
- การตรวจสอบตัวตนของผู้ใช้เกิดขึ้นโดยตรงจาก Active Directory
- ข้อมูลประจำตัวนี้ใช้โดยแอปพลิเคชันเพื่ออำนวยความสะดวกในการค้นหา การอนุญาต และการทำงานร่วมกัน
อ้างอิง Connect to a Microsoft AD directory
การเชื่อมต่อกับผู้ให้บริการตัวตนภายนอก
คุณสามารถเชื่อมต่อกับผลิตภัณฑ์ระบุตัวตนโดยใช้ SAML 2.0 เป็นผู้ให้บริการตัวตนภายนอก
ผลิตภัณฑ์ต่อไปนี้มีในคู่มือผู้ใช้ AWS
เมื่อเชื่อมต่อกับระบบจัดการตัวตนภายนอก การพิสูจน์ตัวตนจะดำเนินการโดยผู้ให้บริการตัวตนภายนอก มีสองวิธีในการเชื่อมโยงผู้ใช้
- การจัดเตรียมอัตโนมัติ (Automatic Provisioning)
- การจัดเตรียมด้วยตนเอง (Manual Provisioning)
การนำเข้าข้อมูลผู้ใช้อัตโนมัติ
ระบบจะซิงค์ข้อมูลผู้ใช้และรายละเอียดต่างๆ จากระบบภายนอกมายัง AWS IAM Identity Center ผ่านโปรโตคอล SCIM โดยคุณไม่สามารถสร้างผู้ใช้หรือกลุ่มใน AWS IAM Identity Center ได้เอง ทุกอย่างต้องจัดการผ่านระบบภายนอกเท่านั้น
การนำเข้าข้อมูลผู้ใช้ด้วยตนเอง
คุณต้องสร้างผู้ใช้ใน AWS IAM Identity Center เองด้วยมือ โดยใช้ข้อมูลตัวตนที่ตรงกับผู้ใช้ในระบบภายนอก สำหรับกลุ่มผู้ใช้ คุณสามารถสร้างและจัดการได้เองใน AWS IAM Identity Center แต่มีข้อควรระวัง: หากสร้างผู้ใช้ที่ไม่มีตัวตนในระบบภายนอก ผู้ใช้นั้นจะไม่สามารถเข้าสู่ระบบได้
การใช้วิธีนำเข้าข้อมูลอัตโนมัติและจัดการทุกอย่างจากระบบภายนอกเป็นวิธีที่ง่ายที่สุด แต่หากทีมที่ดูแล AWS ไม่สามารถปรับแต่งระบบภายนอกได้อย่างอิสระ (เช่น เพราะอยู่คนละแผนก) การใช้วิธีนำเข้าข้อมูลด้วยตนเองอาจช่วยลดภาระงานของทีมที่ดูแลระบบภายนอกได้
ความแตกต่างระหว่าง organization และ account instance
AWS IAM Identity Center มีอินสแตนซ์ 2 ประเภท ได้แก่ "organization instance" ที่เปิดใช้งานในบัญชีการจัดการ AWS Organizations และ "account instance" ที่เปิดใช้งานในบัญชี AWS เดี่ยว
ฟังก์ชัน | Organization Instance (แนะนำ) | Account Instance | คำอธิบายเพิ่มเติม |
---|---|---|---|
การจัดการผู้ใช้ | ✓ | ✓ | - |
AWS Access Portal สำหรับการเข้าถึงแอปพลิเคชันที่จัดการโดย AWS | ✓ | ✓ | รองรับเฉพาะแอปพลิเคชันบางรายการเท่านั้น เช่น Amazon CodeCatalyst |
แอปพลิเคชันที่จัดการโดยลูกค้าด้วย OAuth 2.0 (OIDC) | ✓ | ✓ | - |
แอปพลิเคชันที่จัดการโดยลูกค้าด้วย SAML 2.0 | ✓ | - | - |
สิทธิ์การเข้าถึงหลายบัญชี | ✓ | - | การจัดการการเข้าถึงบัญชี AWS ภายใต้ AWS Organizations |
AWS Access Portal สำหรับการเข้าถึงบัญชี AWS | ✓ | - | การจัดการการเข้าถึงบัญชี AWS ภายใต้ AWS Organizations |
การจัดการอินสแตนซ์โดยผู้ดูแลระบบที่ได้รับมอบหมาย | ✓ | - | - |
อ้างอิง Manage organization and account instances of IAM Identity Center - AWS IAM Identity Center
บริการที่รองรับการเชื่อมต่อกับ AWS IAM Identity Center ซึ่งสามารถใช้ได้กับ account instance ในฐานะแอปพลิเคชันที่จัดการโดย AWS มีระบุไว้ในคู่มือผู้ใช้ต่อไปนี้
AWS managed applications - AWS IAM Identity Center
โปรดทราบว่า เมื่อเปิดใช้งาน AWS IAM Identity Center ในบัญชีการจัดการของ AWS Organizations คุณสามารถเลือกได้ว่าจะเปิดใช้งาน organization instance หรือ account instance
ข้อจำกัดในการมอบอำนาจเมื่อใช้ Organization Instance
เมื่อเปิดใช้งาน AWS IAM Identity Center ในบัญชีการจัดการของ AWS Organizations (กรณี organization instance) คุณสามารถมอบอำนาจให้บัญชีอื่นได้ การมอบอำนาจนี้ช่วยให้สามารถตั้งค่าได้จากบัญชีอื่นนอกเหนือจากบัญชีการจัดการ
ข้อควรระวัง: บัญชีที่ได้รับมอบอำนาจไม่สามารถใช้ฟังก์ชันทั้งหมดของ AWS IAM Identity Center ได้ โดยเฉพาะ ไม่สามารถกำหนด permission set ให้กับบัญชีการจัดการ หรือนำ permission set ที่กำหนดให้บัญชีการจัดการไปกำหนดให้บัญชีอื่นได้ ข้อจำกัดนี้น่าจะมีไว้เพื่อป้องกันไม่ให้บัญชีที่ได้รับมอบอำนาจสามารถควบคุมการเข้าถึงบัญชีการจัดการได้
ด้วยเหตุนี้ การแยก permission set สำหรับบัญชีการจัดการและบัญชีอื่นๆ จึงมักจะทำให้การจัดการง่ายขึ้น
ความสัมพันธ์กับ AWS Control Tower
ก่อนหน้านี้ เมื่อใช้ AWS Control Tower จะมีการสร้างผู้ใช้และ permission set ใน AWS IAM Identity Center ที่จัดการโดย Control Tower โดยอัตโนมัติ แต่จากการอัปเดตในเดือนมิถุนายน 2023 ผู้ใช้สามารถเลือกเปิดหรือปิดการเชื่อมต่อเหล่านี้ได้เอง
หากเปิดใช้งานการเชื่อมต่อ จะมีการสร้างผู้ใช้สำหรับการจัดการพร้อมกับ permission set ตามที่ระบุในเอกสารต่อไปนี้
IAM Identity Center Groups for AWS Control Tower
หากปิดการเชื่อมต่อ Control Tower จะไม่สร้างผู้ใช้หรือรายการอื่นๆ ใน AWS IAM Identity Center
คุณสามารถเปลี่ยนแปลงการตั้งค่าการเชื่อมต่อจากเปิดเป็นปิดหรือจากปิดเป็นเปิดได้จากการตั้งค่าฝั่ง Control Tower
โซลูชันสำหรับการให้สิทธิ์การเข้าถึงชั่วคราว
แม้จะไม่ได้เป็นฟังก์ชันที่มีให้ใน AWS IAM Identity Center โดยตรง แต่ AWS Samples ได้เผยแพร่โซลูชันที่ชื่อ "Temporary Elevated Access Management (TEAM)" ซึ่งให้กลไกในการอนุญาตการเข้าถึงชั่วคราวได้
Temporary Elevated Access Management (TEAM)
สภาพแวดล้อมสำหรับการทดสอบ
เนื่องจาก AWS IAM Identity Center สามารถสร้าง organization instance ได้เพียงหนึ่งอินสแตนซ์ต่อหนึ่ง AWS Organizations เท่านั้น วิธีการเตรียมสภาพแวดล้อมสำหรับการทดสอบคือการจัดเตรียม AWS Organizations สำหรับการทดสอบโดยเฉพาะ
ในสภาพแวดล้อมที่ใช้ AWS Control Tower บางองค์กรอาจมีการจัดเตรียม AWS Organizations แยกต่างหากสำหรับทดสอบการอัปเดตของ Control Tower และอาจใช้สภาพแวดล้อมเดียวกันนี้เพื่อทดสอบ AWS IAM Identity Center ด้วย
(เกร็ดความรู้) ชื่อย่อของ AWS IAM Identity Center
ปัจจุบันมีการใช้ชื่อย่อของ AWS IAM Identity Center แตกต่างกันไปตามแต่ละบุคคล
ตัวอย่างชื่อย่อที่พบเห็นได้:
- AWS IDC, IDC
- AWS IIC, IIC
- AWS SSO (ยังคงใช้ชื่อย่อของชื่อบริการเดิม AWS Single Sign-On)
- IAM Identity Center
ส่วนตัวผมมักจะไม่ย่อชื่อ หรือใช้ IAM Identity Center (แม้ว่าบางครั้งอาจจะพูดติดขัดบ้างเวลาพูดออกเสียง)
อนึ่ง ในโซลูชัน "TEAM" ที่เผยแพร่โดย AWS Samples ซึ่งให้สิทธิ์การเข้าถึงชั่วคราวผ่าน AWS IAM Identity Center นั้น ได้ใช้ชื่อย่อว่า IDC
สรุป
AWS IAM Identity Center เป็นบริการที่ช่วยจัดการการเข้าถึง AWS Accounts และแอปพลิเคชันต่างๆ โดยมี 2 แบบคือ Organization Instance และ Account Instance ซึ่งช่วยให้จัดการการเข้าถึงแอปพลิเคชันต่างๆได้สะดวกมากขึ้น