¿Alguien puede explicarme cuáles son las principales diferencias entre SSO iniciado por SP y SSO iniciado por IDP , incluyendo cuál sería la mejor solución para implementar el inicio de sesión único junto con ADFS + OpenAM Federation?
¿Alguien puede explicarme cuáles son las principales diferencias entre SSO iniciado por SP y SSO iniciado por IDP , incluyendo cuál sería la mejor solución para implementar el inicio de sesión único junto con ADFS + OpenAM Federation?
Respuestas:
En IDP Init SSO (SSO web no solicitado), el proceso de federación lo inicia el IDP enviando una respuesta SAML no solicitada al SP. En SP-Init, el SP genera una AuthnRequest que se envía al IDP como primer paso en el proceso de Federación y el IDP luego responde con una Respuesta SAML. En mi humilde opinión, el soporte de ADFSv2 para SAML2.0 Web SSO SP-Init es más fuerte que su soporte de IDP-Init en lo que respecta a: integración con productos Fed de terceros (principalmente en torno al soporte para RelayState), por lo que si tiene una opción, querrá usar SP- Init, ya que probablemente hará la vida más fácil con ADFSv2.
Aquí hay algunas descripciones simples de SSO de la Guía de inicio de PingFederate 8.0 que puede consultar y que también pueden ayudar: https://documentation.pingidentity.com/pingfederate/pf80/index.shtml#gettingStartedGuide/task/idpIniticatedSsoPOST.html
SSO iniciado por IDP
De la documentación de PingFederate: - https://docs.pingidentity.com/bundle/pf_sm_supportedStandards_pf82/page/task/idpIniticatedSsoPOST.html
En este escenario, un usuario inicia sesión en el IdP e intenta acceder a un recurso en un servidor SP remoto. La aserción SAML se transporta al SP a través de HTTP POST.
Pasos de procesamiento:
SSO iniciado por SP
De la documentación de PingFederate: - http://documentation.pingidentity.com/display/PF610/SP-Initiation+SSO--POST-POST
En este escenario, un usuario intenta acceder a un recurso protegido directamente en un sitio web de SP sin iniciar sesión. El usuario no tiene una cuenta en el sitio de SP, pero tiene una cuenta federada administrada por un tercero IdP. El SP envía una solicitud de autenticación al IdP. Tanto la solicitud como la aserción SAML devuelta se envían a través del navegador del usuario a través de HTTP POST.
Pasos de procesamiento:
Se puede recuperar información adicional sobre el usuario del almacén de datos del usuario para incluirla en la respuesta SAML. (Estos atributos están predeterminados como parte del acuerdo de federación entre el IdP y el SP)
El servicio SSO del IdP devuelve un formulario HTML al navegador con una respuesta SAML que contiene la aserción de autenticación y cualquier atributo adicional. El navegador envía automáticamente el formulario HTML al SP. NOTA: Las especificaciones SAML requieren que las respuestas POST estén firmadas digitalmente.
(No se muestra) Si la firma y la afirmación son válidas, el SP establece una sesión para el usuario y redirige el navegador al recurso de destino.
Bill el usuario: "Hola, Jimmy, enséñame ese informe"
Jimmy the SP: "Oye, todavía no estoy seguro de quién eres. Tenemos un proceso aquí, así que primero debes verificarlo con Bob the IdP. Confío en él".
Bob el IdP: "Veo que Jimmy te envió aquí. Por favor, dame tus credenciales".
Bill el usuario: "Hola, soy Bill. Aquí están mis credenciales".
Bob, el IdP: "Hola, Bill. Parece que ya te registraste".
Bob, el IdP: "Hola, Jimmy. Este tipo, Bill, consulta y aquí hay información adicional sobre él. Haz lo que quieras desde aquí".
Jimmy the SP: "Ok, genial. Parece que Bill también está en nuestra lista de invitados conocidos. Dejaré entrar a Bill".
Bill el usuario: "Hola Bob. Quiero ir a la casa de Jimmy. La seguridad es estricta allí".
Bob, el IdP: "Hola, Jimmy. Confío en Bill. Verifica y aquí tienes información adicional sobre él. Haz lo que quieras desde aquí".
Jimmy the SP: "Ok, genial. Parece que Bill también está en nuestra lista de invitados conocidos. Dejaré entrar a Bill".
Entro en más detalles aquí, pero sigo manteniendo las cosas simples: https://jorgecolonconsulting.com/saml-sso-in-simple-terms/ .