SSO 구현 방식

Alli_Eunbi·2024년 10월 13일
0

SSO

목록 보기
1/1
post-custom-banner

SSO 구현 모델 종류

1. SSO Delegation(인증 대행) Model

사용자가 사용하려는 서비스 인증방법을 별도의 SSO Agent가 대행해주는 방식
a. 대상 서비스의 인증 방식을 변경하기 어려울 때 사용
b. 대상 서비스의 인증 방식을 전혀 변경하지 않음
c. 서비스 인증 정보를 에이전트가 관리

예를 들자면,
Target Server 1을 로그인 할 때 User1이 alice/alice라는 ID/ PWD가 필요하다면, 
에이전트가 이 정보를 가지고 있고, User1이 Target Service 1에 접근할 때 
에이전트가 대신 alice/alice ID/PWD 정보를 전달해서 로그인을 시켜주는 방식

2. SSO Propagation(인증정보 전달) Model

신뢰관계(Trust-relationship)를 토대로 사용자를 인증한 사실을 전달받아 SSO를 구현하는 방식
a. 통합 인증을 수행하는 곳에서 인증을 받음
b. 토큰(Token)을 발급 받아 사용하려는 서비스에 접근할 때 토큰을 자동으로 전달
c. 해당 서비스가 사용자를 확인할 수 있도록 하는 방식임
• 웹에서는 쿠키(Cookie)를 이용해 토큰을 자동으로 서비스에 전달할 수 있다.

3. Delegation & Propagation 방식

모든 웹에서 Propagation 방식이 모두 적용될 수는 없으며, 특히 웹 애플리케이션의 변경이 전혀 불가능하고 사용자 통합이 어려운 경우 Delegation 방식을 사용하게 됨
• 사용하려는 서비스가 많고 애플리케이션의 특성들이 다양한 경우 Delegation 방식과 Propagation 방식을 혼용

  1. One Cookie Domain SSO
  • SSO 대상 서비스와 애플리케이션들이 하나의 Domain안에 존재할 때 사용되는 일반적인 기업 내부의 컴퓨팅 환경에서 사용
a. 통합 인증을 받은 사용자는 토큰을 발급
b. 토큰은 Cookie Domain에 Cookie로 설정
c. Cookie Domain 내의 다른 서비스로 접근할 때 자동으로 토큰을 서비스에 제공
d. 서비스에서 동작되는 SSO 에이전트는 토큰으로부터 사용자 신원을 확인하고 요청된 자원에 대한 접근을 허가
=> 루트 도메인에 등록된 모든 서브 도메인에서도 접근 가능
  1. Web 기반 Multi Cookie Domain SSO
  • SSO 대상 서비스와 응용 애플리케이션들이 여러 도메인으로 분산돼 있을 경우
a. Multi Domain 환경인 경우에는 사용자 인증 및 토큰의 발행을 위한 마스터 에이전트가 존재
b. 마스터 에이전트는 각 서비스 에이전트의 사용자 인증을 위임 받아 수행
c. 인증된 사용자에게는 토큰을 발급하고 각 서비스 에이전트에게 안전하게 전달함
d. 에이전트가 해당 토큰을 자신의 Domain에서 Cookie로 저장해 사용할 수 있도록 함
=> 여러 루트 도메인에 접근 가능
profile
BACKEND
post-custom-banner

0개의 댓글