Saltar al contenido

Configurar Vinyl Como Proveedor de Identidad

Vinyl puede actuar como proveedor de servicios (SP) SAML y como proveedor de identidad (IdP) SAML. Esto permite que una instancia de Viny (el IdP) autentique a los usuarios en nombre de otra instancia (el SP).

Hay cuatro tareas principales involucradas:

  1. Genere un certificado de firma.
  2. Cree un proveedor de seguridad de IdP de SAML.
  3. Cree un proveedor de seguridad SAML SP.
  4. Prueba

Estas instrucciones parten de las siguientes suposiciones:

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

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

Ejemplo Notas
URL de proveedor de identidad de Vinyl https://idp.example.com/Vinyl/ La URL raíz de la aplicación de la instancia de Vinyl que actúa como IdP. Incluye la barra diagonal final.
URL del SP de Vinyl https://sp.example.com/Vinyl/ La URL raíz de la aplicación de la instancia de Vinyl que actúa como SP. Incluye la barra diagonal final.
Nombre del proveedor de seguridad de IdP VinylIdP Cada proveedor de seguridad de Vinyl recibe un nombre lógico. Este nombre se utiliza en el Extremo de redireccionamiento de solicitud (ver más abajo).
Nombre del proveedor de seguridad del SP VinylSP Cada proveedor de seguridad de Vinyl recibe un nombre lógico. Este nombre se utiliza en la URL del Assertion Consumer Service (ACS) (ver más abajo). Este es el nombre que los usuarios verán en el formulario de inicio de sesión.
Solicitar Extremo de redireccionamiento https://idp.example.com/Vinyl/signin-VinylIdP Vinyl aprovisiona automáticamente un Extremo de redireccionamiento de solicitud para los proveedores de seguridad de IdP de SAML. Tenga en cuenta que el nombre del proveedor de seguridad de IdP (arriba) aparece en el Extremo de redireccionamiento de solicitud.
URL del servicio al consumidor de aserciones https://sp.example.com/Vinyl/signin-VinylSP Vinyl aprovisiona automáticamente un extremo de Assertion Consumer Service (ACS) para los proveedores de seguridad SAML SP. Tenga en cuenta que el nombre del proveedor de seguridad del SP aparece en el extremo ACS.

Generar un Certificado de Firma

En SAML Single Sign-On (SSO), la confianza se establece mediante la firma de certificados. El proceso para adquirir un certificado está fuera del alcance de este documento. Sin embargo, con fines ilustrativos, 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 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=VinylIdP"

Necesitará el contenido del cert.pem archivo para configurar el proveedor de seguridad de Vinyl 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 le pedirá que proporcione una contraseña. Necesitará la contraseña para configurar el proveedor de seguridad de Vinyl IdP.

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

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

Necesitará el contenido del cert.txt archivo para configurar el proveedor de seguridad de Vinyl IdP.

Crear un Proveedor de Seguridad de IdP SAML

Para crear un proveedor de seguridad de IdP de SAML, comience iniciando sesión en la instancia de Vinyl que actuará como IdP.

  1. Navegue hasta IDE
  2. Haga clic en el botón Proveedores de seguridad
  3. En el panel Autenticación de usuario, haga clic en el botón + Autenticación de usuario
  4. Proporcione lo siguiente:

    • Nombre: Nombre del proveedor de seguridad de IdP, por ejemplo VinylIdP
    • Tipo: Proveedor de identidad SAML
  5. Haga clic en el botón Guardar

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

    • AssertionConsumerService: URL del servicio al consumidor de aserciones, por ejemplo https://sp.example.com/Vinyl/signin-VinylSP.
    • Audiencia: URL de SP de Vinyl, por ejemplo https://sp.example.com/Vinyl/.
    • Emisor: URL de IdP de Vinyl, por ejemplo https://idp.example.com/Vinyl/.
    • Destinatario: URL del servicio al consumidor de aserción, por ejemplo https://sp.example.com/Vinyl/signin-VinylSP.
    • SigningCertificate: archivo PKCS#12 codificado en base64 (consulte Generar un certificado de firma).
    • SigningCertificatePassword: Contraseña del certificado de firma (consulte Generar un certificado de firma).
  7. En el panel Reclamaciones, haga clic en el botón + Reclamación para asignar cada una de las siguientes propiedades:

    • Nombre: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
    • Grupo: http://schemas.xmlsoap.org/claims/Group
  8. En el panel Proveedor, haga clic en el botón Editar.

  9. Marque la opción Habilitado
  10. Haga clic en el botón Guardar

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

  1. Navegue hasta IDE
  2. Haga clic en el botón Administración de usuarios
  3. Haga clic en el botón Identidades
  4. Seleccione el proveedor de seguridad IdP, p. VinylIdP
  5. En el panel Grupos de proveedores, haga clic en el botón + Grupo
  6. Proporcione un Nombre, p. Administrators
  7. Seleccione el Grupo, p.e. Administrators
  8. Haga clic en el botón Guardar

