OpenStack Keystone (Identity Service)
จัดการข้อมูลประจำตัว การรับรองความถูกต้อง และการอนุญาตของผู้ใช้ ทำให้องค์กรสามารถควบคุมและจัดการการเข้าถึงทรัพยากรในคลาวด์ได้อย่างมีประสิทธิภาพ

OpenStack Keystone เป็นบริการจัดการข้อมูลประจำตัวและการรับรองความถูกต้อง (Identity Service) ของ OpenStack ซึ่งทำหน้าที่เป็นศูนย์กลางในการควบคุมการเข้าถึงทรัพยากรต่างๆ ในระบบคลาวด์ Keystone ช่วยจัดการข้อมูลผู้ใช้ การรับรองสิทธิ์ การอนุญาต และการบริการแค็ตตาล็อกสำหรับบริการอื่นๆ ใน OpenStack
คุณสมบัติหลักของ Keystone
การจัดการข้อมูลประจำตัว (Identity Management)
- จัดการข้อมูลผู้ใช้ (Users), กลุ่มผู้ใช้ (Groups), โครงการ (Projects), และโดเมน (Domains)
- รองรับการสร้าง, อัปเดต, และลบข้อมูลประจำตัวของผู้ใช้และกลุ่มผู้ใช้
การรับรองความถูกต้อง (Authentication)
- รองรับการรับรองความถูกต้องผ่านหลายวิธี เช่น การใช้รหัสผ่าน (Password), โทเค็น (Token), และการรวมกับระบบรับรองความถูกต้องภายนอก (เช่น LDAP, SAML, OpenID Connect)
การอนุญาต (Authorization)
- จัดการบทบาท (Roles) และสิทธิ์การเข้าถึง (Permissions) ของผู้ใช้และกลุ่มผู้ใช้ในโครงการต่างๆ
- รองรับการมอบหมายบทบาทให้กับผู้ใช้หรือกลุ่มผู้ใช้ในโครงการหรือโดเมน
การบริการแค็ตตาล็อก (Service Catalog)
- ให้บริการแค็ตตาล็อกที่แสดงรายการของบริการ OpenStack ที่ใช้งานอยู่และจุดเชื่อมต่อ (Endpoints)
- ช่วยให้ผู้ใช้และบริการอื่นๆ สามารถค้นหาและเชื่อมต่อกับบริการที่ต้องการได้
การสนับสนุนหลายโดเมน (Multi-Domain Support)
- รองรับการจัดการข้อมูลผู้ใช้และการรับรองความถูกต้องในหลายโดเมน เพื่อเพิ่มความยืดหยุ่นในการจัดการองค์กรใหญ่ๆ
ส่วนประกอบหลักของ Keystone
keystone-api
- ให้บริการ API สำหรับการจัดการข้อมูลประจำตัว การรับรองความถูกต้อง และการอนุญาต
keystone-authentication
- รับคำขอรับรองความถูกต้องจากผู้ใช้และบริการอื่นๆ
keystone-identity
- จัดการข้อมูลประจำตัวของผู้ใช้, กลุ่มผู้ใช้, โครงการ และโดเมน
keystone-authorization
- จัดการบทบาทและสิทธิ์การเข้าถึงของผู้ใช้และกลุ่มผู้ใช้
keystone-service-catalog
- จัดการรายการของบริการ OpenStack และจุดเชื่อมต่อ
กระบวนการทำงานของ Keystone
การรับรองความถูกต้อง
- ผู้ใช้ส่งคำขอรับรองความถูกต้องผ่านแดชบอร์ด (Horizon) หรือ API
- keystone-authentication ตรวจสอบข้อมูลรับรองความถูกต้องและออกโทเค็นให้ผู้ใช้
การอนุญาตและมอบหมายบทบาท
- ผู้ดูแลระบบกำหนดบทบาทและสิทธิ์การเข้าถึงให้กับผู้ใช้หรือกลุ่มผู้ใช้ในโครงการหรือโดเมน
- keystone-authorization ตรวจสอบบทบาทและสิทธิ์การเข้าถึงของผู้ใช้เมื่อมีการขอใช้บริการ
การบริการแค็ตตาล็อก
- บริการอื่นๆ ใน OpenStack ส่งคำขอไปยัง keystone-service-catalog เพื่อรับรายการของบริการและจุดเชื่อมต่อ
- ผู้ใช้และบริการสามารถใช้ข้อมูลจากแค็ตตาล็อกเพื่อเชื่อมต่อกับบริการที่ต้องการ
ประโยชน์ของการใช้ Keystone
- การจัดการข้อมูลประจำตัวที่มีประสิทธิภาพ: ช่วยให้องค์กรสามารถจัดการข้อมูลผู้ใช้และกลุ่มผู้ใช้อย่างเป็นระบบ
- การรับรองความถูกต้องและการอนุญาตที่ยืดหยุ่น: รองรับวิธีการรับรองความถูกต้องหลายรูปแบบและการจัดการสิทธิ์การเข้าถึงที่ละเอียด
- การบริการแค็ตตาล็อก: ช่วยให้การค้นหาและการเชื่อมต่อกับบริการต่างๆ ใน OpenStack เป็นไปอย่างง่ายดาย
- การสนับสนุนหลายโดเมน: รองรับการจัดการผู้ใช้และโครงการในหลายโดเมนเพื่อความยืดหยุ่นในการจัดการองค์กรขนาดใหญ่