# SSO 기술의 이해

SSO는 Single Sign On의 약어로 사용자가 단 **한번의 인증 절차 만으로 다수의 애플리케이션에 접속**할 수 있도록 해주는 인증 프로세스입니다. 정해진 시간 동안 여러 애플리케이션을 이동하더라도 사용자는 추가적인 인증을 요구 받지 않아 사용자 편의성이 증대되고, 애플리케이션 마다 인증절차를 거치지 않으므로 보안을 강화할 수 있습니다.

## SSO 구성요소

### SSO 서버

사용자 저장소의 사용자 정보와 SSO 인증 정책을 확인하여 **사용자에 대한 인증을 수행하고 인증 토큰 생성**합니다.

### SSO 저장소

사용자 인증에 필요한 **사용자 저장소**와 SSO 정책을 저장하는 **정책 저장소**로 구분되며 보통 **LDAP 또는 RDBMS를 사용하여 구성**합니다. SSO 서버에서 인증을 수행할 때 인증에 필요한 정보(아이디, 패스워드, 기타 사용자 속성)를 확인합니다.&#x20;

### SSO Agent

SSO 서버와 통신하기 위한 클라이언트 라이브러리로 업무 시스템에 탑재하여 사용자가 SSO 인증에 성공했다면 **인증 토큰의 유효성을 검증**하고 **업무 시스템 로그인에 필요한 정보를 취득**할 수 있습니다.

![](https://2326782925-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lkbt3DI8xkYNG7Cdw3E%2F-Lkbwt4G43IwZqKM7Ypl%2F-LkbxMhTnVAH40V--Te5%2Fimage.png?alt=media\&token=cc92e7f4-21d4-468b-b23a-55f565bae893)
