Apidog

올인원 협업 API 개발 플랫폼

API 설계

API 문서

API 디버깅

API 모킹

API 자동화 테스트

SAML이란 무엇이며 어떻게 작동합니까?

SAML(보안 주장을 위한 마크업 언어)은 아이덴티티 제공자(IdP)와 서비스 제공자(SP) 간의 인증 데이터를 교환하여 여러 애플리케이션에 대한 안전하고 원활한 접근을 가능하게 합니다.

Young-jae

Young-jae

Updated on December 20, 2024

SAML (보안 주장 마크업 언어)는 신원 공급자 (IdP)와 서비스 공급자 (SP) 간에 인증 데이터를 교환하여 여러 응용 프로그램에 대한 안전하고 원활한 액세스를 가능하게 합니다.

이를 통해 사용자는 한 번 로그인하여 다양한 서비스에 다시 자격 증명을 입력하지 않고도 액세스할 수 있어 기업 환경에서 보안과 사용자 경험이 향상됩니다. 이 포스트에서는 SAML이 어떻게 작동하는지와 그 이점을 살펴보겠습니다.

보안 주장 마크업 언어(SAML)란?

SAML (보안 주장 마크업 언어) 인증은 신원 공급자 (IdP)와 서비스 공급자 (SP) 간에 인증 및 권한 부여 데이터를 교환하여 서비스에 대한 안전한 액세스를 가능하게 합니다. 이 프로토콜은 사용자가 단일 자격 증명 세트를 사용하여 여러 응용 프로그램에 원활하게 액세스할 수 있도록 기업 환경에서 일반적으로 사용됩니다.

SAML 구성 요소

다음은 SAML의 주요 구성 요소 및 개념입니다:

  • 신원 공급자 (IdP): 사용자를 인증하고 서비스 공급자에게 주장을 제공하는 엔터티입니다. 주장은 사용자의 신원 및 속성에 대한 정보를 포함합니다.
  • 서비스 공급자 (SP): SAML 주장을 수신하고 이를 기반으로 액세스 제어 결정을 내리는 엔터티입니다. 서비스 공급자는 사용자를 인증하기 위해 신원 공급자를 신뢰합니다.
  • SAML 주장: 신원 공급자가 서비스 공급자에게 보내는 XML 문서입니다. 인증 정보, 속성 정보 및 권한 부여 결정을 포함합니다.
  • 단일 로그온 (SSO): SAML은 일반적으로 SSO를 구현하는 데 사용되어 사용자가 신원 공급자를 통해 한 번 인증하면 여러 서비스 공급자에 대해 다시 인증하지 않고 액세스할 수 있도록 합니다.
  • 바인딩: SAML은 HTTP 리디렉션, HTTP POST, 및 SOAP를 포함하여 메시지 전송을 위한 여러 바인딩을 지원합니다.
  • XML 기반 프로토콜: SAML은 신원 공급자와 서비스 공급자 간에 교환되는 메시지를 인코딩하는 데 XML을 사용합니다.
💡
Apidog Enterprise는 Microsoft Entra ID와 같은 SAML 2.0 호환 신원 공급자를 사용하여 조직 수준의 SSO 구성 기능을 제공합니다. 이 기능은 기업 사용자의 인증을 간소화합니다.
button

SAML 2.0

SAML의 개념을 바탕으로, 가장 널리 사용되는 표준 버전인 SAML 2.0에 대해 살펴보겠습니다. SAML 2.0은 이전 버전인 SAML 1.1에 비해 여러 가지 개선 사항과 기능을 도입했습니다:

  1. 개선된 단일 로그온 (SSO): SAML 2.0은 SSO 기능을 개선하여 구현하기 쉽고 보안 및 사용자 경험 측면에서 더 강력하게 만들었습니다.
  2. 신원 연합: 서로 다른 도메인 간에 보다 원활한 신원 연합을 가능하게 하여 사용자가 단일 인증 프로세스로 서로 다른 조직의 리소스에 액세스할 수 있게 합니다.
  3. 다양한 인증 컨텍스트 지원: SAML 2.0은 다양한 수준의 인증 보장을 처리할 수 있어 필요할 경우 더 강력한 인증 방법을 사용할 수 있습니다.
  4. 메타데이터 교환: 이 버전은 신원 공급자와 서비스 공급자 간에 메타데이터 교환을 지원하여 구성 및 신뢰 관계 수립을 자동화하는 데 도움이 됩니다.
  5. 개선된 프로토콜 바인딩: SAML 2.0은 HTTP 리디렉션, HTTP POST 및 아티팩트 바인딩과 같은 다양한 전송 프로토콜에 대한 지원을 개선하여 유연성과 호환성을 높였습니다.
  6. 속성 쿼리 및 동의: SAML 2.0은 사용자 속성을 쿼리하고 사용자 동의를 보다 효율적으로 관리할 수 있도록 하여 개인 데이터에 대한 사용자 제어를 향상시킵니다.

