콘텐츠로 이동
Study NoteKeycloak 실습

Keycloak 실습 지도

설정 하나를 적용하고 로그인·token·API 결과가 어떻게 달라지는지 직접 확인한다.

이 덱은 Keycloak 덱의 개념을 labs/keycloak/의 Compose 환경에서 guided stage 순서대로 재현한다. 환경을 준비하고 읽을 코드를 구분한 뒤, 로컬 사용자로 client 로그인과 두 앱 SSO·API 권한을 확인하고, Samba AD 호환 디렉터리를 LDAPS로 연결해 외부 계정 로그인과 group 권한까지 이어 간다. 개념 설명은 늘리지 않고 각 실습이 해당 Keycloak 덱 장을 링크한다.

실습 기준은 Keycloak 26.7.3, PostgreSQL 18.6, Samba 4.19.5와 Node 24다. macOS/Colima에서 검증했고 네이티브 Ubuntu, Microsoft AD DS, 운영 HA는 미검증이다. 검증 범위는 각 페이지와 Keycloak 학습 마무리에서 구분한다.

환경 준비부터 시작
  1. 환경 준비Compose 환경과 읽을 코드

    Colima/Docker Engine · issuer·CA·secret · guided/ready · stop/resume

    무엇을 직접 읽고 바꾸며 무엇은 스크립트가 대신하나

  2. 로컬 로그인과 SSOclient 하나에서 API 401·403·200까지

    app-a client · redirect 실패와 복구 · app-b SSO · audience·role · API 결과

    Keycloak session 재사용과 API의 별도 검증은 어디서 갈리나

  3. 외부 디렉터리Samba 계정 로그인에서 group 권한까지

    Samba seed · LDAPS Federation · LDAP group mapper · role·groups claim · API 정책

    외부 group은 어느 두 단계를 거쳐 API 권한이 되나

stage명령실습먼저 읽을 개념
basefirst-start.sh --guidedCompose 실습 환경 준비, 실습 코드에서 읽을 것Keycloak의 역할, Realm과 로컬 사용자
app-aapply.sh app-a → verify.sh app-aClient를 연결하고 로그인 확인하기OAuth 2.0과 OIDC 로그인, Client 연결과 SSO
app-b · apiapply.sh app-b → verify.sh sso, apply.sh api → verify.sh api두 앱 SSO와 API 권한 실습Access Token 검증, Group과 Role
ldapapply.sh ldap → verify.sh ldapSamba 테스트 디렉터리, 외부 디렉터리 계정으로 로그인하기AD와 LDAP 연결 읽기, LDAP User Federation
groupsapply.sh groups → verify.sh groups외부 Group을 Token과 API 권한으로 연결하기디렉터리 Group 매핑, Client Scope와 Protocol Mapper

모든 명령은 labs/keycloak/scripts/에서 실행한다. 각 스크립트가 무엇을 하고 무엇을 건드리지 않는지, mode·stage가 무엇을 뜻하는지는 실습 진행 순서와 스크립트에 있다.

실습 중 나타나는 오류 문구는 Keycloak 문제 진단에서 경계별로 찾는다.