Keycloak를 사용하여 인증 서버 설정하기

날아올라돼지야·2024년 8월 30일
0

이 강의에서는 Keycloak을 사용하여 OAuth2 프레임워크의 클라이언트 자격 증명 부여 유형을 이용해 게이트웨이 서버를 보안하는 과정을 설명하겠습니다. Keycloak는 오픈 소스 기반의 Identity and Access Management (IAM) 도구로, OAuth2 및 OpenID Connect 표준을 기반으로 다양한 기능을 제공합니다.


Keycloak 설치 및 초기 설정

  1. Keycloak 웹사이트 방문:

    • Keycloak 웹사이트(keycloak.org)에 방문하여 Get started 버튼을 클릭합니다.
  2. Docker를 사용한 Keycloak 설정:

    • Docker가 로컬 시스템에 설치되어 있으므로, Docker를 사용하여 Keycloak 서버를 설정할 것입니다.
    • Keycloak 설치를 위한 Docker 명령어는 다음과 같습니다:
      docker run -p 7080:8080 -d -e KEYCLOAK_ADMIN=admin -e KEYCLOAK_ADMIN_PASSWORD=admin quay.io/keycloak/keycloak start-dev
      • 이 명령어에서 -p 7080:8080는 외부 7080 포트를 Docker 내부 8080 포트에 매핑하는 것을 의미합니다. 이는 계좌 마이크로서비스와의 포트 충돌을 방지하기 위해 설정합니다.
      • KEYCLOAK_ADMINKEYCLOAK_ADMIN_PASSWORD 환경 변수를 사용하여 관리자 계정의 사용자 이름과 비밀번호를 설정합니다.
      • start-dev 명령어를 통해 개발 모드에서 Keycloak 서버를 시작합니다. 이는 내부 데이터베이스를 사용하여 사용자 및 클라이언트 자격 증명을 저장합니다.
  3. Docker에서 Keycloak 컨테이너 실행 확인:

    • Docker 명령어 실행 후, docker ps 명령어 또는 Docker Desktop을 통해 Keycloak 컨테이너가 정상적으로 실행 중인지 확인할 수 있습니다.
  4. Keycloak 관리자 콘솔 접속:

    • 웹 브라우저에서 http://localhost:7080으로 접속하여 Keycloak 관리자 콘솔에 접속합니다.
    • 관리자 콘솔에 접속하기 위해 이전에 설정한 admin 계정으로 로그인합니다.

Keycloak 초기 설정

  • Realm 설정:
    • Keycloak에서 Realm은 사용자를 그룹화하고 관리할 수 있는 논리적 경계입니다. 기본적으로 master Realm이 제공되며, 필요에 따라 추가적인 Realm(예: 개발, 테스트, 프로덕션)을 생성할 수 있습니다.
    • Realm은 다양한 환경에서 클라이언트와 사용자 자격 증명을 분리하여 관리할 수 있도록 도와줍니다.

요약 및 다음 단계

이제 Keycloak를 사용하여 기본적인 인증 서버(Auth Server)를 설정하는 방법을 이해했으며, 이 서버는 OAuth2 및 OpenID Connect 표준을 기반으로 동작합니다. 이후 강의에서는 Keycloak을 사용하여 클라이언트 애플리케이션을 등록하고, 게이트웨이 서버를 보안하는 구체적인 방법을 탐구할 것입니다.

감사합니다, 다음 강의에서 뵙겠습니다. 안녕히 계세요!

profile
무슨 생각하며 사니

0개의 댓글