한국어
  • SSO
  • IdP
  • SAML
  • 엔터프라이즈 SSO
  • OIDC

SSO vs SAML, 모두를 위한 설명

SSO, SAML 은 종종 모호하게 사용되며 다양한 방식으로 해석될 수 있습니다. 이 글에서는 이러한 개념을 명확히 하고, 서로의 관계를 설명하며, 이해를 돕기 위한 실제 예시를 제공합니다.

Guamian
Guamian
Product & Design

SSO, SAML 은 종종 모호하게 사용되며 다양한 방식으로 해석될 수 있습니다. 이 글에서는 이러한 개념을 명확히 하고, 서로의 관계를 설명하며, 이해를 돕기 위한 실제 예시를 제공합니다.

SSO란 무엇인가?

SSO (Single Sign-On)는 사용자가 한 번 로그인하고 나서 여러 애플리케이션이나 서비스에 다시 로그인할 필요 없이 접근할 수 있게 해주는 인증 프로세스입니다. 그러나, 이 일반적인 정의는 SSO가 사용되는 여러 시나리오에 적용될 수 있습니다.

SSO는 다양한 시나리오에서 사용됩니다.

소셜 SSO

때때로 사람들은 소셜 로그인을 소셜 SSO로 언급합니다. 예를 들어, 사용자가 Google 로그인을 통해 새로운 앱에서 계정을 생성할 수 있으며, Google에 저장된 신원과 정보를 직접 사용합니다. 이 시나리오에서 사용자는 자신의 신원을 관리합니다.

소셜 SSO는 사용자가 정보를 쉽게 관리할 수 있도록 하여, 계정 생성 및 로그인 과정의 번거로운 단계를 줄여줍니다. 소셜 SSO는 일반적으로 OAuth 2.0OIDC와 같은 개방형 표준 프로토콜에 의존합니다.

sign-in-social-linking.png

엔터프라이즈 SSO

먼저, Identity ProviderService Provider의 개념을 간단히 분해해 봅시다.

  1. Identity Provider (IdP)는 당신의 신원의 “수문장”입니다. 이는 당신의 로그인 정보를 보유하고 누구인지 확인하는 시스템입니다. 이를 신뢰할 수 있는 권위자로 생각해보세요, 그것은 “예, 이 사람은 자기 자신이 주장하는 사람입니다.”라며 확인합니다. 예로는 Google Workspace, Microsoft Entra 및 Okta Workforce Identity가 있습니다.
  2. Service Provider (SP)는 당신의 신원이 확인된 후에 접근하고자 하는 “애플리케이션” 또는 “서비스”입니다. 이는 당신의 로그인이 필요한 장소이며, 예를 들어, Zoom, Slack 또는 회사의 내부 도구들입니다.

간단히 말해, Identity Provider는 당신이 누구인지 입증하고, Service Provider는 당신의 신원이 확인된 후 그 서비스를 사용할 수 있도록 해줍니다.

엔터프라이즈 SSO는 비즈니스 지향 시나리오에서 사용되며, 위에서 설명한 두 가지 용어로 나뉩니다. 일반적인 두 가지 경우가 있습니다: IdP 시작 SSOSP 시작 SSO입니다. 용어는 기술적일 수 있지만, 실제 시나리오는 꽤 간단합니다.

IdP 시작 SSO

회사의 애플리케이션 및 리소스에 직원으로 입사한다고 생각해보세요. 일반적으로 HR은 당신을 위한 계정을 생성합니다. 그런 다음 Okta 또는 Google Workspace와 같은 플랫폼에 로그인하기 위해 그 계정을 사용합니다. 한 번 로그인하면 모든 회사의 애플리케이션(예: 급여 시스템, 협업 도구, Workday 등)에 접근할 수 있는 회사 포털로 이동하게 됩니다.

idp-initiated-sso-portal.png

SP 시작 SSO

다른 관점에서 살펴봅시다. 때때로 특정 제품의 로그인 페이지에서 시작해야 할 때가 있습니다. 예를 들어, 동료와 온라인 미팅을 위해 Zoom을 사용하려면 “SSO로 로그인” 옵션을 볼 수 있습니다. 이 시나리오는 SP 시작 SSO라고 알려져 있습니다.

sso-button-sign-in.png

엔터프라이즈 SSO가 해결하고자 하는 문제

