Acerca de la migración de LDAP a SAML y SCIM
Si la instancia de GitHub Enterprise Server usa actualmente la autenticación LDAP, puede migrar al inicio de sesión único (SSO) de SAML con el aprovisionamiento de SCIM para mejorar las funcionalidades de administración del ciclo de vida de los usuarios. Esta migración permite aprovisionar, actualizar y desaprovisionar automáticamente las cuentas de usuario del proveedor de identidades (IdP).
Nota:
Puedes usar SAML o LDAP, pero no ambos.
**Requisitos previos:**
- Debe ser un administrador del sitio en GitHub Enterprise Server.
- Debe tener acceso administrativo a su proveedor de identidades SAML.
- El IdP debe admitir los protocolos SAML 2.0 y SCIM 2.0.
- Debe completar una copia de seguridad de la instancia antes de comenzar la migración.
El aprovisionamiento de SCIM requiere la autenticación SAML como requisito previo, por lo que esta migración implica cuatro fases distintas:
-
**Migración a la autenticación SAML**: Reemplace LDAP por SAML SSO. -
**Prueba y comprobación de SAML**: confirme que la autenticación funciona y los usuarios se vinculan correctamente. -
**Habilitar el aprovisionamiento de SCIM**: agregue funcionalidades automatizadas de administración de usuarios. -
**Prueba y verificación de SCIM**: Confirme que el aprovisionamiento vincula las identidades a las cuentas existentes.
Este documento asume que usted está familiarizado con la autenticación SAML y el aprovisionamiento de SCIM. Para obtener más información sobre estos temas, consulte Configurar el inicio de sesión único de SAML para tu empresa y Acerca del aprovisionamiento de usuarios con SCIM en GitHub Enterprise Server.
1. Descripción de los patrones de creación de usuarios ldap frente a SCIM
Antes de comenzar la migración, es importante comprender las diferencias clave entre cómo LDAP y SCIM controlan la administración de usuarios en GitHub Enterprise Server.
| Atributo | LDAP (Protocolo Ligero de Acceso a Directorios) | SCIM |
|---|
**Configuración del dispositivo** | Configure el atributo de identificador de usuario (valor predeterminado `uid`) y otras opciones de LDAP en la consola de administración. Esta configuración determina cómo asignar correspondencias entre usuarios de LDAP y usuarios de GitHub. Para obtener más información sobre cómo configurar LDAP, consulte [AUTOTITLE](/admin/managing-iam/using-ldap-for-enterprise-iam/using-ldap#ldap-attributes). | Habilite primero la autenticación SAML y, a continuación, configure el aprovisionamiento de SCIM con un token de autenticación. |
|
Tiempo de creación de usuarios | Just-In-Time: los usuarios se crean en el primer inicio de sesión después de la autenticación LDAP correcta. | Autenticación previa: los usuarios deben aprovisionarse mediante SCIM antes de poder autenticarse. |
|
Origen inicial del nombre de usuario | GitHub nombre de usuario se basa en el identificador LDAP normalizado configurado durante la instalación. | El nombre de usuario de GitHub se basa en el valor normalizado de SCIM userName de su IdP. |
|
Administración de nombres de usuario | Flexible: los administradores pueden cambiar GitHub nombres de usuario independientemente de LDAP. Los nombres de usuario pueden ser diferentes de los identificadores LDAP a lo largo del tiempo mientras se mantiene la autenticación a través de asignaciones LDAP. Consulta Referencia de nombre de usuario. | Estricto: los nombres de usuario de GitHub siempre se corresponden con el userName de SCIM normalizado de su IdP. No se permiten cambios de nombre de usuario en el lado de GitHub. |
|
Control de atributos de usuario | Híbrido: algunos atributos administrados por LDAP, otros se pueden administrar en el dispositivo. | Control idP completo: todos los atributos de usuario se administran a través de actualizaciones SCIM desde el IdP. |
|
Flujo de autenticación | GitHub Enterprise Server se autentica con su servidor LDAP y consulta la asignación LDAP existente para encontrar al usuario. | Durante el inicio de sesión único de SAML, se realiza una consulta de identidad externa para localizar al usuario aprovisionado para la autenticación. |
|
Característica clave | Sistema híbrido donde los datos de los usuarios de GitHub (especialmente los nombres de usuario) pueden gestionarse parcialmente en el dispositivo, independientemente del servidor LDAP. | Control total del proveedor de identidades: el estado de los usuarios de GitHub depende completamente de lo que envía el IdP a través de SCIM, y los nombres de usuario no pueden cambiar con respecto al sistema de origen. |
Normalización y compatibilidad del nombre de usuario
GitHub Enterprise Server normaliza los nombres de usuario según reglas específicas que se aplican consistentemente en LDAP, SAML y SCIM. Comprender estas reglas es fundamental para una migración correcta.
Para obtener más información sobre la normalización del nombre de usuario, consulte Consideraciones sobre el nombre de usuario para la autenticación externa.
2. Planear la migración
Antes de comenzar la migración, debe comprender su configuración actual, preparar el proveedor de identidad y establecer métodos de acceso alternativos. La fase de planificación es fundamental para garantizar una transición sin problemas.
Preparación para mapear de LDAP a SCIM
El desafío crítico para la migración es el puente entre los enfoques de administración de usuarios LDAP y SCIM:
**Usuarios LDAP (estado existente):**:
-
Tener nombres de usuario de GitHub que pueden haber cambiado desde la creación inicial
-
Conservan la capacidad de autenticación a través de asignaciones LDAP independientemente de los cambios de nombre de usuario
**Usuarios de SCIM (estado de destino):**: -
Debe aprovisionarse antes de la autenticación.
-
Deben tener nombres de usuario de GitHub que coincidan con sus valores de SCIM normalizados
userName. -
Se puede vincular a una identidad externa con su cuenta de GitHub existente durante el aprovisionamiento de usuarios de SCIM, pero solo si el SCIM normalizado
userNamecoincide con su nombre de usuario de GitHub existente.
Requisitos de mapeo de migración
Para vincular correctamente las identidades sciM a los usuarios LDAP existentes, deberá capturar el estado actual de los usuarios en la instancia:
-
**Exportar nombres de usuario GitHub existentes**: use la interfaz de administración del sitio, la API o la CLI para obtener una lista completa de los nombres de usuario de GitHub actuales en la instancia. Para obtener más información sobre la API de usuarios, consulte [AUTOTITLE](/rest/users/users?apiVersion=2022-11-28#list-users). Para obtener más información sobre la utilidad de línea de comandos para exportar usuarios, vea [AUTOTITLE](/admin/administering-your-instance/administering-your-instance-from-the-command-line/command-line-utilities#ghe-user-csv). -
**Asigne nombres de usuario de GitHub a usuarios reales en su IdP**: Determine qué identidades corresponden a cada nombre de usuario de GitHub de su empresa. -
**Configurar el atributo SCIM `userName`**: Asegúrese de que el IdP aprovisiona usuarios de SCIM con valores de `userName` que coincidan con los nombres de usuario de GitHub existentes que desea vincular. **Importante**: el destino de la asignación es siempre el **nombre de usuario de GitHub actual** en la instancia, no el identificador de usuario LDAP original ni ningún otro identificador.
Consideraciones clave de planeación
**Consideraciones importantes:**
* Tiempo de inactividad necesario: esta migración requiere tiempo de inactividad durante una ventana de mantenimiento para cambiar la configuración de autenticación. * Impacto en el usuario: después de la migración, los usuarios tendrán que autenticarse a través del IdP de SAML en lugar de las credenciales LDAP. * Pertenencia al equipo: la sincronización de equipos LDAP se reemplazará por el aprovisionamiento de grupos de SCIM si es compatible con su IdP. Los equipos mapeados por LDAP deberán actualizarse con un grupo SCIM adecuado cuando corresponda.
Captura del estado de la configuración de LDAP
Registre la configuración de LDAP actual para planear asignaciones de SAML/SCIM equivalentes:
- Desde una cuenta administrativa de GitHub Enterprise Server, en la esquina superior derecha de cualquier página, haz clic en .
- Si todavía no está en la página "Administrador del sitio", en la esquina superior izquierda, haga clic en Administrador del sitio.
- En la barra lateral " Site admin", haz clic en Consola de administración.
- En la barra lateral "Configuración", haga clic en Autenticación.
- Documente la siguiente configuración de LDAP:
- Grupos de usuarios restringidos y base de dominio
- atributo User ID (se usó para crear nombres de usuario de GitHub)
-
**Nombre de perfil, correo electrónico y otras asignaciones de atributos** -
**Configuración del grupo administradores** -
**Configuración de sincronización de equipos**
- Asegúrese de que ha guardado una lista de los usuarios existentes en la instancia que va a vincular a una identidad SCIM.
3. Migración a SAML y SCIM
Una vez que haya completado la planeación, puede empezar a migrar de LDAP a la autenticación SAML. Esto implica configurar SAML en el proveedor de identidades y GitHub Enterprise Server, y después, probar cuidadosamente la configuración antes de continuar con SCIM.
**Importante**: Al configurar SAML, habilite "Permitir la creación de cuentas con autenticación integrada" para reducir el número de pasos necesarios al habilitar SCIM.
Habilitación de la autenticación SAML
Para ver los pasos detallados de configuración de SAML, consulte Configurar el inicio de sesión único de SAML para tu empresa.
Después de habilitar SAML, pruebe el sistema de autenticación antes de continuar con SCIM. Con cualquier cuenta de IdP asignada a la aplicación SAML configurada en la instancia, compruebe que puede realizar correctamente un inicio de sesión único.
**No continúe con SCIM hasta que la autenticación SAML funcione correctamente.**
Habilitar el aprovisionamiento de SCIM
Después de confirmar que la autenticación SAML funciona correctamente, puede habilitar SCIM para la administración automatizada de usuarios. SCIM debe configurarse tanto en GitHub Enterprise Server como en el proveedor de identidades.
Para obtener pasos detallados para habilitar SCIM, consulte Configuración del aprovisionamiento de SCIM para administrar usuarios.
Prueba del aprovisionamiento de SCIM
Pruebe el aprovisionamiento de SCIM para asegurarse de que los usuarios aprovisionados de SCIM están vinculados correctamente a las cuentas de usuario existentes.
Para los usuarios que ya tienen cuentas de la migración LDAP/SAML:
-
**Asigne un usuario a la aplicación SCIM** en el IdP. -
**Comprobar la vinculación automática**: compruebe que SCIM se vincula automáticamente a la cuenta existente:- Los usuarios conservan los mismos datos de nombre de usuario y cuenta
- No se crean cuentas duplicadas
- La identidad de SCIM aparece como vinculada en la configuración empresarial y en las interfaces del administrador del sitio. Para más información, consulta Visualizar y administrar el acceso de SAML de un usuario a tu empresa.
-
**Revisar los registros de auditoría**: busque eventos `external_identity.scim_api_success` y `external_identity.provision` que muestren una vinculación correcta a los usuarios existentes.
Para los nuevos usuarios que no estaban anteriormente en la instancia:
-
**Comprobar la creación del usuario**: Compruebe que el usuario aparece en GitHub Enterprise Server con los atributos correctos. -
**Autenticación de prueba**: confirme que el nuevo usuario se puede autenticar a través de SAML. -
**Actualizaciones de atributos de prueba**: actualice la información del usuario en IdP y confirme la sincronización de cambios. -
**Prueba de desaprovisionamiento**: quite el acceso de los usuarios y confirme que estos están suspendidos.
Implementación de SCIM en todos los usuarios
Para todos los usuarios restantes que aún no están aprovisionados a través de SCIM:
-
**Asigne usuarios gradualmente** a la aplicación GitHub Enterprise Server en su IdP. -
**Supervisar el proceso de vinculación**: observe si la vinculación automática se realiza correctamente en función de la coincidencia de nombres de usuario. -
**Seguimiento del progreso**: use los registros de auditoría para supervisar los eventos para vincular `external_identity` el progreso. -
**Solucionar cualquier conflicto**: resolver los conflictos de nombre de usuario o los problemas de asignación a medida que surjan.
4. Actualizar la pertenencia al equipo y a la organización
Después de la migración, si usó anteriormente la sincronización de grupos LDAP para controlar las pertenencias al equipo, podrá reemplazar esos mapeos de equipo por grupos SCIM. Si reutiliza un equipo existente, deberá quitar todos los miembros del equipo antes de vincular un grupo de IdP.
Para más información, consulta Administrar membrecías de equipo con grupos de proveedor de identidad.