SAML이란? | SAML 인증이 작동하는 방식

SAML은 사용자가 인증되었음을 알리기 위해 SSO 공급자가 사용하는 기술 표준입니다.

학습 목표

이 글을 읽은 후에 다음을 할 수 있습니다:

  • SAML(Security Assertion Markup Language) 정의
  • SAML이 SSO(Single Sign-On) 워크플로에 적용되는 방법 알아보기
  • SAML 어설션이 무엇인지 설명

관련 콘텐츠


계속 알아보시겠어요?

인터넷에서 가장 인기 있는 인사이트를 한 달에 한 번 정리하는 Cloudflare의 월간 요약본 theNET를 구독하세요!

Cloudflare가 개인 데이터를 수집하고 처리하는 방법은 Cloudflare의 개인정보 취급방침을 참조하세요.

글 링크 복사

SAML이란 무엇입니까?

SAML(Security Assertion Markup Language)은 외부 애플리케이션 및 서비스에 사용자가 자신이 누구인지 알려주는 표준화된 방법입니다.SAML은 사용자를 한 번 인증한 다음 해당 인증을 여러 애플리케이션에 전달하는 방법을 제공하여 SSO(Single Sign-On) 기술을 가능하게 합니다.SAML의 최신 버전은 SAML 2.0입니다.

SAML 인증을 신분증과 같다고 생각하면 됩니다. 인증 대상자가 누구인지 보여주는 짧고 표준화된 방법입니다. 예를 들어, 누군가의 신원을 확인하기 위해 일련의 DNA 테스트를 수행하는 대신 ID 카드를 한눈에 보는 것이 가능합니다.

컴퓨팅과 네트워킹에서 주요 과제 중 하나는 서로 다른 목적을 위해 서로 다른 벤더가 구축한 시스템과 장치를 함께 작동시키는 것입니다. 이를 "상호 운용성"이라고 합니다. 서로 다른 기술 사양에도 불구하고 서로 다른 기계가 서로 상호 작용할 수 있는 능력입니다. SAML은 상호 운용 가능한 표준으로, 클라우드 서비스 공급자에게 사용자 ID를 전달하는 데 널리 사용되는 방법입니다.

기사
Zero Trust를 통한 조직의 신뢰도 향상
가이드
앱 액세스 보호를 위한 Zero Trust 가이드

싱글 사인온(SSO)이란?

싱글사인온(SSO)은 사용자가 여러 애플리케이션 및 서비스에 대해 한 번에 인증을 받는 방법입니다. SSO를 사용하면 사용자는 단일 로그인 화면에서 로그인한 다음 여러 앱을 사용할 수 있습니다. 사용자는 사용하는 모든 단일 서비스에서 자신의 신원을 확인할 필요가 없습니다.

이를 위해 SSO 시스템은 모든 외부 앱과 통신하여 사용자가 로그인했음을 알려야 합니다. 여기서 SAML이 작동합니다.

SAML은 어떻게 작동할까요?

일반적인 SSO 인증 프로세스에는 다음 세 당사자가 포함됩니다.

  • 보안 주체("주체"라고도 함)
  • ID 공급자
  • 서비스 공급자

보안 주체/주체(Principal/subject): 이는 거의 언제나 클라우드 호스팅 애플리케이션에 액세스하려고 하는 인간 사용자입니다.

ID 공급자: ID 공급자(IdP)는 일반적으로 로그인 프로세스를 통해 사용자 ID를 저장하고 확인하는 클라우드 소프트웨어 서비스입니다.기본적으로 IdP의 역할은 "나는 이 사람을 알고 있으며 이 사람이 할 수 있는 일은 다음과 같습니다"라고 알려주는 것입니다.SSO 시스템은 실제로 IdP와 별개일 수 있지만, 이러한 경우 SSO는 본질적으로 IdP의 대표자 역할을 하므로 모든 의도와 목적에 있어서 SAML 워크플로에서 동일합니다.

서비스 공급자: 사용자가 사용하고자 하는 클라우드 호스팅 애플리케이션 또는 서비스입니다.일반적인 예로는 Gmail, Microsoft Office 365 등의 클라우드 이메일 플랫폼, Google 드라이브, AWS S3 등의 클라우드 스토리지 서비스, Slack, Skype 등의 통신 앱이 있습니다.일반적으로 사용자는 이러한 서비스에 직접 로그인하지만, SSO를 사용하는 경우 사용자는 대신 SSO에 로그인하고 SAML을 사용하여 직접 로그인 대신 액세스 권한을 부여합니다.

