안녕하세요
기업에서 인증 로그인할 때 자주 사용하는
SSO 인증 중에 SAML 2.0 인증 관련해서
내용 정리해서 알려드릴게요
들어와 👊🏻

SSO(Single Sign-On)이란?
SSO(Single Sign-On; 통합인증)는 하나의 로그인 인증정보로 여러 애플리케이션에 걸쳐 사용할 수 있는 중앙집중식 세션 및 사용자 인증 서비스입니다.

과거에는 위에 왼쪽 그림처럼 각 애플리케이션별로 별도의 로그인 및 인증 과정을 거쳤다면, 최근에는 SSO를 도입함으로써, 하나의 ID로 한 번의 인증을 거쳐 여러 애플리케이션을 사용할 수 있게 되었다.
ID 및 PW의 개별 관리의 위험성 해소 ⇒ 중앙집중 관리를 통한 효율적 관리 가능 ⇒ 운용비용 감소 서비스별로 ID 및 PW를 달리 하여 각 서버별로 관리하게 되면, 각각의 서버에 보안 솔루션이 각각 적용되어야 하므로, 관리하기가 까다롭고 신경써야 할 것이 많아지게 됩니다.
User(사용자)의 편리성 증가됩니다. Admin뿐만 아니라, User 역시 한 ID 및 PW만 기억하고, 한 번의 인증으로 여러 서비스를 이용할 수 있기 때문에 번거로움이 크게 줄어듭니다.
SAML이란 무엇입니까?
SAML(Security Assertion Markup Language)은 외부 애플리케이션 및 서비스에 사용자가 자신이 누구인지 알려주는 표준화된 방법입니다. SAML은 사용자를 한 번 인증한 다음 해당 인증을 여러 애플리케이션에 전달하는 방법은 제공하여 SSO(Single Sign-ON) 기술을 가능하게 합니다. SAML의 최신 버전은 SAML 2.0입니다.
1 . 통합된 로그인 경험(Single Sign-ON, SSO)
SAML 2.0을 사용하면 사용자들이 여러 애플리케이션에 접속할 때 매번 로그인할 필요가 없습니다. 한 번의 로그인으로 모든 애플리케이션에 접근할 수 있게 되어 편리함을 제공합니다.
사용자 경험 개선을 할 수 있고, 로그인 절차를 간소화 및 시간절약을 할 수 있습니다.
2. 강화된 보안
SAML 2.0은 강력한 암호화와 보안 프로토콜을 사용하여 데이터와 인증 정보를 보호합니다. 이를 통해 중간자 공격, 피싱 등의 보안 위협을 줄 일 수 있습니다. 이를 통해 데이터 보안 강화 및 비밀번호 유출 위험을 감소시킬 수 있습니다.
3. 사용자 생산성 향상
SAML 2.0을 사용하면 사용자가 여러 애플리케이션에 쉽게 접근할 수 있어, 업무 효율성이 높아집니다. 이는 생상성 향상으로 이어집니다.
SAML 3가지 역할
User : 인증을 원하는 사용자
Identity Provider(IdP) : 인증 정보 제공자 (고객사 인증 시스템)
Service Provider(SP) : 서비스 제공자 (모두싸인)
1) IdP(Identity Provider)
ID 공급자(Idp)는 디지털 ID를 생성, 저장 및 관리하는 시스템입니다. 쉽게 말해 사용자 관리를 한다고 생각하면됩니다.
사용자를 직접 인증하는 시스템입니다. 서비스 공급자(SP - 앱, 웹사이트 또는 기타 디지털 서비스)에 인증 서비스를 제공합니다.
직접 구축도 가능하고, Okta, MS Azure AD, Google 등 IdP제공 플랫폼 이용 가능합니다.
2) SP(Service Provider)
IdP에서 얘기한 타사 서비스 공급자입니다. 사용자가 원하는 서비스에 접속할 수 있도록 도와주는 개체입니다. 서비스를 제공합니다.
쉽게 얘기하면 SaaS 클라우드 서비스가 하나하나를 각각의 SP라고 이해하면 됩니다. (Ex, Notion, Slack, CRM - Salesforce 등)
3) SAML Assertion
SAML 2.0 기반으로 Idp와 SP에서 주고받는 XML 문서입니다. (메타데이터 XML)
🔑 구글 로그인을 통해 서비스를 이용 → 구글은 IdP, SaaS 서비스(Notion, Slack 등)는 SP
인증 플로우 (프로세스)

- 서비스 제공자인 SAML은 서버의 자원에 접속하려고 시도, 서비스 제공자는 이미 인증됐는지를 확인, 그렇지 않는 경우 서비스 공급자는 인증 프로세스를 시작, 이미 인증됐다면 바로 7단계(Request target resource)
- 서비스 공급자가 적절한 ID 공급자를 결정 및 해당 공급자를 리다이렉션(지금 사례의 경우 SSO 서비스)(Redirect to SSO Service)
- 브라우저가 SSO 서비스에 인증 요청, 서비스는 사용자 자신을 식별 (Request SSO Service)
- SSO 서비스는 서비스 공급자가 SAMLResponse 매개 변수에 필요로 하는 인증 정보를 포함하는 XHTML 문서를 반환(Respond with Xhtml and XML form)
- SAMLResponse 매개 변수가 서비스 제공자에게 전달(Request assertion consumer Service)
- 서비스 공급자는 이 응답을 처리하고 사용자를 위해 보안 컨텍스트를 작성(Redirect to target resource)
- 이 정보를 이용해 관심있는 리소스를 다시 요청(Requset target resource)
- 마침내 리소스 반환(Respond with requested resource)
SAML에 대해 알아야 할 것
SAML(Security Assertion Markup Language)은 네트워크를 통해 여러 컴퓨터에서 보안 자격 증명을 공유할 수 있도록
www.itworld.co.kr
Just-in-Time Provisioning for SAML
General Information We use three kinds of cookies on our websites: required, functional, and advertising. You can choose whether functional and advertising cookies apply. Click on the different cookie categories to find out more about each category and to
help.salesforce.com
'웹개발기초' 카테고리의 다른 글
| [웹 개발 기초] 인증 Authentication이란? (0) | 2022.07.09 |
|---|---|
| [웹 개발 기초] Git, Git Hub란? (0) | 2022.06.13 |
| [웹 개발 기초] 운영체제 - 메모리관리, IPC (0) | 2022.05.23 |
| [웹 개발 기초] OS 작동원리, 프로세스 관리 (0) | 2022.05.21 |
| [웹 개발 기초] DNS 서버, 도메인, 호스팅이란? (0) | 2022.05.02 |