[SSO] SSO(Single Sign On)

dyomi·2024년 9월 17일

SSO란?

SSO는 1회 사용자 인증으로 다수의 애플리케이션 및 웹 사이트에 대한 사용자 로그인을 허용하는 인증 솔루션이다.

주요 특징으로는 중앙 인증 관리를 사용하기 때문에 동일한 세션에서 인증된 상태가 유지되므로 다른 애플리케이션에 다시 로그인할 필요가 없다.

그리고 사용자가 여러 애플리케이션의 로그인 정보를 관리하지 않도록 해주어 보안 사고의 가능성을 줄일 수 있고, 인증 및 보안을 중앙에서 제어가 가능해 비밀번호 정책이나 2단계 인증 등 일괄적으로 적용이 가능하다.

그리고 로그인 과정에서 사용자 경험을 간소화할 수 있다.

SSO 동작 과정을 보면, 사용자가 로그인 하려고 할때 해당 애플리케이션은 인증 서버로 인증 요청을 보내고, 인증 서버는 사용자가 올바른 자격 증명을 제공하면 인증 토큰을 발급한다.

해당 토큰으로 다른 애플리케이션에 접근할때 사용이 가능하고, 해당 토큰을 기반으로 추가적인 로그인 없이 자동 인증이 가능하다.

대표적인 예시로 Oauth2(하나의 아이디로 다른 애플리케이션에서 로그인 가능)와 SAML (주로 기업 환경에서 사용되며, 인증과 권한을 교환하는 표준) 등이 있다.

보통 웹 개발에서는 어떤 애플리케이션을 개발할 때, 따로 로그인 기능을 만들지 않고, 기존에 있는 SSO와 연동하여 구현해야 할 경우가 있다. 이때 어떻게 기존의 SSO와 연동을 하는지, 로그인을 구현하는지 정도 공부를 해놓으면 좋다.



참고 자료
SSO(Single Sign On)란 무엇인가요?

profile
기록하는 습관

0개의 댓글