Saltar al contenido

Configurar App Builder como proveedor de identidad en Jitterbit App Builder

App Builder puede funcionar tanto como proveedor de servicios SAML (SP) como proveedor de identidad SAML (IdP). Esto permite que una instancia de Vinyl (el IdP) autentique usuarios en nombre de otra instancia (el SP).

Hay cuatro tareas principales involucradas:

  1. Generar un certificado de firma.
  2. Crear un proveedor de seguridad SAML IdP.
  3. Crear un proveedor de seguridad SAML SP.
  4. Hacer pruebas

Estas instrucciones asumen lo siguiente:

  1. Tienes al menos dos instancias de App Builder.
  2. Tienes acceso de administrador en cada instancia de App Builder.

Las instrucciones a continuación harán referencia a las siguientes propiedades:

Ejemplo Notas
URL de App Builder IdP https://idp.example.com/Vinyl/ La URL raíz de la aplicación de la instancia de App Builder que funciona como IdP. Incluye la barra diagonal final.
URL de App Builder SP https://sp.example.com/Vinyl/ La URL raíz de la aplicación de la instancia de App Builder que funciona como SP. Incluye la barra diagonal final.
Nombre del proveedor de seguridad IdP VinylIdP A cada proveedor de seguridad de App Builder se le asigna un nombre lógico. Este nombre se usa en el Punto de conexión de redirección de solicitud (consulta abajo).
Nombre del proveedor de seguridad SP VinylSP A cada proveedor de seguridad de App Builder se le asigna un nombre lógico. Este nombre se usa en la URL del Servicio de consumidor de aserciones (ACS) (consulta abajo). Este es el nombre que los usuarios verán en el formulario de inicio de sesión.
Punto de conexión de redirección de solicitud https://idp.example.com/Vinyl/signin-VinylIdP App Builder provisiona automáticamente un punto de conexión de redirección de solicitud para proveedores de seguridad SAML IdP. Ten en cuenta que el nombre del proveedor de seguridad IdP (de arriba) aparece en el punto de conexión de redirección de solicitud.
URL del Servicio de consumidor de aserciones https://sp.example.com/Vinyl/signin-VinylSP App Builder provisiona automáticamente un punto de conexión del Servicio de consumidor de aserciones (ACS) para proveedores de seguridad SAML SP. Ten en cuenta que el nombre del proveedor de seguridad SP aparece en el punto de conexión ACS.

Generar un certificado de firma

En SAML de inicio de sesión único (SSO), la confianza se establece por medio de certificados de firma. El proceso para obtener un certificado está fuera del alcance de este documento. Sin embargo, con propósitos ilustrativos, los siguientes comandos demuestran cómo generar un certificado compatible usando la utilidad de línea de comandos OpenSSL.

El siguiente comando genera una clave privada codificada en PEM (key.pem) y un certificado autofirmado (cert.pem):

$ openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -nodes -days 1095 -subj "/CN=idp.example.com/O=App BuilderIdP"

Necesitarás el contenido del archivo cert.pem para configurar el proveedor de seguridad SP de App Builder.

El siguiente comando genera un archivo PKCS#12 (cert.pfx) que contiene tanto la clave privada como el certificado:

$ openssl pkcs12 -export -in cert.pem -inkey key.pem -out cert.pfx

Se te pedirá que proporciones una contraseña. Necesitarás la contraseña para configurar el proveedor de seguridad IdP de App Builder.

Finalmente, el siguiente comando codifica en base64 el archivo PKCS#12:

$ openssl base64 -in cert.pfx -out cert.txt -A

Necesitarás el contenido del archivo cert.txt para configurar el proveedor de seguridad IdP de App Builder.

Crear un proveedor de seguridad SAML IdP

Para crear un proveedor de seguridad SAML IdP, comienza iniciando sesión en la instancia de App Builder que funcionará como IdP.

  1. Navega al IDE
  2. Haz clic en el botón Security Providers
  3. Haz clic en el botón + Security Provider
  4. Proporciona lo siguiente:

    • Name: Nombre del proveedor de seguridad IdP, por ejemplo VinylIdP
    • Type: SAML Identity Provider
  5. Haz clic en el botón Save

  6. En el panel Properties, haz clic en el botón + Property para agregar cada una de las siguientes propiedades:

    • AssertionConsumerService: URL del servicio de consumidor de aserciones, por ejemplo https://sp.example.com/Vinyl/signin-VinylSP.
    • Audience: URL de App Builder SP, por ejemplo https://sp.example.com/Vinyl/.
    • Issuer: URL de App Builder IdP, por ejemplo https://idp.example.com/Vinyl/.
    • Recipient: URL del servicio de consumidor de aserciones, por ejemplo https://sp.example.com/Vinyl/signin-VinylSP.
    • SigningCertificate: archivo PKCS#12 codificado en base64 (consulta Generar un certificado de firma).
    • SigningCertificatePassword: Contraseña del certificado de firma (consulta Generar un certificado de firma).
  7. En el panel Claims, haz clic en el botón + Claim para mapear cada una de las siguientes propiedades:

    • Name: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
    • Group: http://schemas.xmlsoap.org/claims/Group
  8. En el panel Provider, haz clic en el botón Edit

  9. Marca la opción Enabled
  10. Haz clic en el botón Save