그 일반적인 흐름은 다음과 같습니다.

보안 주체(principal)가 서비스 공급자에게 요청을 합니다. 그런 다음 서비스 공급자가 ID 공급자에게 인증을 요청합니다. ID 공급자는 SAML 어설션을 서비스 공급자에게 보내고 서비스 공급자는 보안 주체에게 응답을 보낼 수 있습니다.

보안 주체(사용자)가 아직 로그인하지 않은 경우 ID 공급자는 SAML 어설션을 보내기 전에 로그인하라는 메시지를 표시할 수 있습니다.

가입
모든 Cloudflare 요금제의 보안 및 속도

SAML 어설션이란?

SAML 어설션은 사용자가 로그인되었음을 서비스 공급자에게 알리는 메시지입니다. SAML 어설션에는 어설션의 소스, 발급된 시간, 어설션을 유효하게 만드는 조건 등 서비스 공급자가 사용자 ID를 확인하는 데 필요한 모든 정보가 포함되어 있습니다.

SAML 어설션은 구직자에 대한 추천 내용과 같다고 생각하면 됩니다. 추천하는 사람은 구직자와 언제, 얼마나 오랫동안 함께 근무했고, 자신의 역할은 무엇이었으며, 후보자에 대한 의견은 어떤지 이야기합니다. 이 추천을 바탕으로 회사에서는 후보자 채용에 대한 결정을 내릴 수 있으며, 이는 SaaS 애플리케이션 또는 클라우드 서비스에서 SAML 어설션을 기반으로 사용자 액세스를 허용하거나 거부할 수 있는 것과 같습니다.

SAML 2.0이란?

SAML 2.0은 SAML의 최신 버전이며 2005년부터 사용되었습니다. SAML 2.0은 이전에 사용되었던 여러 버전의 SAML을 결합했습니다. 많은 시스템에서 이전 버전과의 호환성을 위해 SAML 1.1과 같은 이전 버전을 지원하지만, SAML 2.0이 최신 표준입니다.

SAML 인증은 사용자 권한 부여와 동일할까요?

SAML은 사용자 인증이 아니라 사용자 인증을 위한 기술이며 이것이 주요 차이점입니다.사용자 권한 부여는 ID 및 액세스 관리의 별도 영역입니다.

인증은 사용자의 신원, 즉 사용자가 누구이며 로그인 프로세스를 통해 신원이 확인되었는지를 나타냅니다.

권한 부여는 사용자의 권한 또는 권한, 특히 회사 시스템 내에서 수행할 수 있는 작업을 나타냅니다.

인증과 권한 부여의 차이점을 다음과 같이 생각해 보세요. Alice가 음악 축제에 참석한다고 상상해 보세요. 축제 현장 입구에서 Alice는 입장권과 입장권을 소유할 권리가 있음을 증명하는 추가 신분증을 제시합니다. 이렇게 하여 Alice는 축제에 입장할 수 있습니다. 인증되었으니까요.

그러나 Alice가 축제 현장에 들어왔다고 해서 어디든 갈 수 있고 원하는 건 뭐든 할 수 있는 것은 아닙니다. 축제 공연은 볼 수 있지만, 무대에 올라가 공연할 수는 없으며 무대 뒤에서 공연자와 상호 작용할 수도 없습니다. 그렇게 할 권한이 없기 때문입니다. 백스테이지 입장권을 구매했거나, 참석자이면서 공연자였다면 더 많은 권한을 승인받았을 것입니다.

액세스 관리 기술은 사용자 권한 부여를 처리합니다. 액세스 관리 플랫폼에서는 여러 다른 인증 표준(그 중 하나는 OAuth)을 사용하지만, SAML은 사용하지 않습니다.

Cloudflare Zero Trust는 액세스 관리 솔루션의 한 예입니다.Cloudflare를 사용하면 회사에서 가상 사설망(VPN)을 사용하지 않고도 내부 리소스 및 데이터에 대한 사용자 액세스를 관리할 수 있습니다.SSO 공급자와 쉽게 통합되어 사용자 권한 부여와 사용자 인증을 모두 제공합니다.

SSO에 대해 자세히 알아보세요.