SP 시작 SSO와 IDP 시작 SSO의 차이점


107

누구든지 SP 시작 SSOIDP 시작 SSO 의 주요 차이점이 무엇인지 설명 할 수 있습니까 ? 여기에는 ADFS + OpenAM 연합과 함께 단일 사인온을 구현하는 데 더 나은 솔루션이 무엇인지 포함됩니다.


2
싱글 사인온 (SSO) 개념을 처음 접하는 사람을 위해 설명 : SP = 서비스 공급자 (사용자가 활용하려는 시스템) 및 IdP = 공급자 식별 (사용자를 인증하는 시스템)
Seafish

답변:


72

IDP Init SSO (Unsolicited Web SSO)에서 페더레이션 프로세스는 IDP가 SP에 요청하지 않은 SAML 응답을 전송함으로써 시작됩니다. SP-Init에서 SP는 연합 프로세스의 첫 번째 단계로 IDP에 전송되는 AuthnRequest를 생성하고 IDP는 SAML 응답으로 응답합니다. SAML2.0 Web SSO SP-Init에 대한 IMHO ADFSv2 지원은 IDP-Init 지원보다 강력합니다. 즉, 타사 Fed 제품과의 통합 (대부분 RelayState에 대한 지원을 중심으로 회전)하므로 SP-를 사용하고 싶을 것입니다. ADFSv2를 사용하면 삶을 더 쉽게 만들 수 있으므로 초기화하십시오.

다음은 PingFederate 8.0 시작 안내서의 몇 가지 간단한 SSO 설명이며 도움이 될 수 있습니다.


81

IDP 시작 SSO

PingFederate 문서에서 : - https://docs.pingidentity.com/bundle/pf_sm_supportedStandards_pf82/page/task/idpInitiatedSsoPOST.html

이 시나리오에서 사용자는 IdP에 로그온하고 원격 SP 서버의 리소스에 액세스하려고합니다. SAML 어설 션은 HTTP POST를 통해 SP로 전송됩니다.

처리 단계 :

  1. 사용자가 IdP에 로그온했습니다.
  2. 사용자가 보호 된 SP 리소스에 대한 액세스를 요청합니다. 사용자가 SP 사이트에 로그온하지 않았습니다.
  3. 선택적으로 IdP는 사용자 데이터 저장소에서 특성을 검색합니다.
  4. IdP의 SSO 서비스는 인증 어설 션 및 추가 속성이 포함 된 SAML 응답과 함께 HTML 양식을 브라우저에 반환합니다. 브라우저는 자동으로 HTML 양식을 SP에 다시 게시합니다.

SP 시작 SSO

PingFederate 문서에서 : - http://documentation.pingidentity.com/display/PF610/SP-Initiated+SSO--POST-POST

이 시나리오에서 사용자는 로그온하지 않고 SP 웹 사이트에서 직접 보호 된 리소스에 액세스하려고합니다. 사용자는 SP 사이트에 계정이 없지만 타사 IdP에서 관리하는 페더레이션 계정이 있습니다. SP는 IdP에 인증 요청을 보냅니다. 요청과 반환 된 SAML 어설 션은 모두 HTTP POST를 통해 사용자의 브라우저를 통해 전송됩니다.

처리 단계 :

  1. 사용자가 보호 된 SP 리소스에 대한 액세스를 요청합니다. 요청은 인증을 처리하기 위해 페더레이션 서버로 리디렉션됩니다.
  2. 페더레이션 서버는 IdP의 인증을위한 SAML 요청과 함께 HTML 양식을 브라우저로 다시 보냅니다. HTML 양식은 IdP의 SSO 서비스에 자동으로 게시됩니다.
  3. 사용자가 IdP 사이트에 아직 로그온하지 않았거나 재 인증이 필요한 경우 IdP는 자격 증명 (예 : ID 및 암호)을 요청하고 사용자가 로그온합니다.
  4. 사용자에 대한 추가 정보는 SAML 응답에 포함하기 위해 사용자 데이터 저장소에서 검색 될 수 있습니다. (이러한 속성은 IdP와 SP 간의 페더레이션 계약의 일부로 미리 결정됩니다.)

  5. IdP의 SSO 서비스는 인증 어설 션 및 추가 속성이 포함 된 SAML 응답과 함께 HTML 양식을 브라우저에 반환합니다. 브라우저는 자동으로 HTML 양식을 SP에 다시 게시합니다. 참고 : SAML 사양에서는 POST 응답이 디지털 서명되어야합니다.

  6. (표시되지 않음) 서명 및 어설 션이 유효한 경우 SP는 사용자에 대한 세션을 설정하고 브라우저를 대상 리소스로 리디렉션합니다.


