Saltar al contenido

Configurando App Builder como un proveedor de identidad en Jitterbit App Builder

App Builder puede funcionar tanto como un Proveedor de Servicios SAML (SP) como un Proveedor de Identidad SAML (IdP). Esto permite que una instancia de Viny (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. Probar

Estas instrucciones hacen las siguientes suposiciones:

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

Las instrucciones a continuación se referirán a las siguientes propiedades:

Ejemplo Notas
URL del IdP de App Builder https://idp.example.com/Vinyl/ La URL raíz de la aplicación de la instancia de App Builder que actúa como el IdP. Incluye la barra diagonal final.
URL del SP de App Builder https://sp.example.com/Vinyl/ La URL raíz de la aplicación de la instancia de App Builder que actúa como el 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 utiliza en el Endpoint de Redirección de Solicitud (ver más 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 utiliza en la URL del Servicio de Consumidor de Afirmaciones (ACS) (ver más abajo). Este es el nombre que los usuarios verán en el formulario de inicio de sesión.
Endpoint de Redirección de Solicitud https://idp.example.com/Vinyl/signin-VinylIdP App Builder provisiona automáticamente un Endpoint 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 Endpoint de Redirección de Solicitud.
URL del Servicio de Consumidor de Afirmaciones https://sp.example.com/Vinyl/signin-VinylSP App Builder provisiona automáticamente un endpoint de Servicio de Consumidor de Afirmaciones (ACS) para proveedores de seguridad SAML SP. Ten en cuenta que el Nombre del Proveedor de Seguridad SP aparece en el endpoint ACS.

Generar un certificado de firma

En SAML Single Sign-On (SSO), la confianza se establece a través de certificados de firma. El proceso para adquirir un certificado está fuera del alcance de este documento. Sin embargo, a modo de ilustración, los siguientes comandos demuestran cómo generar un certificado compatible utilizando 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 App Builder SP.

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 App Builder IdP.

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 App Builder IdP.

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 servirá como el IdP.

  1. Navega a la IDE
  2. Haz clic en el botón Proveedores de Seguridad
  3. En el panel de Autenticación de Usuarios, haz clic en el botón + Autenticación de Usuarios
  4. Proporciona lo siguiente:

    • Nombre: Nombre del Proveedor de Seguridad IdP, por ejemplo, VinylIdP
    • Tipo: Proveedor de Identidad SAML
  5. Haz clic en el botón Guardar

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

    • AssertionConsumerService: URL del Servicio de Consumo de Afirmaciones, por ejemplo, https://sp.example.com/Vinyl/signin-VinylSP.
    • Audience: URL del App Builder SP, por ejemplo, https://sp.example.com/Vinyl/.
    • Issuer: URL del App Builder IdP, por ejemplo, https://idp.example.com/Vinyl/.
    • Recipient: URL del Servicio de Consumo de Afirmaciones, por ejemplo, https://sp.example.com/Vinyl/signin-VinylSP.
    • SigningCertificate: archivo PKCS#12 codificado en base64 (ver Generar un Certificado de Firma).
    • SigningCertificatePassword: contraseña del certificado de firma (ver Generar un Certificado de Firma).
  7. En el panel de 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 de 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 membresía del grupo al SP. Sin embargo, los grupos no se pasan por defecto. Para pasar un grupo, debes agregarlo al proveedor de seguridad del IdP. Por ejemplo:

  1. Navega a la IDE
  2. Haz clic en el botón User Management
  3. Haz clic en el botón Identities
  4. Selecciona el proveedor de seguridad del IdP, por ejemplo, VinylIdP
  5. En el panel de 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 servirá como el SP.

  1. Navega a la IDE
  2. Haz clic en el botón Security Providers
  3. En el panel de User Authentication, haz clic en el botón + User Authentication
  4. Proporciona lo siguiente:

    • Name: Nombre del Proveedor de Seguridad SP, por ejemplo, VinylSP.
    • Type: SAML
    • User Provisioning: Marca para habilitar la provisión 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 de Properties, haz clic en el botón + Property para agregar cada una de las siguientes propiedades:

    • Audience: URL del SP de App Builder, por ejemplo, https://sp.example.com/Vinyl/.
    • Issuer: URL del IdP de App Builder, por ejemplo, https://idp.example.com/Vinyl/.
    • Recipient: URL del Servicio de Consumidor de Afirmaciones, por ejemplo, https://sp.example.com/Vinyl/signin-VinylSP.
    • RequestRedirectEndpoint: Endpoint de Redirección de Solicitud, por ejemplo, https://idp.example.com/Vinyl/signin-VinylIdP.
    • SigningCertificate: Certificado codificado en PEM (ver Generar un Certificado de Firma).
  7. En el panel de 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 de 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 de proveedores de seguridad. Sin embargo, los grupos de proveedores de seguridad no se mapean a los grupos de seguridad de App Builder por defecto. Para mapear un grupo de 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 de 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

Test

Para probar, comienza lanzando un navegador en modo Incognito/Privado.

  1. Navega a la URL del SP de App Builder, 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 el SP de App Builder, por ejemplo, VinylSP. Serás redirigido al formulario de inicio de sesión del IdP de App Builder.
  3. Inicia sesión en la instancia del IdP de App Builder. Serás redirigido de vuelta a la instancia del SP de App Builder.

Si la prueba fue exitosa, estarás conectado a la instancia del SP de App Builder.

Troubleshooting

"sign in with..." opción faltante en el formulario de inicio de sesión

Si falta la opción "Sign in with..." en el formulario de inicio de sesión, el proveedor de seguridad del SP de App Builder no está habilitado o la opción Show On Login Form no fue marcada.

Error 404 no encontrado después de hacer clic en "sign in with..."

Si recibes un error 404 Not Found después de hacer clic en el botón "Sign in with..." en el formulario de inicio de sesión, esto puede indicar que el Proveedor de Seguridad del IdP de App Builder no está habilitado, está mal nombrado o está configurado incorrectamente. Para prevenir interrupciones en el servicio, App Builder deshabilitará el proveedor de seguridad en tiempo de ejecución si detecta una mala configuración.