Chuyển đến nội dung chính
Cơ bản

Keycloak từ Cơ bản đến Nâng cao

Khóa học Keycloak toàn diện từ cơ bản đến nâng cao, giúp bạn làm chủ Identity and Access Management (IAM) từ cài đặt, cấu hình Realms, Users, Roles, Clients, đến các module nâng cao như Identity Brokering, User Federation (LDAP/AD), Authentication Flows, Authorization Services, Multi-Factor Authentication, Organizations, Workflows, Passkeys, và tích hợp với ứng dụng thực tế. Cập nhật theo Keycloak 26.x (phiên bản mới nhất 2026) chạy trên Quarkus, bao gồm cả vận hành production, High Availability, Kubernetes Operator và các best practices bảo mật enterprise.

DUY TRANDuy Tran
25 bài học
80 giờ
Keycloak từ Cơ bản đến Nâng cao

Nội dung series

7 phần · 25 bài học

Phần 1: Nền tảng Keycloak

Bài 1: Giới thiệu Keycloak - IAM và SSO trong Enterprise

  • Keycloak là gì? Lịch sử phát triển (từ JBoss đến CNCF Incubation)

  • Tại sao cần Identity and Access Management (IAM)?

  • Các khái niệm cốt lõi: Realms, Clients, Users, Roles, Groups, Sessions

  • Kiến trúc Keycloak trên Quarkus (26.x)

  • So sánh Keycloak vs Auth0 vs Okta vs Azure AD

  • Các use cases: SSO, Social Login, LDAP Federation, MFA, API Security

Bài 2: Cài đặt Keycloak - Standalone, Docker và Kubernetes

  • Cài đặt Keycloak trên Ubuntu/CentOS (bare metal)

  • Chạy Keycloak với Docker và Docker Compose

  • Kubernetes Operator deployment

  • Cấu hình Database backend (PostgreSQL, MySQL, MariaDB)

  • HTTPS/TLS setup và hostname v2 configuration

  • Development mode vs Production mode

Bài 3: Admin Console và tạo Realm đầu tiên

  • Tạo Admin user đầu tiên (Admin Bootstrap & Recovery)

  • Tổng quan Admin Console UI

  • Tạo và cấu hình Realm (General, Login, Email, Themes, Keys)

  • Master Realm vs Custom Realms

  • Admin CLI (kcadm.sh) cơ bản

  • Admin REST API overview

Bài 4: Quản lý Users, Groups và User Profile

  • Tạo và quản lý Users, thiết lập credentials

  • User Profile: custom attributes, validators, annotations

  • Progressive Profiling

  • Groups và Sub-groups, group attributes, role mappings

  • User self-registration và Required Actions

  • Impersonation, account deletion, personal data

Bài 5: Roles, Permissions và Access Control

  • Realm Roles và Client Roles

  • Composite Roles và Default Roles

  • Role Mappings cho Users và Groups

  • Fine-grained Admin Permissions V2

  • Delegating Realm Administration

  • Dedicated Realm Admin Consoles

Phần 2: SSO Protocols - OpenID Connect và SAML

Bài 6: OpenID Connect Clients - Cấu hình từ A đến Z

  • Client types: Public, Confidential, Bearer-only

  • General Settings, Access Settings, Capability Config

  • OIDC Auth Flows: Authorization Code, Implicit, Client Credentials, Device Auth

  • PKCE (Proof Key for Code Exchange)

  • CIBA (Client Initiated Backchannel Authentication)

  • Tích hợp OIDC clients với React, Spring Boot, Node.js

Bài 7: SAML Clients và Protocol Mappers

  • Tạo SAML 2.0 Clients, SAML Bindings (POST, Redirect, Artifact)

  • SAML Assertions, XML Signature và Encryption

  • Entity Descriptor Import

  • OIDC Protocol Mappers: User Attribute, Session Note, Hardcoded, Script

  • SAML Protocol Mappers

  • Lightweight Access Tokens và Pairwise Subject Identifier

Bài 8: Client Scopes, Token Management và DPoP

  • Client Scopes: default vs optional, consent settings

  • Realm default client scopes, evaluating scopes

  • Access Token, ID Token, Refresh Token lifecycle

  • Session và Token timeout configuration

  • Offline Access, Token Revocation

  • DPoP (Demonstrating Proof-of-Possession)

Bài 9: Client Policies và Advanced Client Configuration

  • Client Policies architecture: Policies, Profiles, Conditions, Executors

  • FAPI 2.0 Security Profile và Message Signing

  • Client Secret Rotation

  • Service Accounts và Audience support

  • Token Exchange (Standard, JWT Authorization Grant RFC 7523)

  • Keycloak as Authorization Server cho MCP servers

Phần 3: Authentication, MFA và Identity Brokering

Bài 10: Authentication Flows - Tùy chỉnh luồng xác thực

  • Built-in flows: Browser, Direct Grant, Registration, Reset Credentials

  • Tạo custom Authentication Flows

  • Conditional Authenticators (sub-flow executed, client scope)

  • Step-up Authentication và ACR/LoA mapping

  • Session Limits (realm-level, client-level)

  • Dynamic Authentication Flow selection via Client Policies

Bài 11: Multi-Factor Authentication - OTP, WebAuthn và Passkeys

  • TOTP/HOTP setup với Google Authenticator, FreeOTP

  • OTP Policy configuration và Recovery Codes

  • WebAuthn (FIDO2 Security Keys) setup

  • Passkeys integration (conditional UI, modal UI)

  • Kerberos Authentication

  • X.509 Client Certificate Authentication