SAML 인증은 어떻게 작동하나요?

인증 프로세스

SAML 인증은 사용자가 IdP에 자격 증명을 입력하여 로그인 프로세스를 시작할 때 시작됩니다. IdP는 사용자의 신원을 확인하고 사용자 속성과 인증 정보가 포함된 SAML 주장을 생성합니다.

이 주장은 사용자의 신원, 인증 시간 및 주장이 유효한 조건과 같은 세부 정보를 포함합니다. 정보의 무결성과 진위를 보장하기 위해 IdP에 의해 디지털 서명이 이루어집니다.

서비스 액세스

인증이 완료되면 사용자는 SP에서 제공하는 서비스에 액세스하려고 시도합니다. SP는 사용자의 신원을 확인해야 하므로 인증 요청과 함께 사용자를 IdP로 리디렉션합니다. IdP는 SAML 주장을 SP로 보내며, 이는 일반적으로 사용자의 브라우저를 통해 HTTP POST 또는 HTTP 리디렉션을 사용하여 이루어집니다.

그 후 SP는 디지털 서명 및 주장의 조건을 확인하여 SAML 주장을 검증합니다. 주장이 유효하면 SP는 사용자가 요청한 서비스에 대한 액세스를 허용합니다. 이 과정은 사용자에게는 원활하게 진행되어 여러 서비스에 접근하기 위해 한 번만 로그인하면 됩니다.

예시 시나리오

전형적인 기업 시나리오를 고려해 보십시오. 근무일 시작 시, John은 회사의 신원 및 액세스 관리 (IAM) 시스템에 자신의 기업 자격 증명을 사용하여 로그인합니다.

IdP는 John의 자격 증명을 확인하고 John의 사용자 이름, 인증 타임스탬프 및 역할 기반 액세스 속성과 같은 정보가 포함된 SAML 주장을 생성합니다. 그런 다음 John은 회사의 호스팅 이메일 서비스인 SP에 액세스하려고 합니다.

이메일 서비스는 인증 요청과 함께 John을 IdP로 리디렉션합니다. IdP는 John's의 브라우저를 통해 이메일 서비스로 SAML 주장을 다시 보냅니다. 이메일 서비스는 디지털 서명을 확인하고 주장이 이메일 서비스에 대한 것인지, 만료되지 않았는지 등의 모든 조건이 충족되었는지 확인하여 주장을 검증합니다.

검증이 완료되면 John은 자격 증명을 다시 입력할 필요 없이 이메일 서비스에 접근할 수 있게 되어 서비스에 원활하게 사용할 수 있습니다.

SAML 인증의 이점

SAML 인증을 통합함으로써 조직은 사용자 접근 관리 체계를 간소화하고 비밀번호 피로 및 재사용의 위험을 줄여 보안을 강화하며 사용자에게 여러 응용 프로그램에 대한 원활한 액세스를 제공합니다. 이 통합은 궁극적으로 운영 효율성과 보안 태세를 개선합니다.

SAML 주장이란 무엇인가요?

SAML 주장은 SAML 신원 공급자 (IdP)에서 발급되고 서비스 공급자 (SP)에서 소비되는 XML 문서입니다. 이는 양측이 신뢰할 수 있는 사용자에 대한 설명을 포함합니다.

SAML 주장의 주요 목적은 IdP와 SP 간에 보안 정보를 안전하고 표준화된 방식으로 전달하는 것입니다. SAML 주장 내에서 발견되는 주요 구성 요소 및 유형의 설명은 다음과 같습니다:

