ㅇ.ㅇ
[DEV] SSO 본문
반응형

sso 관련 기능들을 커스텀하면서 좀 더 제대로 개념 정리를 해야할 것 같아 이렇게 정리를 하게 되었다.
SSO(Single Sign-On)란?
SSO는 한 번의 로그인으로 여러 시스템이나 서비스에 접근할 수 있도록 해주는 인증 방식이다. 사용자 경험을 개선하고 보안을 강화하는 데 중요한 역할을 한다.
SSO가 필요한 이유
1. 편의성 증가
- 사용자는 한 번만 로그인하면 여러 서비스에 접근 가능.
- 로그인할 때마다 비밀번호를 입력할 필요 없음.
2. 보안 강화
- 여러 개의 비밀번호를 사용하지 않아 보안 위험 감소.
- 보안 정책을 중앙에서 일괄 적용 가능 → 관리 효율성 증가.
3. 관리 비용 절감
- 기업에서 계정 관리 및 비밀번호 재설정 요청 감소.
- IT 부서의 업무 부담 경감.
SSO의 동작 방식
SSO는 일반적으로 토큰 기반 인증(Token-based Authentication)을 사용한다. 대표적인 프로토콜에는 아래와 같다.
1. SAML (Security Assertion Markup Language)
- XML 기반의 인증 프로토콜
- 기업 환경에서 많이 사용됨 - 예시 : Google Workspace, Microsoft 365 등
- 인증 과정
- 사용자가 서비스에 접근 시 SAML 요청 전송.
- IDP(Identity Provider)가 사용자 인증 후 SAML 응답을 생성.
- 응답을 서비스 제공자(SP)로 전달하여 인증 완료.
2. OAuth 2.0
- 웹 및 모바일 환경에서 널리 사용되는 인증 및 권한 부여 프레임워크.
- 예시 : Google, Facebook, GitHub 로그인.
- 인증 과정
- 사용자가 로그인 요청 → 인증 서버로 리디렉션.
- 사용자 인증 후 Access Token 발급.
- 토큰을 이용하여 서비스 접근 허용.
3. OpenID Connect (OIDC)
- OAuth 2.0을 기반으로 한 인증 프로토콜.
- ID 토큰을 사용하여 사용자 정보를 포함한 인증 지원.
- 구글, 애플 등의 SSO 서비스에서 사용.
SSO의 장점과 단점
장점
- 사용자 경험 향상: 한 번 로그인으로 여러 서비스 사용 가능.
- 보안 강화: 다중 비밀번호 관리 부담 감소.
- 효율적 관리: 중앙에서 사용자 계정 및 접근 권한 관리 가능.
단점
- SSO 서버 장애 시 모든 서비스 접근 불가 → 고가용성(HA) 구성 필요.
- 보안 위협: 하나의 계정이 유출되면 모든 서비스에 접근 가능.
- 구현 복잡성: 기존 서비스에 맞춰 도입하려면 추가 개발 필요.
SSO는 사용자 경험을 개선하면서 보안을 강화하는 중요한 인증 방식이다. OAuth 2.0, SAML, OpenID Connect 같은 프로토콜을 활용하여 구현할 수 있으며, 기업 환경뿐만 아니라 웹 및 모바일 애플리케이션에서도 광범위하게 사용된다. SSO 도입 시 고가용성, 보안 강화 전략을 함께 고려하는 것이 필수!
반응형
'Today I Learned' 카테고리의 다른 글
[DEV] SBOM에 대하여 (0) | 2025.03.09 |
---|---|
[Oracle] Oracle에서 NULL 값 다루기 (0) | 2025.03.09 |
[Linux] Linux에서 사용되는 대표적인 방화벽 종류 (0) | 2025.02.27 |
[DEV] 로그와 메트릭 (0) | 2025.02.23 |
[Tool] SDKMAN 설치 및 사용법 (0) | 2025.02.12 |