회사 내부 시스템이나 여러 SaaS 서비스를 사용할 때, 매번 로그인해야 한다면 꽤 번거롭습니다. 메일 서비스, 문서 서비스, 사내 시스템, 프로젝트 협업 도구 등 사용자가 접근해야 하는 서비스는 계속 늘어나고 있기 때문입니다. 이때 한 번 로그인하면 연결된 모든 서비스에 자동으로 로그인되어 사용할 수 있게 해주는 기술이 있습니다. 바로 SSO(Single Sign-On) 입니다.
SSO(Single Sign-On)이란
SSO(Single Sign-On)은 사용자가 한 번 인증을 하면 그 인증 정보를 기반으로 여러 서비스에 반복 로그인 없이 접근할 수 있도록 하는 인증 방식입니다. 정리하면, 한 번의 로그인으로 여러 서비스에서 추가 로그인 없이 서비스를 이용할 수 있습니다.
- 구글 로그인 한 번 → Gmail / Drive / YouTube / Calendar 모두 접근 가능
- 회사 계정 로그인 한 번 → 사내 포털 / 인사 시스템 / 메일 / 회계 시스템 자동 접근
SSO가 필요한 이유
| 이유 | 설명 |
|---|---|
| 사용자 편의성 향상 | 로그인 반복 입력 감소 |
| 보안 강화 | 비밀번호 공유나 재사용 위험 감소 |
| 계정 관리 통합 | 사용자 종료·변경 처리 시 전체 서비스에 반영 용이 |
| 기업 업무 생산성 | 여러 시스템을 사용하는 환경에서 로그인 부담 제거 |
특히 기업 환경에서 SSO는 사실상 표준에 가깝습니다.
SSO는 어떻게 동작할까 (핵심 흐름)
- 사용자가 웹 서비스 A에 접근합니다.
- 서비스 A는 "이 사용자가 인증된 사용자?"를 확인합니다.
- 인증이 되어 있지 않다면 SSO 인증 서버로 이동시킵니다.
- 사용자가 로그인하면, 인증 서버는 토큰 또는 세션 정보를 발급합니다.
- 이후 사용자는 다른 서비스 B, C에 접근할 때, 이 토큰을 확인하여 다시 로그인할 필요가 없습니다.
핵심은 각 서비스가 직접 로그인 검증을 하지 않고, 인증 서버에서 신원 정보를 공유받는 구조입니다.
광고
SSO 구현 방식: OAuth vs SAML
OAuth 2.0 / OpenID Connect
- 웹/모바일 서비스에서 널리 사용되는 방식
- 구글 로그인, 카카오 로그인 같은 "소셜 로그인"이 대표적
SAML(Security Assertion Markup Language)
- 기업 내부 시스템이나 SaaS 연동에서 많이 사용
- IDP(Identity Provider) 기반 인증 구조
| 비교 | OAuth/OIDC | SAML |
|---|---|---|
| 주 사용 환경 | 웹/모바일 | 기업 시스템, 엔터프라이즈 환경 |
| 데이터 형식 | JSON | XML |
| UI 경험 | 소셜 로그인과 유사 | 조직 내부 로그인 포털 형태 |
주의사항
| 항목 | 체크 내용 |
|---|---|
| 사용자 프로비저닝 | 사용자 생성/삭제 자동화 필요 |
| 로그아웃 처리 | 하나의 서비스에서 로그아웃 → 전체 로그아웃 선택 필요 |
| 토큰 유효 기간 | 사용자 경험 vs 보안 균형 |
| MFA(다중 인증) 연동 | 민감한 기능에는 추가 검증 필요 |
특히 기업 환경에서는 MFA(Multi-Factor Authentication) + SSO 조합이 거의 표준입니다. (예: 회사 계정 + OTP / 인증 앱)
정리
- SSO는 한 번 로그인으로 여러 서비스에 자동 접근할 수 있도록 하는 인증 구조입니다.
- 사용자 편의성과 보안, 계정 관리를 함께 개선할 수 있습니다.
- OAuth/OIDC, SAML 등 다양한 구현 모델이 존재하며 상황에 따라 선택됩니다.
- 기업 환경에서는 MFA와 함께 사용하는 것이 일반적입니다.
참고자료
- OAuth 2.0 개요: https://oauth.net/2/
- OpenID Connect: https://openid.net/connect/
- SAML 공식 문서: https://docs.oasis-open.org/security/saml/