주요 구성 요소

  • 발급자: 주장을 발급한 엔터티로, 일반적으로 IdP입니다.
  • 주체: 주장이 적용되는 사용자 또는 엔터티입니다. 일반적으로 사용자를 위한 고유 식별자가 포함됩니다.
  • 조건: 주장이 유효한 조건과 규칙으로, 시간 제한 및 대상 제한이 포함됩니다.
  • 인증 진술: IdP에서 사용자의 인증에 대한 정보, 인증 방법 및 타임스탬프와 같은 정보입니다.
  • 속성 진술: 이름, 이메일 주소, 역할 등의 사용자에 대한 속성 모음입니다.
  • 권한 결정 진술: 특정 리소스에 대한 사용자의 접근 권한에 대한 정보입니다.

진술의 유형

  • 인증 진술: IdP에서의 인증 행위를 설명하며 사용된 방법과 인증 시간 등이 포함됩니다.
  • 속성 진술: 주체와 관련된 속성을 포함합니다. 예를 들어, 사용자의 이메일 주소, 역할 또는 기타 관련 정보 등이 있습니다.
  • 권한 결정 진술: 사용자가 특정 리소스에 접근할 수 있는지 여부에 대한 정보를 제공합니다. 여기에는 결정(허용 또는 거부)과 해당 리소스가 포함됩니다.

SAML 주장은 어떻게 작동하나요?

  1. 사용자 요청 액세스: 사용자가 SP에서 리소스에 액세스를 시도합니다.
  2. SP 인증 요청: SP는 사용자를 인증하기 위해 IdP로 리디렉션합니다.
  3. 사용자 인증: 사용자가 IdP에 자격 증명을 제공합니다.
  4. IdP 주장을 발급: 인증이 성공하면 IdP는 SAML 주장을 생성하고 이를 SP로 다시 보냅니다. 이는 일반적으로 사용자의 브라우저를 통해 이루어집니다.
  5. SP 주장을 검증: SP는 주장을 검증하고 그 무결성, 발급자의 유효성 및 조건을 확인합니다.
  6. 액세스 허용: 주장이 유효하면 사용자가 리소스에 대한 액세스를 허용받습니다.

보안 고려 사항

  • 암호화: SAML 주장은 기밀성을 보장하기 위해 암호화될 수 있습니다.
  • 서명: 주장은 종종 무결성과 진위를 보장하기 위해 서명됩니다.
  • 유효 기간: 주장은 재생 공격의 위험을 완화하기 위해 시간 제한과 같은 조건을 포함합니다.
Swagger UI 한국어 무료 다운로드 위치관점

Swagger UI 한국어 무료 다운로드 위치

Swagger UI 한국어 인터페이스를 얻는 것의 어려움을 탐색하고 Apidog이 API 개발을 위한 강력한 플랫폼 대안인 이유를 알아보세요.

Oliver Kingsley

April 23, 2025

무료 한국어 Postman 다운로드 방법관점

무료 한국어 Postman 다운로드 방법

Postman 한국어 버전을 무료로 다운로드할 수 있나요? Postman은 한국어를 네이티브로 지원하지 않지만, 해결 방법은 있습니다. 이 방법들을 살펴보고 언어에 관계없이 전체 API 워크플로우를 간소화하도록 설계된 강력하고 통합된 Postman 대안인 Apidog을 발견하십시오.

Oliver Kingsley

April 22, 2025

초보자를 위한: Postman 기본 사용법 완벽 가이드관점

초보자를 위한: Postman 기본 사용법 완벽 가이드

포스트맨(Postman)은 API 개발 및 테스트를 위한 필수 도구로, REST/SOAP/WebSocket 등 다양한 프로토콜 지원과 모의 서버 생성 기능을 제공합니다. 본 가이드에서는 HTTP 요청 전송부터 OAuth 2.0 인증 구현, Newman을 활용한 테스트 자동화까지 체계적으로 설명합니다. 무료 버전의 월 25회 컬렉션 실행 제한과 HTTP/2 미지원 문제점을 보완할 오픈소스 대안 툴 Apidog를 소개하며, 엔터프라이즈 환경에서의 효율적인 API 관리 전략을 제시합니다.

Young-jae

March 19, 2025