ออกตัวเหมือนบทความก่อนๆ คือเราไม่ได้เชี่ยวชาญเรื่องนี้ เลยจะเขียนสรุปคร่าวๆ แบบไม่ลงรายละเอียดมาก
Organization
สำหรับ AWS
ใน AWS เราสามารถจัดการ "โครงสร้างองค์กร" ได้โดยอาศัยบริการ AWS Organizations โดยจะทำให้พนักงานในองค์กรแยกใช้งานหลาย account ภายใต้องค์กรได้ (Multi-Account)
เมื่อเราสร้าง Organization ขึ้นมา บัญชีที่ใช้งานอยู่จะกลายเป็น "Management Account" (ขอเรียกว่าบัญชีหลัก) ในทันที ซึ่งในบัญชีหลักนี้เราจะสามารถจัดการสิ่งต่างๆ ในองค์กรได้ เช่น
- Organization Units (OUs): สร้างและจัดการ OUs
-
Account:
- สร้างบัญชีลูกในองค์กร โดยไม่ต้องกรอกข้อมูลบัตรเครดิต เพราะระบบจะไปตัดเงินรวมที่บัญชีหลัก (Consolidated Billing)
- ย้าย OU ของบัญชีลูก
- Service Control Policies (SCPs): สร้างและจัดการ SCPs
สำหรับ Organization Units (OUs) คือกลุ่มย่อยที่ใช้สำหรับจัดกลุ่มบัญชีในองค์กร สามารถซ่อนกันเป็นลำดับชั้นได้ และมีการสืบทอด SCPs ลงด้านล่าง
ส่วน Service Control Policies (SCPs) คือนโยบายที่ใช้กำหนดขอบเขตสูงสุดของสิทธิ์ สามารถสั่ง Explicit Deny ซึ่งมีผลเหนือกว่าทุกอย่างแม้กระทั่ง Root User ก็ไม่สามารถฝ่าฝืนได้ โดยเราสามารถผูก SCPs ได้ 3 ระดับ
- ระดับ Root: มีผลกับทุกบัญชีในองค์กร
- ระดับ OU: มีผลกับทุกบัญชีใน OU
- ระดับ Account: มีผลแค่บัญชีนั้นๆ
หมายเหตุ: เพื่อความปลอดภัย ไม่ควรใช้ Management Account ในการทำงานทั่วไป ควรเก็บไว้สำหรับงาน admin และ billing เท่านั้น
สำหรับ GCP
ตามที่เขียนถึงไปในบทความก่อนหน้า Organization ใน GCP เป็น root ของลำดับชั้นทรัพยากร ดังนั้น
- มีเสมอ ไม่ต้องใช้ service ไหนมาสร้างหรือจัดการ
- Organization ใน GCP ใช้ Folder เพื่อจัดกลุ่มจัดการทรัพยากร ในขณะที่ Organization ใน AWS ใช้ OUs เพื่อจัดกลุ่มบัญชี
- ใช้ Organization Policies ในการควบคุมกฎขององค์กร (เทียบได้กับ SCPs ใน AWS)
User Management
สำหรับ AWS
การจัดการ User เราจะใช้ Service ที่ชื่อว่า Identity Center (ชื่อเดิมคือ AWS SSO)
Identity Center ถูกออกแบบมาให้เป็นระบบภายในองค์กร จะถูกเปิดใช้งานที่บัญชีหลักขององค์กร (หมายความว่าจำเป็นต้องสร้าง Organization ก่อนเสมอ) และมันจะมองเห็นเฉพาะบัญชีที่อยู่ภายใต้ององค์กรนั้นเท่านั้น
สิ่งที่เราสามารถจัดการได้จาก Identity Center หลักๆ มีตามนี้
1) Multi-Account Access
- Single Sign-On: โดยปกติถ้าเราสร้างบัญชีในองค์กร ถ้าไม่ใช้ Identity Center เราจะเข้าไปบัญชีนั้นโดยการ Switch Role จากบัญชีหลัก แต่เมื่อใช้ Identity Center จะมีลิงค์ที่เรียกว่า AWS Access Portal ซึ่งเป็น unique URL ของแต่ละองค์กร (พนักงานจำแค่ URL เดียว) รวบรวมรายการสิทธิ์ในการเข้าถึงบัญชีต่างๆ (Account + Role) ให้สามารถคลิกเข้าล็อกอินได้เลย
2) Identity Management
- สามารถสร้างและจัดการ User และ Group ในทุกบัญชีขององค์กร
- สามารถเชื่อมต่อกับระบบ Identity Provider ข้างนอก (Federation)
- ถ้าบริษัทมีระบบเดิมอยู่แล้ว เช่น Azure AD, Okta, Google Workspace ก็สามารถเข้า AWS ด้วยการล็อกอินระบบเดิมได้เลย (เข้าผ่าน Access Portal ที่จะ redirect ไปยัง IdP ที่เชื่อมต่อ)
- ไม่จำเป็นต้องสร้าง User ใหม่
- เบื้องหลังคือ ล็อกอินด้วย Identity แล้ว AWS จะทำการ Assume Role ให้เข้าไปใช้งาน (ไม่มี IAM User อยู่ในบัญชี)
3) Permission Sets
- สามารถสร้าง Permission Sets เพื่อจัดการสิทธิ์ของแต่ละบัญชี
- Permission Sets คือชุดของสิทธิ์ในองค์กร แทนที่เราจะเขียน Policy ในบัญชีลูกทีละบัญชี ก็สร้าง Permission Sets แล้วผูกเข้ากับบัญชีในองค์กรแทน
4) Cloud Applications
- สามารถใช้ Identity Center เป็นตัวกลางล็อกอินเข้าแอปพลิเคชั่นอื่นที่บริษัทใช้ได้ด้วย
- พนักงานล็อกอินที่เดียวแล้วสามารถใช้งานได้ทั้ง AWS และแอปพลิเคชั่นอื่น
Identity Center กับ Organization ทำงานเชื่อมโยงกัน เมื่อมีการสร้าง User จาก Identity Center เราก็จะมองเห็น User จากหน้าคอนโซลของ Organizations (เพราะเป็น Account ขององค์กรนั้น) และในทางกลับกัน ถ้าสร้าง Account จากใน Organizations เราก็จะมองเห็น Account นั้นในหน้าของ Identity Center ด้วย
หมายเหตุ: แต่ Permission Sets ต้องจัดการใน Identity Center เท่านั้น เช่นเดียวกับ SCPs ที่ต้องจัดการใน Organizations เท่านั้นเช่นกัน (แยกกฎของคนออกจากกฎของกลุ่ม)
สำหรับ GCP
GCP ไม่ได้มีระบบสร้าง User Account ในตัวเองเหมือน AWS IAM User แต่อาศัยการดึงข้อตัวตน (Identity) จากภายนอก:
- Google Account
- Cloud Identity หรือ Google Workspace
ถ้าต้องการใช้ตัวตนจากระบบอื่น เช่น Azure AD, Okta ต้องทำ Workforce Identity Federation (คล้ายกับใน AWS Identity Center) เพื่อให้ GCP ยอมรับและให้ถือเป็นคนใน Organization
สรุปข้อเปรียบเทียบ
- Organization ใน AWS ใช้จัดการบัญชี ส่วน Organization ใน GCP เป็น root ในการจัดการการเข้าถึงทรัพยากร
- ใน AWS ใช้ SCPs ควบคุมกฎขององค์กร ส่วนทางฝั่ง GCP ใช้ Organization Policies
This article was originally published by DEV Community and written by Perajit.
Read original article on DEV Community