출처 : [Keycloak] 개념부터 실행까지
Realm은 '영역', '왕국'이라는 뜻인데, Keycloak에서 가장 근본이 되는 데이터 타입이다.
이 Realm 하위에 클라이언트들을 생성할 수 있고, 그 하위에 사용자들이 생성되게 된다.
뭐 예를 들어서, 회사 A라는 Realm 하위에 서비스 A전용 클라이언트, 서비스 B전용클라이언트, 관리자 웹 전용클라이언트를 생성해서 운영할 수 있다.
출처 : [Keycloak] Authorization code방식의 인증 흐름
출처 : Keycloak production mode with Docker : Step by Step guide
출처 : keycloak guides
출처 : Keycloak docker 설치 (v22.0.1) 2 – docker compose 이용하여 서버에 설치 (ssl 인증서 설정 포함)
production mode로 https ssl 인증서와 함께 Keycloak 사용하기 위한 핵심은 SSL Certificate 파일을 keycloak 에게 주는 것! => .crt 파일과 .key 파일을 container에게 주고, 환경 변수 KC_HTTPS_CERTIFICATE_FILE, KC_HTTPS_CERTIFICATE_KEY_FILE 에 해당 파일을 맵핑 해준다!
필자는 Niginx Proxy Manager에서 SSL DNS를 설정 및 맵핑 해주어 커스텀 도메인으로 Keycloak 사용 중!(NPM 사용하는 이유가 SSL 설정 따로 안하기 위함이지만, keycloak 처럼 까다로운 솔루션은 따로 해줘야 함)
version: '3'
services:
keycloak:
image: quay.io/keycloak/keycloak:22.0.1
container_name: keycloak
restart: always
ports:
- 80:8080
- 443:8443
volumes:
- /home/keycloak/certs/keycloak_dev.crt:/etc/x509/https/tls.crt
- /home/keycloak/certs/keycloak_dev.np.key:/etc/x509/https/tls.key
environment:
- KEYCLOAK_ADMIN=admin
- KEYCLOAK_ADMIN_PASSWORD=password
- KC_HOSTNAME=keycloak.test.com
- KC_HTTPS_CERTIFICATE_FILE=/etc/x509/https/tls.crt
- KC_HTTPS_CERTIFICATE_KEY_FILE=/etc/x509/https/tls.key
command:
- start
출처 : 키클락 구성을 위한 기나긴 사전 작업 한번에 보기