Keycloak 라이선스/배포판 정리 — Upstream vs Red Hat build (실무 체크 포함)
개요 — Keycloak 자체는 Apache License 2.0 기반(퍼미시브). 다만 “의존성/번들”까지 포함한 배포 형태에 따라 조직 정책상 체크 포인트가 생긴다.
1) Keycloak 라이선스: Apache 2.0 한 줄 요약
- 상업적 사용 가능
- 수정/배포 가능
- 다만 저작권/라이선스 고지 유지, 상표/보증 면책 등 조건 준수 필요
운영 팁: “내부에서만 쓰는 도구”라도, 컨테이너 이미지 재배포나 사내 표준 이미지 레지스트리에 올릴 때는
보안/법무 정책상 “서드파티 라이선스” 확인 절차가 들어가는 경우가 많다.
2) Upstream Keycloak vs Red Hat build of Keycloak
현업에서는 “오픈소스 그대로 쓰느냐(Upstream)”, “벤더 지원을 받느냐(Red Hat build)”로 갈린다.
| 구분 | Upstream Keycloak | Red Hat build of Keycloak |
|---|---|---|
| 목적 | 커뮤니티 중심, 빠른 기능 반영 | 기업 지원/검증/서포트 체계 포함 |
| 차이 | 기본은 동일 (버전대별 차이 존재) | 특정 버전부터 업스트림과 차이가 최소화되었지만, 문서에 “차이점”이 명시됨 |
| 선택 기준 | 내부 도구/PoC/DevOps 자율 운영 | 컴플라이언스/지원 SLA/장기 운영 안정성 |
3) 실무 체크리스트 (진짜 중요한 것만)
- 의존성 라이선스 — Keycloak 자체는 Apache 2.0이지만, 번들된 커넥터/드라이버 등은 라이선스가 다를 수 있음
- 운영 관점 — MFA/패스키/WebAuthn, 패스워드 정책, 감사 로그(누가 언제 어디 접근) 설계를 먼저
- 프록시 구조 — “Keycloak을 직접 외부에 노출” vs “Nginx 앞단” vs “OAuth2-Proxy” 선택
- 권한 모델 — Realm Role / Client Role / Group / Mapper를 어떻게 쪼갤지