[keycloak] keycloak 소개 및 docker 환경에 설치




keycloak에 대한 설명 및 docker 환경에서 환경을 구성한 테스트 내용을 정리합니다.


Keycloak 소개

Keycloak은 Red Hat에서 개발한 오픈 소스 싱글 사인온(SSO) 및 ID 관리 플랫폼으로, 사용자 인증 및 권한 부여를 처리하는 강력한 도구입니다. Keycloak은 다양한 기능을 제공하여 개발자가 보안 및 사용자 관리를 간편하게 구현할 수 있도록 지원합니다.


주요 기능

1. 싱글 사인온 (SSO)

Keycloak은 다양한 애플리케이션 간에 사용자의 로그인 상태를 공유함으로써 싱글 사인온을 제공합니다. 사용자는 한 번 로그인하면 다른 연결된 애플리케이션에서 추가적인 로그인을 요구받지 않아도 됩니다.

2. 사용자 인증 및 권한 부여

Keycloak은 다양한 인증 프로토콜을 지원하며, 사용자의 인증을 안전하게 처리합니다. 또한, 권한을 관리하여 사용자에게 필요한 리소스에 대한 액세스를 통제합니다.

3. 다양한 인증 프로토콜 지원

Keycloak은 OAuth 2.0, OpenID Connect, SAML 등 다양한 인증 및 권한 부여 프로토콜을 지원하여 플랫폼 간 통합을 용이하게 합니다.

4. 사용자 관리 및 그룹

사용자 관리를 통해 Keycloak은 사용자의 가입, 프로필 관리, 비밀번호 재설정 등의 기능을 제공하며, 그룹을 통해 사용자를 논리적인 단위로 구성하여 쉽게 관리할 수 있습니다.

5. 이벤트 및 감사 로깅

Keycloak은 로그인 실패, 사용자 생성, 권한 변경 등과 같은 이벤트에 대한 감사 로깅을 제공하여 보안 이슈를 추적하고 모니터링할 수 있습니다.


Keycloak 설치 in docker

Keycloak을 사용하려면 먼저 환경에 따라 적절한 방법으로 설치하고 구성해야 합니다.

일반적으로 Keycloak은 독립 실행형 서버 또는 도커 컨테이너로 사용할 수 있습니다.

Docker Compose

version: "3.7"

services:
  keycloak:
    container_name: keycloak
    image: quay.io/keycloak/keycloak:23.0.1
    ports:
      - "8080:8080"
    environment:
      - KEYCLOAK_ADMIN=admin
      - KEYCLOAK_ADMIN_PASSWORD=admin
      - PROXY_ADDRESS_FORWARDING=true
    command: start-dev
docker compose up -d

컨테이너 실행 확인

Keycloak가 도커 컨테이너로 정상 실행이 된 것을 확인할 수 있습니다.


keycloak 접속

docker-compose.yml 파일에 설정한 포트로 Keycloak Admin 사이트를 접속합니다.

docker-compose.yml 파일에 설정한 Admin 계정과 패스워드를 입력하여 접속합니다.


참고 문서

  • https://www.keycloak.org/guides
  • https://www.keycloak.org/getting-started/getting-started-docker



Leave a Comment