카테고리 없음

[SSO] Single Sign On의 개념

sylviaisthebest 2024. 2. 6. 12:47

이번에 회사에서 SSO로 Portal을 로그인하여 해당 사이트에 정보를 전달하는 신규 프로젝트를 시작했다.

프로젝트를 시작하기 앞서 SSO에 대한 개념을 정리해보았다.

 

SSO

1. 정의

- 통합 인증(Single Sign-On; SSO)

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

- SSO를 사용하면 사용자는 사용하는 모든 애플리케이션에 로그인할 필요가 없이 원하는 모든 애플리케이션에 액세스할 수 있다.

2. 옵션

- 클라우드 애플리케이션은 OpenID Connect, OAuth, SAML 등의 페더레이션 기반 옵션을 사용할 수 있다.

- 이 애플리케이션은 암호 기반 SSO, 연결 기반 SSO를 사용할 수도 있고 SSO를 사용하지 않을 수도 있다.

1) 페더레이션 Federation

- 여러 ID 공급자 간에 작업하도록 SSO를 설정하는 경우 이를 페더레이션이라고 한다.

- 페더레이션된 프로토콜을 기반으로 SSO를 구현하면 보안, 안정성, 최종 사용자 환경 및 구현이 개선됨.

- 페더레이션된 Single Sign-On을 통해 애플리케이션에 대해 사용자를 인증.

- 이 방법은 SAML 2.0, WS-Federation 또는 OpenID Connect 애플리케이션을 사용.

2) 암호 Password

- 암호 기반 SSO를 사용하는 경우 최종 사용자는 애플리케이션에 처음 액세스할 때 사용자 이름 및 암호를 사용하여 애플리케이션에 로그인한다.

3) 연결 기반 Linked

- 연결된 로그온은 일정 기간 동안 애플리케이션을 마이그레이션하면서 일관된 사용자 경험을 제공할 수 있음.

 

SAML 2.0

1. 정의

- Security Assertion Markup Language 2.0 (SAML 2.0)

- 보안 도메인 간의 인증과 권한 부여 교환을 위한 SAML 표준의 한 버전.

- SAML 2.0은 Assertion이 포함된 보안 토큰을 사용하여 Identitiy Provider(IdP)라고 하는 SAML authority와 Service Provider(SP)라고 하는 SAML Consumer 간에 주체(일반적으로 최종 사용자)에 대한 정보를 전달하는 XML 기반 프로토콜이다.

 

1. Request the target resource at the SP

 

 

2. SAML 2.0 assertions

- Assertion이란 SAML authority에 의해 제공되는 0 혹은 더 많은 상태의  정보에 대한 패키지이다.

- SAML assertion의 가장 중요한 타입은 bearer라고 불리는 웹 브라우저 SSO를 가능하게 하는 데 필요한 것이다.

 

 

 

Reference

https://learn.microsoft.com/en-us/entra/identity-platform/saml-protocol-reference

 

How the Microsoft identity platform uses the SAML protocol - Microsoft identity platform

This article provides an overview of the single sign-on and Single Sign-Out SAML profiles in Microsoft Entra ID.

learn.microsoft.com

https://www.onelogin.com/learn/saml

 

SAML Explained in Plain English | OneLogin

Learn what SAML is, how it works, and how it can benefit your company.

www.onelogin.com

https://en.wikipedia.org/wiki/SAML_2.0