Hizmet Sağlayıcı tarafından başlatılan SSO ile IDP tarafından başlatılan SSO arasındaki farklar


107

SP tarafından başlatılan SSO ile IDP tarafından başlatılan SSO arasındaki temel farkların neler olduğunu bana açıklayan var mı? ADFS + OpenAM Federation ile birlikte tek oturum açmanın uygulanması için hangisinin daha iyi bir çözüm olacağı da dahil olmak üzere?


2
Tek oturum açma kavramlarına yeni başlayanlar için açıklığa kavuşturmak gerekirse: SP = servis sağlayıcı (kullanıcının kullanmak istediği sistem) ve IdP = sağlayıcıyı
tanımla (

Yanıtlar:


72

IDP Init SSO'da (İstenmeyen Web SSO) Federasyon işlemi, SP'ye istenmeyen bir SAML Yanıtı gönderen IDP tarafından başlatılır. SP-Init'te, SP, Federasyon sürecinin ilk adımı olarak IDP'ye gönderilen bir AuthnRequest oluşturur ve IDP daha sonra bir SAML Yanıtı ile yanıt verir. SAML2.0 Web SSO için IMHO ADFSv2 desteği SP-Init, IDP-Init desteğinden 3. Taraf Fed ürünleriyle yeniden entegrasyondan daha güçlüdür (çoğunlukla RelayState desteği etrafında döner), bu nedenle bir seçeneğiniz varsa SP'yi kullanmak isteyeceksiniz. ADFSv2 ile muhtemelen hayatı kolaylaştıracağı için başlatın.

PingFederate 8.0 Başlangıç ​​Kılavuzundaki bazı basit SSO açıklamaları da yardımcı olabilir - https://documentation.pingidentity.com/pingfederate/pf80/index.shtml#gettingStartedGuide/task/idpInitiatedSsoPOST.html


81

IDP Tarafından Başlatılan SSO

PingFederate belgelerinden: - https://docs.pingidentity.com/bundle/pf_sm_supportedStandards_pf82/page/task/idpInitiatedSsoPOST.html

Bu senaryoda, bir kullanıcı IdP'de oturum açar ve uzak bir SP sunucusundaki bir kaynağa erişmeye çalışır. SAML ifadesi, HTTP POST aracılığıyla SP'ye aktarılır.

İşleme Adımları:

  1. Bir kullanıcı, IdP'de oturum açtı.
  2. Kullanıcı, korumalı bir SP kaynağına erişim ister. Kullanıcı, SP sitesinde oturum açmadı.
  3. İsteğe bağlı olarak, IdP, kullanıcı veri deposundan öznitelikleri alır.
  4. IdP'nin SSO hizmeti, tarayıcıya kimlik doğrulama onayını ve tüm ek özellikleri içeren bir SAML yanıtı içeren bir HTML formu döndürür. Tarayıcı, HTML formunu otomatik olarak SP'ye geri gönderir.

SP Tarafından Başlatılan SSO

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

Bu senaryoda, bir kullanıcı korumalı bir kaynağa oturum açmadan doğrudan bir SP Web sitesinden erişmeye çalışır. Kullanıcının SP sitesinde bir hesabı yoktur, ancak üçüncü taraf bir IdP tarafından yönetilen bir federasyon hesabına sahiptir. SP, IdP'ye bir kimlik doğrulama isteği gönderir. Hem istek hem de döndürülen SAML onayı, kullanıcının tarayıcısı üzerinden HTTP POST yoluyla gönderilir.

İşleme Adımları:

  1. Kullanıcı, korumalı bir SP kaynağına erişim ister. İstek, kimlik doğrulamasını işlemek için federasyon sunucusuna yeniden yönlendirilir.
  2. Federasyon sunucusu, IdP'den kimlik doğrulaması için SAML isteğiyle birlikte tarayıcıya bir HTML formu gönderir. HTML formu, IdP'nin SSO hizmetine otomatik olarak gönderilir.
  3. Kullanıcı IdP sitesinde zaten oturum açmamışsa veya yeniden kimlik doğrulama gerekiyorsa, IdP kimlik bilgilerini (örneğin, kimlik ve şifre) sorar ve kullanıcı oturum açar.
  4. Kullanıcı hakkında ek bilgiler, SAML yanıtına dahil edilmek üzere kullanıcı veri deposundan alınabilir. (Bu özellikler, IdP ve SP arasındaki federasyon anlaşmasının bir parçası olarak önceden belirlenmiştir)

  5. IdP'nin SSO hizmeti, tarayıcıya kimlik doğrulama onayını ve tüm ek öznitelikleri içeren bir SAML yanıtı içeren bir HTML formu döndürür. Tarayıcı, HTML formunu otomatik olarak SP'ye geri gönderir. NOT: SAML spesifikasyonları, POST yanıtlarının dijital olarak imzalanmasını gerektirir.

  6. (Gösterilmiyor) İmza ve iddia geçerliyse, TU kullanıcı için bir oturum kurar ve tarayıcıyı hedef kaynağa yeniden yönlendirir.


1
Re SP Initiated SSO - yukarıdaki 3. nokta "Kullanıcı IdP sitesinde zaten oturum açmamışsa veya yeniden kimlik doğrulama gerekiyorsa, IdP kimlik bilgilerini (ör. Kimlik ve şifre) ister ve kullanıcı oturum açar." Sistem, kullanıcının IdP sitesinde oturum açıp açmadığını nasıl belirler? Örneğin bir çerez oluşturur mu?
Edwardo

1
@Edwardo Varsayımınız doğru. IdP ile bir oturum kurulduğunda, tipik olarak IdP bu oturumu sürdürmek için bir çerez oluşturur.
jekennedy

Başka bir sorum var stackoverflow.com/questions/43861315/… . Bir bakabilir misin?
kawadhiya21

49

SP Tarafından Başlatılan SSO

Kullanıcıyı faturalandır: "Hey Jimmy, bana o raporu göster"

Jimmy the SP: "Hey, henüz kim olduğundan emin değilim. Burada bir sürecimiz var, bu yüzden ilk önce Bob the IdP ile kendinizi doğrulayın. Ona güveniyorum."

Bob the IdP: "Jimmy'nin seni buraya gönderdiğini görüyorum. Lütfen bana kimlik bilgilerinizi verin."

Kullanıcıyı faturalandırın: "Merhaba, ben Bill. İşte kimlik bilgilerim."

Bob the IdP: "Merhaba Bill. Görünüşe göre kontrol ediyorsun."

Bob the IdP: "Hey Jimmy. Bu Bill denen adam onun hakkında bazı ek bilgiler veriyor. Buradan ne istersen onu yap."

Jimmy the SP: "Tamam harika. Görünüşe göre Bill de bilinen misafirler listemizde. Bill'i içeri alacağım."

IdP Tarafından Başlatılan SSO

Kullanıcıyı faturalandırın: "Hey Bob. Jimmy'nin yerine gitmek istiyorum. Güvenlik orada sıkı."

Bob the IdP: "Hey Jimmy. Bill'e güveniyorum. Kontrol ediyor ve işte onun hakkında bazı ek bilgiler. Buradan ne istersen onu yap."

Jimmy the SP: "Tamam harika. Görünüşe göre Bill de bilinen misafirler listemizde. Bill'i içeri alacağım."


Burada daha fazla ayrıntıya giriyorum, ancak yine de işleri basit tutuyorum: https://jorgecolonconsulting.com/saml-sso-in-simple-terms/ .


33
İkinci görüşmenin doğru olduğunu sanmıyorum .... bunun yerine şöyle olmalı: IdP: "Hey, işte Sal hakkında biraz bilgi, lütfen onu içeri al" / SP: "Tamam, sana güveniyorum, izin vereceğim içinde "
Jeff Olson

4
İlk görüşme de doğru değil: İlk adımda SP, henüz hangi kullanıcı olduğunu bilmiyor, sadece IdP'de kullanıcı oturum açacak ve kendisini "Sal" olarak tanımlayacak
Allie

4
İlk görüşme şöyle olmalıdır: SP: "Hey, kimliğin nerede?" IdP: "Bekle, kontrol edeceğim. Lütfen kimliğini görmeme izin ver. Tamam kardeşim onu ​​içeri al, adı Sal ve 21 yaşında (isteğe bağlı olarak)" SP: "Harika dostum, harikasın! Hey sen, içeri gel ! "
Erdal G.

3
Bu cevabın aldığı olumsuz oyları hak etmediğine inanıyorum. Soruyu yaratıcı bir şekilde yanıtlıyor, belki bazılarının işaret ettiği kadar doğru değil, ama yaratıcı bir şekilde cevaplıyor.
Aaron C

2
Doğru cevabı bu formatta görmek ilginç olurdu. Gözlerim, oylanan cevapları okumaktan süzülüyor, bu format genel konsepti çok hızlı bir şekilde kavramaya yardımcı oluyor. Yorumlara dayanarak kendime güvenerek bir cevap oluşturacak kadar bilgim yok.
Sean Connolly
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.