Keycloak 은 Red Hat 이 주도하는 오픈소스 IAM(Identity and Access Management) 서버다. OAuth 2.0 · OpenID Connect 와 SAML 2.0 을 제공하고, 사용자 · 그룹 · 역할 · 클라이언트를 관리 콘솔에서 다룬다. 로그인 화면, 비밀번호 정책, MFA(OTP · WebAuthn), 소셜 로그인, LDAP · Active Directory 사용자 연동(User Federation)이 모두 들어 있어 별도 개발 없이 SSO 를 세울 수 있다.
현재 버전은 26.7.4 다[1]. Quarkus 기반 배포판 하나로 통일돼 있고, 옛 WildFly 배포판은 없어졌다.
| 항목 | 내용 |
|---|---|
| Java | OpenJDK 21 이상. 공식 시작 가이드는 OpenJDK 25 기준이고, 컨테이너 이미지는 FIPS 지원 때문에 아직 21 을 쓴다[2] |
| 데이터베이스 | 운영은 외부 DB 필수 — postgres · mariadb · mysql · mssql · oracle · tidb[3]. 기본 dev-file 은 개발용 |
| TLS | 운영은 HTTPS 필수. PEM 인증서 · 키 또는 keystore[4] |
| 호스트명 | 운영은 hostname 을 고정하고 hostname-strict=true 로 둔다[5] |
| 포트 | 8080(HTTP) · 8443(HTTPS) · 9000(관리 인터페이스 — health · metrics) |
| 자원 | 소규모 기준 2 vCPU · 2 GB 이상. 세션이 메모리 캐시에 있으므로 힙을 넉넉히 준다 |
| 구성 | 역할 |
|---|---|
| Realm | 사용자 · 클라이언트 · 설정의 격리 단위. master realm 은 관리자용이고 서비스는 별도 realm 에 만든다 |
| Client | Keycloak 에 로그인을 위임하는 애플리케이션. OIDC 또는 SAML |
| User Federation | LDAP · Kerberos 등 외부 사용자 저장소 연동 |
| Identity Provider | 다른 OIDC · SAML · 소셜 제공자로 로그인 위임(브로커링) |
| Authentication Flow | 로그인 절차(비밀번호 → OTP 등)를 단계로 조립 |
conf/keycloak.conf |
서버 설정 파일. 명령줄 옵션 · 환경변수(KC_*)로도 같은 항목을 준다 |
kc.sh build / start |
빌드 시점 옵션(DB 종류 · 기능 플래그)을 굳힌 뒤 start --optimized 로 띄운다 |
관리 콘솔은 https://<hostname>/admin/, 사용자 계정 콘솔은 https://<hostname>/realms/<realm>/account/ 다. OIDC 디스커버리는 https://<hostname>/realms/<realm>/.well-known/openid-configuration 이다.
최신 버전 26.7.4 — 2026-09-20 확인. https://www.keycloak.org/downloads ↩︎ ↩︎
Keycloak Getting Started(OpenJDK 25) https://www.keycloak.org/getting-started/getting-started-zip · Release notes 26.6.0 "supports running with OpenJDK 25 … container image continues to use OpenJDK 21" https://www.keycloak.org/docs/latest/release_notes/index.html — 2026-09-20 확인. ↩︎
Configuring the database. 2026-09-20 확인. https://www.keycloak.org/server/db ↩︎
Configuring TLS. 2026-09-20 확인. https://www.keycloak.org/server/enabletls ↩︎
Configuring the hostname. 2026-09-20 확인. https://www.keycloak.org/server/hostname ↩︎