Bài 12: Identity Brokering và Social Login

  • Social Login: Google, Facebook, GitHub, Apple, Microsoft

  • OpenID Connect và SAML Identity Providers

  • OAuth v2 và Kubernetes Identity Providers

  • First Login Flow và Account Linking

  • Identity Provider Mappers và Sync Mode

  • Client-suggested IdP và IdP logout

Phần 4: User Federation, Organizations và Authorization

Bài 13: User Federation - LDAP và Active Directory

  • Cấu hình LDAP/AD federation (storage mode, edit mode)

  • Connection settings: SSL, connection pool, referrals

  • LDAP Mappers: User Attribute, Full Name, Group, Role

  • MSAD User Account Control mapper

  • SSSD/FreeIPA Integration và Kerberos bridge

  • Custom User Storage SPI

Bài 14: Organizations - Multi-tenancy và CIAM

  • Bật Organizations feature trong Keycloak

  • Tạo/quản lý Organizations, Domains, Attributes

  • Member Management: managed, unmanaged, invitations

  • Liên kết Identity Providers với Organizations

  • Identity-first login flow

  • Mapping Organization claims vào tokens

Bài 15: Authorization Services - Phân quyền chi tiết

  • Resource Server, Resources, Scopes, Permissions, Policies

  • Policy types: Role, User, Group, Client, Time, JS, Aggregated

  • UMA 2.0 và Permission API

  • Policy Enforcer và Claim Information Points

  • Tích hợp Authorization vào Spring Boot / Node.js

  • Evaluation API và troubleshooting permissions

Bài 16: Workflows - Tự động hóa quản trị với IGA

  • Keycloak Workflows engine (preview)

  • Workflow definitions và expression language

  • Defining conditions và steps

  • Joiner-Mover-Leaver (JML) processes

  • Automated onboarding/offboarding

  • Access reviews và common use cases

Phần 5: Themes, Events, Security và Vault

Bài 17: Custom Themes - Login, Account, Admin và Email

  • Theme system: Login, Account, Admin Console, Email themes

  • Tạo custom themes, Freemarker templates

  • Dark mode support, internationalization

  • PatternFly 5 components

  • Hot-deploy themes, theme resources

  • Account Console v3 customization

Bài 18: Event Auditing và Logging

  • User events và Admin events configuration

  • Event types và Event listeners

  • Custom Event Listener SPI

  • Event metrics cho monitoring

  • Logging: console, file, JSON, ECS format, syslog

  • Tích hợp với ELK Stack / Loki

Bài 19: Security Hardening và Brute Force Protection

  • SSL/HTTPS và Admin endpoint protection

  • Brute Force Protection (permanent, temporary, combined lockout)

  • Password Policies

  • Security Headers: CSP, X-Frame-Options, HSTS

  • reCAPTCHA setup (v2 và Enterprise)

  • Vault integration (file-based, Kubernetes Secrets)

Phần 6: Tích hợp ứng dụng thực tế

Bài 20: Tích hợp Keycloak với Spring Boot

  • Spring Security OAuth2 Resource Server

  • Spring Security OAuth2 Client

  • Authorization Client library

  • Role-based authorization với @PreAuthorize

  • Token relay và service-to-service communication

  • Multi-tenancy và testing strategies

Bài 21: Tích hợp Keycloak với React/Angular và Node.js

  • Keycloak JavaScript adapter (standalone library)

  • React integration (keycloak-js, react-oidc-context)

  • Angular integration (angular-auth-oidc-client)

  • Node.js backend (Passport.js, express-openid-connect)

  • Token management, silent SSO, protected routes

  • Best practices cho SPA authentication

Bài 22: Keycloak với Nginx, API Gateway và Microservices

  • Nginx reverse proxy với auth_request / OAuth2 Proxy

  • API Gateway: Kong, Traefik, APISIX với Keycloak OIDC

  • Microservices authentication patterns

  • Token introspection endpoint

  • Docker registry v2 authentication

  • Verifiable Credentials (OID4VCI) - experimental

Phần 7: Production, High Availability và Kubernetes

Bài 23: Keycloak Production Deployment và Database Tuning

  • Production readiness checklist

  • Build optimization (kc.sh build)

  • Database tuning: PostgreSQL, connection pool, additional datasources

  • Hostname v2, reverse proxy, HTTP/HTTPS settings

  • JVM tuning, Argon2 hashing, cache configuration

  • Import/Export realm data

Bài 24: High Availability, Clustering và Multi-site Deployment

  • Keycloak clustering với Infinispan, jdbc-ping transport

  • Zero-configuration secure cluster communication

  • Session replication và persistent user sessions

  • Multi-site active-passive deployments

  • Rolling updates và non-blocking health checks

  • CPU/Memory sizing guide

Bài 25: Kubernetes Operator, Monitoring và Admin CLI

  • Keycloak Operator: Keycloak CR, KeycloakRealmImport CR

  • Operator advanced configuration (scheduling, resources, NetworkPolicies)

  • OpenTelemetry: tracing, metrics, logging

  • Prometheus metrics và Grafana dashboards

  • Admin CLI (kcadm.sh) mastery

  • Backup/Restore strategies và troubleshooting

DUY TRAN
Tác giả

DUY TRAN

Pursuing an AI-first mindset and intelligent system architecture. I build solutions by combining technology, creativity, and the ability to see structure in chaos — the foundation for becoming a Solution Architect.

Bình luận