1
Re SP Initiated SSO-위의 3 번 지점은 "사용자가 IdP 사이트에 아직 로그온하지 않았거나 재 인증이 필요한 경우 IdP가 자격 증명 (예 : ID 및 암호)을 요청하고 사용자가 로그온합니다."라고 말합니다. 시스템은 사용자가 IdP 사이트에 로그온했는지 어떻게 확인합니까? 예를 들어 쿠키를 생성합니까?
Edwardo

1
@Edwardo 귀하의 가정이 맞습니다. IdP로 세션이 설정되면 일반적으로 IdP는 해당 세션을 유지하기 위해 쿠키를 생성합니다.
jekennedy

다른 질문이 있습니다. stackoverflow.com/questions/43861315/… 당신은 그것을 볼 수 있습니까?
kawadhiya21

49

SP 시작 SSO

사용자에게 청구 : "Hey Jimmy, 보고서를 보여줘"

SP Jimmy : "어이, 아직 당신이 누군지 모르겠습니다. 여기에 프로세스가 있으므로 먼저 IdP Bob에게 확인을 받으십시오. 저는 그를 신뢰합니다."

Bob the IdP : "Jimmy가 여기로 보냈습니다. 자격 증명을 알려주세요."

사용자에게 청구 : "안녕하세요 저는 Bill입니다. 여기에 내 자격 증명이 있습니다."

Bob the IdP : "안녕하세요. 결제하신 것 같습니다."

Bob the IdP : "Hey Jimmy.이 사람 Bill이 확인하고 여기에 그에 대한 추가 정보가 있습니다. 여기에서 원하는 것은 무엇이든합니다."

Jimmy the SP : "좋아요. Bill도 우리의 알려진 손님 목록에있는 것 같습니다. Bill을 들여 보내겠습니다."

IdP 시작 SSO

Bill the user : "Hey Bob. 나는 Jimmy의 집에 가고 싶어. 보안이 꽉 찼다."

Bob the IdP : "Hey Jimmy. 나는 Bill을 믿습니다. 그는 확인하고 여기에 그에 대한 몇 가지 추가 정보가 있습니다. 여기서 원하는 것은 무엇이든 할 수 있습니다."

Jimmy the SP : "좋아요. Bill도 우리의 알려진 손님 목록에있는 것 같습니다. Bill을 들여 보내겠습니다."


여기에서 더 자세히 설명하지만 여전히 간단하게 유지합니다 : https://jorgecolonconsulting.com/saml-sso-in-simple-terms/ .


33
두 번째 대화가 옳지 않다고 생각합니다 .... 대신 다음과 같아야합니다. IdP : "이봐, Sal에 대한 몇 가지 정보가 있습니다. 그녀에게 알려주세요."/ SP : "좋아요, 믿습니다. in "
Jeff Olson

4
첫 번째 대화도 옳지 않습니다. 첫 번째 단계에서 SP는 자신이 어떤 사용자인지 아직 알지 못합니다. IdP에서만 사용자가 로그인하여 자신을 "Sal"로 식별합니다
Allie

4
첫 번째 대화는 다음과 같아야합니다. SP : "이봐, ID가 어디 있니?" IdP : "잠깐만 요, 제가 확인해 볼게요. 당신의 신분증을 좀 볼게요. 오케이, 그녀를 들여 보내주세요. 그녀는 Sal이고 그녀는 21 살입니다. (선택적으로)"SP : "멋진 친구, 당신 멋져요! ! "
Erdal G.

3
나는이 답변이 그것이 얻은 반대표를받을 자격이 없다고 생각합니다. 창의적인 방식으로 질문에 답합니다. 일부 사람들이 지적한 것만 큼 정확하지는 않지만 덜 창의적이지 않습니다.
Aaron C

2
이 형식으로 정답을 보는 것은 흥미로울 것입니다. 내 눈은 찬성 투표를 읽는 것보다 빛나고 있습니다.이 형식은 일반적인 개념을 매우 빠르게 파악하는 데 도움이됩니다. 댓글을 바탕으로 자신있게 답을 만들 수 있을지 모르겠습니다.
Sean Connolly
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.