엔터프라이즈 SSO의 첫 번째 장점은 기업이 인력 신원을 쉽게, 유연하게, 그리고 안전하게 관리할 수 있다는 것입니다.

회사를 운영한다고 가정해 보겠습니다. 모든 직원이 구매한 제품 및 서비스에 접근할 수 있어야 합니다. 회사에서 생성된 리소스는 회사에 속해 있으므로, 기업 소유 신원 시스템이 필요합니다. 만약 직원이 개인 신원을 사용하여 회사 리소스에 접근한다면 보안 및 관리 문제를 일으킬 수 있습니다.

반면, SP 시작 SSO와 같은 시나리오에서는 직원들이 회사 소유의 다수의 애플리케이션 및 서비스에 접근하게 됩니다. 직원이 입사하거나 퇴사할 때 HR은 회사의 모든 제품 및 서비스에 걸쳐 수많은 계정을 생성하고 삭제해야 하며 이는 번거롭고 시간이 많이 소요됩니다.

엔터프라이즈 SSO는 통합 신원 시스템을 통해 이 과정을 단순화하며, SCIM (System for Cross-domain Identity Management) 및 즉시 프로비저닝과 같은 도구들은 이를 더욱 효율적으로 만들어 줍니다.

IdP 시작 SSO의 경우, “엔터프라이즈 레디”가 되고자 하는 제품 제작자에게 유익합니다. 예를 들어, 처음에 개별 소비자에게 초점을 맞춘 스타트업이 있고, 나중에 큰 기업이 귀사의 제품을 사용하고 싶어 할 때, 그들은 예를 들어 Microsoft Entra를 사용하여 직원들이 로그인하길 요구할 수 있습니다. 이러한 경우, 거래를 성사하기 위해 귀사의 제품에 엔터프라이즈 SSO를 통합해야 합니다.

SAML 이란 무엇인가?

SAML (Security Assertion Markup Language)은 인증 및 권한 부여를 위한 개방형 표준 프로토콜입니다. OAuth 및 OIDC와 함께 SAML은 특히 인력 신원 관리에서 널리 사용되는 신원 관리 시스템에서 사용됩니다. Okta 및 Microsoft Entra와 같은 상업용 신원 공급자는 SAML을 표준 프로토콜 중 하나로 일반적으로 지원합니다.

일부 오래된 시스템 및 소셜 로그인 제공자도 SAML 지원을 제공하므로, 시스템에 SAML을 내장하면 더 넓은 범위의 신원 공급자와의 호환성을 보장하고 미래의 생태계 성장을 도울 수 있습니다.

언제 SAML 이 필요할까요?

SAML은 주로 엔터프라이즈 SSO 시나리오에서 사용됩니다. 예를 들어, 세일즈 팀이 제품 개발자에게 연락하여, “우리에게 큰 고객이 있고 그들이 SAML 로그인을 요구합니다. 이 기술을 지원해야 합니다.”라고 말하는 상황을 상상해 보세요.

SAML 또는 IAM (신원 및 접근 관리)에 익숙하지 않은 엔지니어의 경우, 첫 번째 단계는 아마도 “SAML” 또는 “SAML 로그인”을 검색하는 것이 될 것입니다.

궁극적으로 목표는 귀사의 제품에 엔터프라이즈 SSO를 통합하여, SAML과 같은 기술을 사용하여 안전한 인증을 필요로 하는 대형 고객의 요구를 충족시키기 위해 “엔터프라이즈 레디”로 만드는 것입니다.

SAML은 어떻게 작동합니까

여기 두 유형에 대한 간단한 설명이 있습니다:

SP-시작 흐름

  1. 사용자가 SP의 리소스에 접근을 시도합니다.
  2. SP는 사용자에게 SAML 인증 요청과 함께 IdP로 리디렉션합니다.
  3. 사용자가 IdP에서 로그인하고 인증됩니다.
  4. IdP는 사용자의 신원과 가능하다면 권한 데이터를 갖고 SAML 어설션을 생성합니다.
  5. IdP는 일반적으로 사용자의 브라우저를 통해 SP에 SAML 어설션을 보냅니다.
  6. SP는 어설션을 처리하고, 유효성을 검증하며, 사용자에게 접근 권한을 부여하거나 거부합니다.