Crear un Proveedor de Seguridad SAML SP

Para crear un proveedor de seguridad SAML SP, comience iniciando sesión en la instancia de Vinyl que actuará como SP.

  1. Navegue hasta IDE
  2. Haga clic en el botón Proveedores de seguridad
  3. En el panel Autenticación de usuario, haga clic en el botón + Autenticación de usuario
  4. Proporcione lo siguiente:

    • Nombre: Nombre del proveedor de seguridad del SP, por ejemplo VinylSP.
    • Tipo: SAML
    • Aprovisionamiento de usuarios: marque para habilitar el aprovisionamiento de usuarios.
    • Mostrar en el formulario de inicio de sesión: marque para mostrar el proveedor de autenticación en el formulario de inicio de sesión.
  5. Haga clic en el botón Guardar

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

    • Audiencia: URL de SP de Vinyl, por ejemplo https://sp.example.com/Vinyl/.
    • Emisor: URL de IdP de Vinyl, por ejemplo https://idp.example.com/Vinyl/.
    • Destinatario: URL del servicio al consumidor de aserción, por ejemplo https://sp.example.com/Vinyl/signin-VinylSP.
    • RequestRedirectEndpoint: Solicitar Extremo de redireccionamiento, por ejemplo https://idp.example.com/Vinyl/signin-VinylIdP.
    • SigningCertificate: certificado codificado en PEM (consulte Generar un certificado de firma).
  7. En el panel Reclamaciones, haga clic en el botón + Reclamación para asignar cada una de las siguientes propiedades:

    • Nombre: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
    • Grupo: http://schemas.xmlsoap.org/claims/Group
  8. En el panel Proveedor, haga clic en el botón Editar.

  9. Marque la opción Habilitado
  10. Haga clic en el botón Guardar

Los pasos anteriores incluyen un reclamo grupal. La notificación de grupo se utiliza para asignar notificaciones a grupos de proveedores de seguridad. Sin embargo, los grupos de proveedores de seguridad no están asignados a grupos de seguridad de Vinyl de forma predeterminada. Para asignar un grupo de proveedores de seguridad a un grupo de seguridad de Vinyl:

  1. Navegue hasta IDE
  2. Haga clic en el botón Administración de usuarios
  3. Haga clic en el botón Identidades
  4. Seleccione el proveedor de seguridad SP, p.e. VinylSP
  5. En el panel Grupos de proveedores, haga clic en el botón + Grupo
  6. Proporcione un Nombre, p. Administrators
  7. Seleccione el Grupo, p.e. Administrators
  8. Haga clic en el botón Guardar

Prueba

Para probar, comience iniciando un navegador en modo incógnito/privado.

  1. Navegue hasta la URL de Vinyl SP, por ejemplo https://sp.example.com/Vinyl/.
  2. En el formulario de inicio de sesión, haga clic en la opción para iniciar sesión con Vinyl SP, p. VinylSP. Serás redirigido al formulario de inicio de sesión de Vinyl IdP.
  3. Inicie sesión en la instancia de Vinyl IdP. Serás redirigido nuevamente al Vinyl SP.

Si la prueba fue exitosa, iniciará sesión en la instancia de Vinyl SP.

Solución de Problemas

Falta la Opción "iniciar Sesión Con..." en el Formulario de Inicio de Sesión

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

Error 404 No Encontrado Después de Hacer Clic en "iniciar Sesión Con..."

Si recibes un 404 Not Found error 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 Vinyl IdP no está habilitado, tiene un nombre incorrecto o está configurado incorrectamente. Para evitar interrupciones en el servicio, Vinyl desactivará el proveedor de seguridad en tiempo de ejecución si detecta una configuración incorrecta.