ข้ามไปยังเนื้อหา

ทัวร์ Admin Console

admin console คือศูนย์ควบคุม Keycloak ของคุณ ทุก realm, client, user, role และ identity provider ถูกสร้างและจัดการที่นี่ ก่อนที่จะสร้างอะไร ควรใช้เวลาสักครู่ทำความเข้าใจ layout เพื่อไม่ให้หลงทาง

  1. ตรวจสอบให้แน่ใจว่า Keycloak กำลังทำงานอยู่ (ดู lesson ก่อนหน้าหากยังไม่ได้เริ่ม)
  2. เปิด http://localhost:8080 ใน browser
  3. คลิก “Administration Console”
  4. ป้อน admin เป็น username และ admin เป็น password
  5. คลิก “Sign in” คุณจะมาถึงหน้า home ของ master realm

มุมบนซ้ายของ admin console แสดงชื่อ realm ปัจจุบัน — โดยค่าเริ่มต้นคือ “Keycloak” (master realm) คลิกเพื่อเปิด drop-down ที่แสดง realm ทั้งหมดและให้คุณสร้าง realm ใหม่ได้ ควรตรวจสอบเสมอว่าคุณอยู่ใน realm ไหนก่อนเปลี่ยนแปลง เพราะง่ายมากที่จะสร้าง client ผิด realm โดยไม่ตั้งใจ

sidebar ให้คุณเข้าถึง resource ทุกอย่างใน realm ปัจจุบัน:

Nav itemWhat you manage here
Realm settingsToken lifespans, security defences, email settings, themes
ClientsApplications registered to use this realm for auth
Client scopesShared protocol mappers and scope definitions
Realm rolesRoles available to all clients in this realm
UsersUser accounts, credentials, and role assignments
GroupsUser groups and group-level role assignments
Identity providersExternal IdPs (Google, GitHub, SAML, OIDC)
User federationLDAP and Active Directory connections
SessionsActive user sessions across all clients
EventsAudit log of login events and admin events
  1. คลิก realm selector (มุมบนซ้าย)
  2. คลิก “Create realm”
  3. ในช่อง “Realm name” ป้อน my-app (ตัวพิมพ์เล็ก ไม่มีเว้นวรรค)
  4. ปล่อย “Enabled” ไว้เป็น on
  5. คลิก “Create”
  6. ตอนนี้คุณอยู่ใน my-app realm แล้ว top-left selector จะแสดง “my-app”
ตัวเลือกBenefitCost
จัดการผ่าน admin console (manual)เห็นผลทันที เหมาะกับการเรียนรู้และการตั้งค่าที่ทำครั้งเดียว ไม่ต้องเขียนโค้ดทำซ้ำยาก, ไม่มี audit trail เป็น version control, เสี่ยงต่อ human error เมื่อทีมโตขึ้น
จัดการผ่าน REST API / Terraform providerConfiguration เป็น code, review ผ่าน pull request ได้, reproduce environment ใหม่ได้เร็วต้องเขียนและดูแล script/Terraform state เพิ่มเติม, curve การเรียนรู้สูงกว่าตอนเริ่มต้น
  • ไม่เปลี่ยน default admin credentials (admin/admin) — credential เริ่มต้นนี้ตั้งใจให้ใช้เฉพาะตอน bootstrap เท่านั้น ต้องเปลี่ยน password หรือสร้าง admin user ใหม่แล้วปิด account เริ่มต้นก่อนเปิดใช้งานจริง
  • สร้าง client ของแอปพลิเคชันจริงไว้ใน master realm — master realm ควรสงวนไว้สำหรับบริหาร Keycloak เองเท่านั้น การใส่ client ของแอปจริงปนกับ admin account ทำให้ blast radius ของช่องโหว่ใหญ่เกินจำเป็น
  • ลืมตรวจสอบ realm selector ก่อนสร้าง resource — เผลอสร้าง user, client หรือ role ผิด realm เป็นเรื่องที่เกิดบ่อยมาก โดยเฉพาะเมื่อสลับไปมาระหว่างหลาย realm ในวันเดียว

💡 ตัวอย่างจากของจริง

ทีม platform ที่จัดการหลายแอป — มักสร้าง realm แยกต่างหากสำหรับแต่ละ business unit หรือแต่ละ environment (dev/staging/prod) แล้วใช้ Keycloak Terraform provider provision client และ role แบบ reproducible แทนการคลิกผ่าน admin console ทุกครั้ง

องค์กรที่ผ่าน security audit — มักบังคับ policy ว่า master realm admin account ต้องเปิด MFA และจำกัดสิทธิ์เข้าถึงเฉพาะทีม platform/security เท่านั้น ไม่ให้ developer ทั่วไปมีสิทธิ์ admin ใน master realm

คุณหา realm selector ได้ที่ไหนใน admin console?
ส่วนใดใน nav ที่ใช้จัดการแอปพลิเคชันที่ integrate กับ Keycloak?
รูปแบบชื่อ realm ที่ปลอดภัยคืออะไร?
เหตุใดจึงควรหลีกเลี่ยงการทำงานใน master realm สำหรับแอปพลิเคชันของคุณ?