IdP-시작 흐름

  1. 사용자는 이미 IdP에 로그인되어 있으며, IdP의 포털에서 서비스/리소스를 선택합니다.
  2. IdP는 현재 세션을 기반으로 사용자의 신원과 속성을 포함하는 SAML 어설션을 생성합니다.
  3. IdP는 SP의 사전 요청 없이 SP에 어설션을 직접 보냅니다.
  4. SP는 어설션을 처리하고, 그 무결성을 검증하며, 사용자의 신원과 속성을 추출합니다.
  5. SP는 어설션을 기반으로 접근 권한을 부여하거나 거부합니다.

SAML이 기술적인 관점에서 어떻게 작동하는지 보려면 SAML이 어떻게 작동하는지를 확인하세요.

SAML과 SSO의 차이

SAML과 SSO의 정의는 종종 혼동되지만 여기에 대한 간단한 설명이 있습니다:

  1. SSO는 앱과 소프트웨어에서 사용되는 인증 프로세스로, 사용자가 한 번 로그인하면 여러 서비스를 사용할 수 있게 해줍니다.
  2. SAML은 인증 데이터를 안전하게 교환하기 위해 주로 기업 신원 관리에서 사용되는 기술적 프로토콜입니다.

다음과 같은 상황을 상상해보세요: 아침에 회사에 들어가, 각 애플리케이션에 개별적으로 로그인해야 하는 대신—이메일, 캘린더, 프로젝트 관리 도구 등—한 번만 로그인하면 모든 애플리케이션에 접근할 수 있습니다. 이 원활한 경험이 SSO (Single Sign-On)입니다. 이는 직장 도구의 모든 문을 열 수 있는 만능 키와 같습니다.

그러나 SSO는 어떻게 작동할까요?

여기서 SAML (Security Assertion Markup Language)이 중요한 역할을 합니다. SAML은 당신의 로그인 시스템(Identity Provider, IdP라고 불림)과 사용하려는 앱(Service Providers, SP라고 불림) 간 신뢰할 수 있는 메신저 역할을 합니다. SSO를 통해 로그인하면, SAML은 IdP에서 앱으로 당신의 신원의 “증거”를 안전하게 보내어, 당신이 당신임을 확인합니다.

간단히 말하자면:

  1. SSO는 사용자 경험입니다: 한 번의 로그인으로 여러 앱에 접근.
  2. SAML은 그 원활한 경험을 가능하게 하는 무대 뒤의 프로토콜로, 신원 검증을 안전하게 처리합니다.

SSO는 편리함을 향상시키는 반면, SAML은 모든 것을 안전하고 연결된 상태로 만들어, 사용자가 두 번째 생각 없이 모든 것에 접근할 수 있도록 합니다.

엔터프라이즈 SSO는 다른 프로토콜을 사용합니까?

예, SAML 외에도 OIDC는 엔터프라이즈 SSO 시나리오에서 흔히 사용되는 또 다른 프로토콜입니다. 예를 들어, Logto의 엔터프라이즈 커넥터에서는 Microsoft Entra (OIDC)와 Microsoft Entra (SAML) 모두를 지원합니다.

standard connector.png

SAML SSO를 사용해야 하나요?

엔터프라이즈 고객에게 판매한다면, 가능하면 SAML 지원을 조기에 고려하는 것이 중요합니다. 그러나 SAML 프로토콜 지원에만 집중하지 말고 전체 엔터프라이즈 SSO 인증 흐름을 고려하세요. 다음은 고려해야 할 주요 시나리오입니다:

  1. 고객이 자체적으로 온보드하고 엔터프라이즈 SSO를 설정할 수 있도록 합니다.
  2. 다중 테넌트 애플리케이션에서 직원들이 올바른 조직에 자동으로 가입할 수 있는지 확인합니다(이는 즉시 프로비저닝 및 SCIM으로 수행할 수 있습니다).
  3. 소비자 대상 로그인 프로세스와 호환되는 엔드 투 엔드 로그인 흐름을 구현합니다.

Logto로 SAML 및 엔터프라이즈 SSO 구현하기

Logto는 핵심적인 엔터프라이즈 SSO 흐름을 제공하고 여러 유명한 SAML 커넥터를 지원합니다. 다양한 일반적인 시나리오에 통합할 수 있으며 필요할 것입니다. Logto Cloud에서 Logto OSS에 이르기까지 Logto의 모든 기능을 Logto 웹사이트에서 탐색해 보세요.