KeyCloak이란?

경쓱타드·2025년 3월 19일
0

KeyCloak

목록 보기
1/2

특징

  • 오픈소스 Identity and Access Management (IAM) 솔루션
  • 사용자 인증 및 권한 관리를 간편하게 처리할 수 있는 플랫폼
  • 주로 OAuth2, OpenID Connect, SAML과 같은 표준 프로토콜을 지원하며, 애플리케이션과 서비스 간의 인증 및 권한 부여 관리

주요 기능

  1. 사용자 인증
    • OAuth2와 OpenID Connect를 통해 안전한 사용자 인증 제공
    • 로그인 페이지 커스터마이징
  2. 권한 관리
    • 사용자 그룹(Role) 및 권한(Permission)을 정의하고 관리
    • 리소스 기반 접근 제어(Resource-Based Access Control) 기능 지원
  3. 토큰 관리
    • Access Token, Refresh Token, ID Token을 발급하여 세션을 유지하고 인증 상태 관리
  4. 싱글 사인온 (SSO)
    • 한 번 로그인하면 여러 애플리케이션에 접근할 수 있는 기능 제공
  5. 다중 인증 (MFA)
    • OTP(One-Time Password), SMS 인증 등 추가적인 보안 계층 설정
  6. 연동 가능성
    • 다양한 프로토콜(OpenID Connect, SAML 2.0)을 지원하여 다른 시스템과 쉽게 통합 가능
    • Keycloak Admin REST API를 통해 Keycloak 서버 제어
  7. 사용자 관리
    • 사용자 등록, 비밀번호 변경, 계정 잠금 등의 기능 제공
    • LDAP 및 Active Directory와 통합 가능

구성 요소

  1. Realm
    • Keycloak의 기본 단위로, 사용자와 클라이언트 애플리케이션 그룹화
    • 각 Realm은 독립적으로 설정 가능
  2. Client
    • Keycloak과 통신하는 애플리케이션
    • 클라이언트 ID와 클라이언트 시크릿(Client Secret)을 사용하여 인증
  3. User
    • Keycloak에서 관리되는 사용자 계정
  4. Role
    • 사용자에게 부여되는 권한
    • Realm Role과 Client Role로 구분됨
  5. Token
    • 사용자의 인증 정보를 포함하는 JSON Web Token(JWT)
    • Access Token, Refresh Token, ID Token로 구분됨

활용

  • OAuth2 기반의 인증 및 권한 관리가 필요한 웹 애플리케이션
  • 싱글 사인온(SSO)을 구현하려는 다중 애플리케이션 환경
  • 사용자 계정을 중앙에서 관리하고 싶은 경우
  • LDAP/Active Directory와 통합하여 조직 내 사용자 관리를 간소화하려는 경우

JDK21을 이용해 Keycloak 서버 띄어보기

https://www.keycloak.org/getting-started/getting-started-zip

다음 포스팅에는 docker를 활용한 keycloak을 구동시켜 보겠다.

profile
백엔드 개발자를 시작으로 도메인 이해도까지 풍부한 개발자가 목표입니다!

0개의 댓글