Los pasos anteriores incluyen un reclamo de grupo. El reclamo de grupo se utiliza para pasar la pertenencia al grupo al SP. Sin embargo, los grupos no se pasan de forma predeterminada. Para pasar un grupo, debes agregarlo al proveedor de seguridad IdP. Por ejemplo:

  1. Navega al IDE
  2. Haz clic en el botón User Management
  3. Haz clic en el botón Identities
  4. Selecciona el proveedor de seguridad IdP, por ejemplo VinylIdP
  5. En el panel Provider Groups, haz clic en el botón + Group
  6. Proporciona un Name, por ejemplo Administrators
  7. Selecciona el Group, por ejemplo Administrators
  8. Haz clic en el botón Save

Crear un proveedor de seguridad SAML SP

Para crear un proveedor de seguridad SAML SP, comienza iniciando sesión en la instancia de App Builder que funcionará como SP.

  1. Navega al IDE
  2. Haz clic en el botón Security Providers
  3. Haz clic en el botón + Security Provider
  4. Proporciona lo siguiente:

    • Name: Nombre del proveedor de seguridad SP, por ejemplo VinylSP.
    • Type: SAML
    • User Provisioning: Marca para habilitar el aprovisionamiento de usuarios.
    • Show On Login Form: Marca para mostrar el proveedor de autenticación en el formulario de inicio de sesión.
  5. Haz clic en el botón Save

  6. En el panel Properties, haz clic en el botón + Property para agregar cada una de las siguientes propiedades:

    • Audience: URL de App Builder SP, por ejemplo https://sp.example.com/Vinyl/.
    • Issuer: URL de App Builder IdP, por ejemplo https://idp.example.com/Vinyl/.
    • Recipient: URL del servicio de consumidor de aserciones, por ejemplo https://sp.example.com/Vinyl/signin-VinylSP.
    • RequestRedirectEndpoint: Punto final de redirección de solicitud, por ejemplo https://idp.example.com/Vinyl/signin-VinylIdP.
    • SigningCertificate: Certificado codificado en PEM (consulta Generar un certificado de firma).
  7. En el panel Claims, haz clic en el botón + Claim para mapear cada una de las siguientes propiedades:

    • Name: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
    • Group: http://schemas.xmlsoap.org/claims/Group
  8. En el panel Provider, haz clic en el botón Edit

  9. Marca la opción Enabled
  10. Haz clic en el botón Save

Los pasos anteriores incluyen un reclamo de grupo. El reclamo de grupo se utiliza para mapear reclamos a grupos del proveedor de seguridad. Sin embargo, los grupos del proveedor de seguridad no se asignan a grupos de seguridad de App Builder de forma predeterminada. Para mapear un grupo del proveedor de seguridad a un grupo de seguridad de App Builder:

  1. Navega al IDE
  2. Haz clic en el botón User Management
  3. Haz clic en el botón Identities
  4. Selecciona el proveedor de seguridad SP, por ejemplo VinylSP
  5. En el panel Provider Groups, haz clic en el botón + Group
  6. Proporciona un Name, por ejemplo Administrators
  7. Selecciona el Group, por ejemplo Administrators
  8. Haz clic en el botón Save

Prueba

Para probar, comienza abriendo un navegador en modo Incógnito/Privado.

  1. Navega a la URL de App Builder SP, por ejemplo https://sp.example.com/Vinyl/.
  2. En el formulario de inicio de sesión, haz clic en la opción para iniciar sesión con App Builder SP, por ejemplo VinylSP. Se te redirigirá al formulario de inicio de sesión de App Builder IdP.
  3. Inicia sesión en la instancia de App Builder IdP. Se te redirigirá nuevamente a App Builder SP.

Si la prueba fue exitosa, habrás iniciado sesión en la instancia de App Builder SP.

Solución de problemas

Opción "iniciar sesión con..." faltante en el formulario de inicio de sesión

Si la opción "Iniciar sesión con..." falta en el formulario de inicio de sesión, el proveedor de seguridad de App Builder SP no está habilitado o la opción Mostrar en formulario de inicio de sesión no fue marcada.

Error 404 no encontrado después de hacer clic en "iniciar sesión con..."

Si recibes un error 404 Not Found después de hacer clic en el botón "Iniciar sesión con..." en el formulario de inicio de sesión, esto puede indicar que el proveedor de seguridad de App Builder IdP no está habilitado, tiene un nombre incorrecto o está configurado incorrectamente. Para evitar interrupciones en el servicio, App Builder deshabilitará el proveedor de seguridad en tiempo de ejecución si detecta una configuración incorrecta.