한국어
  • sso
  • authentication
  • OIDC
  • SAML

SSO 방법 선택: SAML vs. OpenID Connect

싱글 사인온 (SSO)은 사용자 인증 및 권한 부여를 단순화하는 훌륭한 방법입니다. 하지만 어떤 SSO 방법을 선택해야 할까요? 이 게시물에서는 두 가지 인기 있는 SSO 방법인 SAML과 OpenID Connect에 대한 간단한 개요를 제공합니다.

Simeng
Simeng
Developer

소개

오늘날의 클라우드 기반 세계에서 싱글 사인온 (SSO)은 사용자 인증 및 권한 부여를 단순화하는 훌륭한 방법입니다. 사용자들이 여러 애플리케이션에 대해 여러 사용자 이름과 비밀번호를 기억할 필요 없이, SSO를 통해 한 번 로그인하고 여러 애플리케이션에 원활하게 접근할 수 있습니다.

Microsoft Entra와 같은 대부분의 대형 아이덴티티 공급자(IdPs)는 SSO를 위한 두 주요 후보자를 제공합니다: 보안 어설션 마크업 언어(SAML)와 OpenID Connect(OIDC). 두 프로토콜 모두 안전하고 잘 확립된 프로토콜이지만, 조직에 적합한 것을 선택하는 것은 여러 요인에 따라 다릅니다. 이제 이들의 강점과 약점을 깊이 파고들어 SSO 챔피언을 선택하는 데 도움이 되도록 하겠습니다.

OpenID Connect (OIDC): 현대 애플리케이션을 위한 경량 선택

OIDC는 OAuth 2.0 위에 구축된 간단하고 경량의 프로토콜입니다. 이는 사용자 친화적인 설정 프로세스를 제공하여 현대 애플리케이션에서 인기 있는 선택입니다.

장점

  • 단순성: OIDC는 SAML에 비해 더 간단한 설정 프로세스를 제공합니다. 이는 더 빠른 구현과 더 쉬운 지속적인 유지 관리를 의미합니다. 이는 이미 권한 부여 목적으로 널리 사용되는 OAuth 2.0 위에 설계되었습니다.
  • 현대적 설계: 현대 웹 환경을 위해 구축되었으며, 현대 애플리케이션 및 프레임워크와 잘 통합됩니다. OIDC는 RESTful 및 JSON 기반으로, 현대적인 개발 환경에서 작업하기 쉬우며 매끄러운 사용자 경험을 제공합니다.
  • 확장성: OIDC는 확장 가능하도록 설계되어 복잡한 요구 사항을 가진 대기업에 적합합니다.
  • 효율성: OIDC는 데이터 교환을 위해 JSON 웹 토큰(JWT)을 활용합니다. 이러한 간결한 토큰은 SAML이 사용하는 부피가 큰 XML 메시지에 비해 가볍고 효율적입니다. 이는 더 빠른 인증 시간을 의미합니다.

단점

  • 제한된 속성 제어: 기본적으로, OIDC는 제한적인 기본 사용자 속성 정보를 제공합니다. SAML과 같은 수준의 세밀한 제어를 제공하지 않을 수 있습니다. 이는 엄격한 접근 제어 요구 사항이 있는 조직에게는 우려가 될 수 있습니다. 더 발전된 속성 제어를 원할 경우, 프로토콜에 추가적인 권한 부여 메커니즘을 추가해야 할 수 있습니다. 예를 들어, 역할 기반 접근 제어(RBAC) 또는 속성 기반 접근 제어(ABAC) 등.
  • 레거시 애플리케이션 지원 제한: OIDC는 최신 프로토콜이기 때문에, 기존의 엔터프라이즈 애플리케이션에 비해 기존 SAML 표준만큼 널리 채택되지 않을 수 있습니다.

보안 어설션 마크업 언어(SAML): 세밀한 제어가 가능한 엔터프라이즈 표준

SAML은 오랜 시간 동안 엔터프라이즈 세계에서 SSO를 위한 기본 프로토콜입니다. 광범위한 채택과 강력한 기능 세트로 인해 복잡한 요구 사항이 있는 조직에 적합한 선택입니다.

장점

  • 광범위한 채택: SAML은 오랜 시간 동안 존재했으며 많은 엔터프라이즈 애플리케이션에서 널리 채택되었습니다. 이는 기존 IT 인프라와의 높은 호환성을 보장합니다.
  • 세밀한 속성 제어: SAML은 IdP와 서비스 공급자(SP) 간에 교환할 수 있는 풍부한 속성 세트를 제공합니다. 이는 세부적인 접근 제어와 사용자 속성의 맞춤화를 가능하게 합니다.

단점

  • 복잡성: SAML 설정 및 구성은 OIDC에 비해 더 복잡할 수 있습니다. SAML이 사용하는 XML 기반 메시지는 OIDC가 사용하는 JSON 기반 메시지보다 부피가 크고 수식적입니다. 이는 프로토콜에 대한 더 깊은 이해와 잠재적으로 더 많은 엔지니어링 자원을 요구합니다.

  • 대규모 메시지: SAML 메시지는 XML 기반으로, OIDC가 사용하는 JSON 기반 메시지와 비교해 부피가 크고 덜 효율적일 수 있습니다. 이는 특히 대량의 페이로드에서 인증 시간이 느려질 수 있습니다.

나만의 SSO 챔피언 선택하기

SAML과 OIDC 중에서 선택할 때 다음 요소를 고려하십시오:

요소SAMLOIDC
설정 복잡성높음낮음
호환성 (현대적)낮음높음
호환성 (레거시)높음낮음
사용자 경험복잡단순
속성 제어세밀함제한됨
데이터 교환 효율성낮음높음

이분법을 넘어: SAML과 OIDC의 하이브리드 접근 방식 결합

일부 경우에는 SAML과 OIDC 중 하나만 선택할 필요가 없습니다. 일부 IdP는 두 프로토콜을 모두 지원할 수 있는 유연성을 제공하여, 각각의 강점을 필요할 때 활용할 수 있습니다. 예를 들어, 조직에 현대적 애플리케이션과 레거시 애플리케이션이 혼합되어 있는 경우, 동일한 IdP를 공유하지만 포괄적인 SSO 솔루션을 위해 OIDC와 SAML을 모두 활용할 수 있습니다. 예를 들어, 웹 및 모바일 앱에는 OIDC를 활용하고, 레거시 엔터프라이즈 시스템에는 SAML을 예약할 수 있습니다.

결론: 작업에 적합한 도구 선택

조직에 가장 적합한 SSO 프로토콜은 특정한 애플리케이션 환경, 보안 요구 사항, 사용자 경험 목표에 따라 다릅니다. OIDC와 SAML의 강점과 약점을 이해함으로써 조직에 최적의 선택을 할 수 있습니다.

Logto에서는 포괄적인 SSO 솔루션의 일환으로 SAML과 OIDC를 모두 지원합니다. 현대 웹 애플리케이션과 레거시 엔터프라이즈 시스템에 연결하든, 우리는 지원합니다. 무료 계정 등록을 통해 인증 및 인가 워크플로를 오늘부터 간소화하세요.