[Keycloak] 외부 DB(Mysql)로 변경 (Quarkus, 17버전 이후)
·
Keycloak
이제껏 DB를 따로 생성하지 않아도 Realm, Client, User를 생성하고 저장할 수 있었던 이유는, Keycloak내의 내부 DB(h2)를 사용하고 있었기 때문입니다. 하지만 보통 운영 단계에서는 외부 DB를 사용하는 경우가 많으므로 Keycloak 내부 DB에서 외부 DB로 변경해보겠습니다. 설치 DB는 Mysql입니다. 저는 Docker Compose로 설치해보겠습니다. Mysql 5버전 설치 # docker-compose.yml version: "3.8" services: mysql_5: image: mysql:5.7.38 container_name: mysql_5 environment: - MYSQL_DATABASE=keycloak5 - MYSQL_USER=jerry - MYSQL_PAS..
[Keycloak] Realm, Client, User 생성 (Quarkus, 17버전 이후)
·
Keycloak
이번 시간에는 Realm과 Client, 그리고 User에 대해 알아보겠습니다. 위 그림에서 Application은 Client라고도 불립니다. 혼동을 방지하기위해 앞으로 Client라고 부르겠습니다. Realm Realm은 사용자, 인증, 인가, 권한, 그룹이 관리하는 범위입니다. 한 Realm내의 Client들(위 그림에서는 Application입니다.)은 서로 SSO를 공유합니다. 각각의 Realm은 독립적입니다. 처음 Keycloak에 접속하면 Master Realm이 있는데, 이 Realm은 다른 Realm을 관리하는데만 사용합니다. (단지 관리를 하기위한 Realm이고, 다른 Realm이 Master Realm을 상속 받는 것은 아닙니다.) Client Client란 인증, 인가 업무를 Key..
[Keycloak] 설치 (Quarkus, 17버전 이후)
·
Keycloak
keycloak은 17버전 이후로 WildFly에서 Quarkus로 변경되었습니다. (https://www.keycloak.org/migration/migrating-to-quarkus) 17버전 이전과 설정 방법이 다르고 정보 또한 부족하여 많은 시행 착오를 겪었습니다. Keycloak을 사용하시는 분들께 도움이 되고자 작업했던 내용들을 정리하려고 합니다. Keycloak이란 keycloak은 웹 앱, Restful 웹 서비스를 위한 SSO 솔루션입니다. Keycloak은 로그인, 등록, 관리 및 계정 관리를 위한 사용자 정의 가능한 사용자 인터페이스를 제공합니다. Keycloak을 통합 플랫폼으로 사용하여 기존 LDAP 및 Active Directory 서버에 연결할 수도 있습니다. Facebook ..