AI로 번역했습니다. 아직 커뮤니티의 검토를 거치지 않았습니다. 영어로 읽기

블로그 · 2023년 9월 26일 · Steve Simpson · ID

SAML 인증 깊이 보기

Salesforce 싱글 사인온에서 SAML 이해하기

인증 영역에서 SAML(Security Assertion Markup Language)은 애플리케이션 사이의 매끄러운 접근을 보장하는 데 핵심적인 역할을 합니다. SAML을 깊이 파고들어 싱글 사인온(SSO)에서의 중요성을 이해하고, Salesforce에서의 구현을 살펴보겠습니다.

상황 설정

Salesforce org가 두 개 있는 시나리오를 상상해 보십시오. ID 공급자(IDP)와 서비스 공급자입니다. 서비스 공급자에는 접근하고 싶은 데이터가 있지만, 여러 자격 증명 대신 로그인 정보 한 벌로 그렇게 하고 싶습니다. 개념은 단순하게 들리지만, 뒤에서 돌아가는 원리는 복잡할 수 있습니다.

다이어그램: 한 Salesforce org에서 다른 org로의 싱글 사인온. 브라우저는 SAML 요청과 함께 ID 공급자 org로 보내지고, SAML 어설션을 가지고 서비스 공급자 org로 돌아온다. 각 org는 상대의 인증서를 갖고 있고, 사용자는 페더레이션 ID로 매칭된다

SAML 세계의 핵심 용어

사용자 접근: 사용자가 인증 전에 서비스 공급자의 보호된 리소스에 접근하려 할 때.

리디렉션: 사용자가 인증되지 않았다면, 서비스 공급자는 SAML 요청으로 사용자를 ID 공급자에게 리디렉션합니다. 필요하면 릴레이 상태(사용자가 처음 방문하려던 URL)도 함께 보냅니다.

IDP 인증: ID 공급자가 보통 사용자 이름, 비밀번호, 다중 인증으로 사용자의 신원을 확인합니다.

SAML 어설션: 인증 후 IDP가 서비스 공급자에게 SAML 어설션을 보냅니다.

서비스 공급자의 신뢰: 서비스 공급자가 SAML 어설션을 검증하고 사용자 정보를 추출해 접근을 허용합니다. 앞서 릴레이 상태가 전달되었다면, 서비스 공급자는 그 URL로 이동합니다.

SAML 요약: 기본 흐름(사용자 접근, 리디렉션, 인증, 어설션, 다시 리디렉션, 접근 허용), 장점, 핵심 용어

싱글 사인온의 장점

간편한 접근: 사용자는 자격 증명 한 벌만으로 여러 서비스에 접근할 수 있습니다.

보안: SAML은 디지털 서명으로 데이터 무결성을 보장하고 변조를 막습니다.

상호 운용성: 표준 프로토콜이므로 SAML은 서로 다른 기술 스택의 다양한 IDP 및 서비스 공급자와 연동할 수 있습니다.

더 깊이: SAML 흐름 살펴보기

SAML 요청: 서비스 공급자가 IDP에 보내 사용자 인증을 요청하는 것입니다.

서비스 공급자 org에서 ID 공급자 org로 보내는 SAML 요청(AuthnRequest)의 예

SAML 응답: 인증 후 IDP가 보내는 메시지로, 사용자에 대한 세부 정보를 담고 있습니다.

ID 공급자가 보낸 SAML 응답의 예, 발급자와 디지털 서명이 보인다

어설션: 사용자에 대한 IDP의 진술로, 사용자 이름이나 이메일 같은 속성을 포함합니다.

디지털 서명: 어설션을 검증해 부정하게 수정되지 않았음을 보장하는 데 쓰입니다.

릴레이 상태: 인증 후 사용자가 처음 의도한 목적지로 돌아가도록 하는 딥 링크 URL입니다.

사용자가 접근을 시작하면 SAML 요청이 IDP로 보내지고, IDP는 확인 후 SAML 어설션을 돌려보냅니다. 서비스 공급자가 이 어설션을 검증하면 사용자는 의도한 접근을 얻습니다.

시퀀스 다이어그램: 서비스 공급자가 시작하는 SAML 로그인. 사용자가 페이지를 요청하면 로그인을 위해 ID 공급자로 리디렉션되고, SAML 어설션을 가지고 돌아오며, 서비스 공급자가 이를 검증하고 세션을 만든다

브라우저용 SAML Tracer 같은 도구를 쓰면 이 흐름을 눈으로 볼 수 있습니다. 처음 요청부터 인증 후 마지막 리디렉션까지 인증 과정을 투명하게 볼 수 있습니다.

SAML 어설션의 보안 조치

잠재적인 보안 위협에 맞서기 위해:

타임스탬프로 재전송 공격을 막아, SAML 어설션이 짧은 시간 동안만 유효하도록 합니다.

디지털 서명이 교환 중에 데이터가 변조되지 않았음을 보장합니다.

또한 어설션에는 이메일 주소나 사용자 유형 같은 사용자 속성을 담을 수 있어, 서비스 공급자 쪽에서 더 세밀한 접근 제어가 가능합니다.

결론

SAML의 핵심은 인증을 위한 주요 요소를 담은 XML 기반 프로토콜입니다. 마법처럼 보일 수 있지만, ‘중간자’ 공격이나 재전송 같은 공격을 막도록 잘 설계된 기술의 결과입니다.

다양한 기술 스택의 IDP와 여러 서비스 공급자를 통합할 수 있는 능력 덕분에 SAML은 디지털 인증 세계의 초석이 되었습니다.

계속 지켜봐 주세요

자신 있게 Salesforce Identity 여정을 시작하십시오! 더 많은 통찰과 팁은 이곳 www.SteveTechArc.com과 YouTube 채널 @SteveTechArc (opens in a new tab)에서 확인하십시오. 구독하고 Salesforce Identity에 대한 이해를 넓히십시오.

동료 아키텍트와 아키텍트의 길을 걷는 분들에게 통합 지식을 나누며 세상을 바꾸는 데 힘을 보탭니다!

AI의 도움을 받은 대본

STA 3.6