본문 바로가기

리눅스

[draft] SSO란

728x90

SSO란

SSO(Single Sign-On)란?

SSO는 단일 로그인을 의미합니다. 쉽게 말해 여러 개의 웹사이트나 애플리케이션에 접속할 때마다 다른 아이디와 비밀번호를 입력하는 번거로움 없이 하나의 아이디와 비밀번호로 모든 서비스에 접속할 수 있도록 해주는 시스템입니다.

 

예를 들어, 회사의 메일 시스템, 문서 관리 시스템 그리고 프로젝트 관리 도구에 각각 다른 아이디와 비밀번호를 사용하고 있다고 가정해 봅시다. SSO를 도입하면 이 모든 시스템에 하나의 아이디와 비밀번호로 로그인할 수 있어 편리합니다.

왜 SSO 솔루션을 사용해야 할까요?

  • 사용자 편의성 증대
    • 단순화된 로그인 : 여러 시스템에 대한 로그인 과정을 간소화하여 사용자의 편의성을 높입니다.
    • 비밀번호 관리 부담 감소 : 하나의 비밀번호만 기억하면 되므로 비밀번호 관리에 대한 부담을 줄여줍니다.
  • 보안 강화
    • 비밀번호 재사용 방지 : 하나의 강력한 비밀번호를 사용하도록 유도하여 비밀번호 유출로 인한 피해를 최소화합니다.
    • 중앙 집중 관리 : 사용자 인증 정보를 중앙에서 관리하여 보안 관리를 효율적으로 수행할 수 있습니다.
  • 생산성 향상
    • 업무 효율성 증대 : 불필요한 로그인 과정을 생략하여 업무에 집중할 수 있는 시간을 확보합니다.
  • IT 관리 효율성 향상
    • 관리 비용 절감 : 사용자 계정 관리 및 비밀번호 초기화 요청 등 IT 부서의 업무 부담을 줄여줍니다.

대표적인 오픈 소스 SSO 솔루션

오픈 소스 SSO 솔루션은 무료로 사용할 수 있으며 필요에 따라 자유롭게 수정하고 확장할 수 있다는 장점이 있습니다.

1. Keycloak

  • 개발사 : Red Hat
  • 기능 : OpenID Connect(OIDC), OAuth 2.0, SAML 2.0을 지원하며 LDAP/Active Directory 통합, 소셜 로그인, 다중 인증(MFA), 역할 기반 접근 제어(RBAC) 등을 제공합니다.
  • 특징 : Keycloak은 직관적인 웹 UI를 통해 사용자 관리와 인증 설정이 용이하고 기본적인 소셜 로그인과 LDAP 통합 기능을 제공합니다. 다양한 인증 프로토콜을 지원하며 특히 엔터프라이즈 환경에서 사용하기 좋습니다.
  • 추천 환경 : 대규모 사용자 관리가 필요하거나 복잡한 인증이 요구되는 기업 환경, 보안이 중요한 애플리케이션

2. OpenAM

  • 개발사 : ForgeRock (오픈 소스 버전은 커뮤니티에서 유지 관리 중)
  • 기능 : SAML, OAuth 2.0, OIDC, Kerberos 지원, 사용자 권한 관리, 인증 및 접근 제어, 감사 기능
  • 특징 : OpenAM은 초기부터 대규모 시스템의 인증, 권한 부여, 접근 관리 등의 다양한 보안 요구를 해결하기 위해 만들어진 솔루션입니다. 다양한 인증 방식과 정책 기반 접근 제어를 제공하며 고급 보안 설정이 가능하여 엔터프라이즈 및 공공 기관에서 많이 사용됩니다.
  • 추천 환경 : 엔터프라이즈 환경, 인증과 접근 제어가 복잡한 시스템, 확장 가능한 보안 인프라가 필요한 대규모 조직

3. OAuth 2.0

  • 개발사 : IETF (표준 프로토콜)
  • 기능 : 인증을 위한 프로토콜이 아니라 접근 권한 부여를 위한 프레임워크로, 제3의 애플리케이션이 사용자 데이터를 안전하게 접근할 수 있도록 토큰 기반 인증을 제공합니다.
  • 특징 : OAuth 2.0은 Facebook, Google, GitHub 등과 같은 서비스에서 제3자 인증 및 승인에 널리 사용됩니다. 단일 솔루션이라기보다 프로토콜이기 때문에 실제 구현에는 다양한 오픈 소스나 상용 솔루션이 필요합니다.
  • 추천 환경 : 외부 애플리케이션이 API 접근 권한을 얻어야 하는 경우 소셜 로그인 및 액세스 토큰 방식의 인증이 필요한 애플리케이션

4. CAS (Central Authentication Service)

  • 개발사 : Apereo Foundation
  • 기능 : SAML, OAuth, OpenID Connect 지원, LDAP과 Active Directory 통합, MFA, 세션 관리
  • 특징 : 교육 기관을 중심으로 널리 사용되는 SSO 솔루션으로 세션 기반 인증과 다양한 인증 프로토콜을 지원합니다. 모듈화된 구조로 필요한 기능만 추가하여 사용할 수 있어 시스템에 적합한 유연한 구성이 가능합니다.
  • 추천 환경 : 대학 및 연구 기관 등 사용자 접근 관리가 필요한 교육 환경, 다수의 웹 애플리케이션을 사용하는 시스템

5. Gluu Server

  • 개발사 : Gluu Inc.
  • 기능 : OpenID Connect, OAuth 2.0, SAML, LDAP 통합, 사용자 인증 및 권한 부여, 다중 인증(MFA)
  • 특징 : Gluu는 고급 사용자를 위한 솔루션으로 다양한 프로토콜과 인증 방식을 지원하여 ID와 인증 관리가 매우 세밀하게 가능합니다. 사용자는 플러그인을 통해 사용자 정의 인증 흐름을 쉽게 추가할 수 있으며 고급 보안 설정이 필요한 환경에 적합합니다.
  • 추천 환경 : 대규모 사용자를 대상으로 한 고급 보안 요구 사항이 있는 환경, 다양한 인증 방식 통합이 필요한 엔터프라이즈 환경

6. Auth0 Community Edition

  • 개발사 : Auth0 (현재 Okta 소속)
  • 기능 : OpenID Connect, OAuth 2.0, SAML 지원, 소셜 로그인, MFA, 사용자 프로필 관리
  • 특징 : Auth0는 사용하기 쉬운 UI와 다양한 인증 옵션을 제공하여 빠르게 배포할 수 있는 인증 솔루션입니다. 커뮤니티 에디션은 무료로 제공되며 소셜 로그인을 쉽게 설정할 수 있어 간단한 SSO 환경에 적합하지만 고급 기능에는 제한이 있을 수 있습니다.
  • 추천 환경: 중소 규모 애플리케이션, 소셜 로그인 설정이 필요한 웹 애플리케이션, 간편한 SSO 구현이 필요한 환경

SSO 솔루션은 고유한 기능과 강점을 가지고 있어 인증 및 접근 제어의 요구 사항에 맞춰 적합한 솔루션을 선택할 수 있습니다.

 

참고URL

- AWS : SSO(Single Sign On)란 무엇인가요?

- Cloudflare : 싱글 사인온(SSO)이란?

 

728x90