ทัวร์ Admin Console
admin console คือศูนย์ควบคุม Keycloak ของคุณ ทุก realm, client, user, role และ identity provider ถูกสร้างและจัดการที่นี่ ก่อนที่จะสร้างอะไร ควรใช้เวลาสักครู่ทำความเข้าใจ layout เพื่อไม่ให้หลงทาง
การเข้าสู่ระบบ
หัวข้อที่มีชื่อว่า “การเข้าสู่ระบบ”- ตรวจสอบให้แน่ใจว่า Keycloak กำลังทำงานอยู่ (ดู lesson ก่อนหน้าหากยังไม่ได้เริ่ม)
- เปิด
http://localhost:8080ใน browser - คลิก “Administration Console”
- ป้อน
adminเป็น username และadminเป็น password - คลิก “Sign in” คุณจะมาถึงหน้า home ของ master realm
Realm selector
หัวข้อที่มีชื่อว่า “Realm selector”มุมบนซ้ายของ admin console แสดงชื่อ realm ปัจจุบัน — โดยค่าเริ่มต้นคือ “Keycloak” (master realm) คลิกเพื่อเปิด drop-down ที่แสดง realm ทั้งหมดและให้คุณสร้าง realm ใหม่ได้ ควรตรวจสอบเสมอว่าคุณอยู่ใน realm ไหนก่อนเปลี่ยนแปลง เพราะง่ายมากที่จะสร้าง client ผิด realm โดยไม่ตั้งใจ
การนำทางด้านซ้าย
หัวข้อที่มีชื่อว่า “การนำทางด้านซ้าย”sidebar ให้คุณเข้าถึง resource ทุกอย่างใน realm ปัจจุบัน:
| Nav item | What you manage here |
|---|---|
| Realm settings | Token lifespans, security defences, email settings, themes |
| Clients | Applications registered to use this realm for auth |
| Client scopes | Shared protocol mappers and scope definitions |
| Realm roles | Roles available to all clients in this realm |
| Users | User accounts, credentials, and role assignments |
| Groups | User groups and group-level role assignments |
| Identity providers | External IdPs (Google, GitHub, SAML, OIDC) |
| User federation | LDAP and Active Directory connections |
| Sessions | Active user sessions across all clients |
| Events | Audit log of login events and admin events |
สร้าง realm แรก (warm-up)
หัวข้อที่มีชื่อว่า “สร้าง realm แรก (warm-up)”- คลิก realm selector (มุมบนซ้าย)
- คลิก “Create realm”
- ในช่อง “Realm name” ป้อน
my-app(ตัวพิมพ์เล็ก ไม่มีเว้นวรรค) - ปล่อย “Enabled” ไว้เป็น on
- คลิก “Create”
- ตอนนี้คุณอยู่ใน
my-apprealm แล้ว top-left selector จะแสดง “my-app”
ข้อแลกเปลี่ยน
หัวข้อที่มีชื่อว่า “ข้อแลกเปลี่ยน”| ตัวเลือก | Benefit | Cost |
|---|---|---|
| จัดการผ่าน admin console (manual) | เห็นผลทันที เหมาะกับการเรียนรู้และการตั้งค่าที่ทำครั้งเดียว ไม่ต้องเขียนโค้ด | ทำซ้ำยาก, ไม่มี audit trail เป็น version control, เสี่ยงต่อ human error เมื่อทีมโตขึ้น |
| จัดการผ่าน REST API / Terraform provider | Configuration เป็น 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