Frecuentemente publicamos actualizaciones de nuestra documentación. Es posible que la traducción de esta página esté en curso. Para conocer la información más actual, visita la documentación en inglés. Si existe un problema con las traducciones en esta página, por favor infórmanos.

Esta versión de GitHub Enterprise se discontinuó el 2021-03-02. No se realizarán lanzamientos de patch, ni siquiera para problemas de seguridad críticos. Para obtener un mejor desempeño, más seguridad y nuevas características, actualiza a la última versión de GitHub Enterprise. Para obtener ayuda con la actualización, contacta al soporte de GitHub Enterprise.

Usar LDAP

LDAP te permite autenticar el Servidor de GitHub Enterprise en tus cuentas existentes y administrar de manera centralizada el acceso a los repositorios. LDAP es un protocolo de aplicación popular para acceder a servicios de información de directorios y mantenerlos, y uno de los protocolos más comunes que se usan para integrar software de terceros con directorios de usuarios de empresas grandes.

En este artículo

Si quieres autenticar usuarios sin agregarlos a tu proveedor de identidad, puedes configurar la autenticación integrada. Para obtener más información, consulta "Permitir autenticación integrada para usuarios fuera de tu proveedor de identidad".

Servicios LDAP admitidos

El Servidor de GitHub Enterprise se integra con los siguientes servicios LDAP:

  • Active Directory
  • FreeIPA
  • Oracle Directory Server Enterprise Edition
  • OpenLDAP
  • Open Directory
  • 389-ds

Consideraciones sobre el nombre de usuario con LDAP

Los nombres de usuario del Servidor de GitHub Enterprise únicamente pueden contener caracteres alfanuméricos y rayas (-). El Servidor de GitHub Enterprise convertirá en raya cualquier caracter no alfanumérico en el nombre de tu cuenta de usuario. Por ejemplo, un nombre de usuario gregory.st.john se convertirá en gregory-st-john. Nota que los nombres de usuarios normalizados tampoco pueden comenzar o terminar con una raya. Tampoco pueden contener dos rayas seguidas.

Los nombres de usuarios creados a partir de direcciones de correo electrónico se crean con los caracteres normalizados que preceden al caracter @.

Si múltiples cuentas se normalizan en el mismo nombre de usuario de Servidor de GitHub Enterprise, solo se crea la primera cuenta de usuario. Los siguientes usuarios con el mismo nombre de usuario no podrán registrarse.

Esta tabla brinda ejemplos de cómo se normalizan los nombres de usuarios en el Servidor de GitHub Enterprise:

Nombre de usuarioNombre de usuario normalizadoResultado
Ms.Bubblesms-bubblesEl nombre de usuario se crea correctamente.
!Ms.Bubbles-ms-bubblesNo se crea este nombre de usuario debido a que comienza con una raya.
Ms.Bubbles!ms-bubbles-No se crea este nombre de usuario debido a que termina con una raya.
Ms!!Bubblesms--bubblesNo se crea este nombre de usuario debido a que contiene dos rayas seguidas.
Ms!Bubblesms-bubblesNo se crea este nombre de usuario. A pesar de que el nombre de usuario normalizado es válido, ya existía.
Ms.Bubbles@example.comms-bubblesNo se crea este nombre de usuario. A pesar de que el nombre de usuario normalizado es válido, ya existía.

Autenticación de dos factores

Cuando utilices LDAP o una autenticación integrada, la autenticación de dos factores será compatible. Los administradores de la organización le pueden solicitar a los miembros que tengan la autenticación de dos factores activada.

Configurar LDAP con tu instancia de servidor de GitHub Enterprise

Una vez configurado LDAP, los usuarios podrán iniciar sesión en tu instancia con sus credenciales LDAP. Cuando los usuarios inician sesión por primera vez, sus nombres de perfil, direcciones de correo electrónico y claves SSH se establecen con los atributos de LDAP desde tu directorio.

Cuando configuras el acceso de LDAP para los usuarios a través de Consola de administración, tus licencias de usuario no se utilizarán sino hasta que los usuarios ingresen en tu instancia por primera vez. Sin embargo, si creas una cuenta manualmente utilizando la configuración de administrador para el sitio, esta licencia de usuario se tomará en cuenta.

Advertencia: Antes de configurar LDAP en tu instancia de servidor de GitHub Enterprise, asegúrate de que tu servicio LDAP admita resultados paginados.

  1. En la esquina superior derecha de cualquier página, da clic en .
    Ícono de cohete para acceder a las configuraciones de administrador del sitio
  2. En la barra lateral izquierda, haz clic en Consola de administración.
    pestaña Consola de administración en la barra lateral izquierda
  3. En la barra lateral izquierda, da clic en Autenticación.
    Pestaña de autenticación en la barra lateral de configuración
  4. En "Authentication" (Autenticación), selecciona LDAP.
    Seleccionar LDAP
  5. Opcionalmente, selecciona Permitir autenticación integrada para invitar a los usuarios a utilizar la autenticación integrada si no pertenecen a el proveedor de identidad de tu instancia de servidor de GitHub Enterprise.
    Seleccionar la casilla de verificación autenticación integrada LDAP
  6. Agrega tus parámetros de configuración.

Atributos de LDAP

Usa estos atributos para terminar de configurar LDAP para tu instancia de servidor de GitHub Enterprise.

Nombre del atributoTipoDescripción
HostRequeridoEl host LDAP, p. ej. ldap.example.com o 10.0.0.30. Si el nombre del host solo está disponible desde tu red interna, es posible que primero debas configurar el DNS de tu instancia de servidor de GitHub Enterprise para que pueda resolver el nombre del host usando tus servidores de nombres internos.
Port (Puerto)RequeridoEl puerto que están escuchando los servicios LDAP. Los ejemplos incluyen: 389 y 636 (para LDAPS).
Encryption (Cifrado)RequeridoEl método de cifrado usado para garantizar las comunicaciones con el servidor LDAP. Los ejemplos incluyen el normal (sin cifrado), el SSL/LDAPS (cifrado desde el principio) y el StartTLS (se actualiza a comunicación cifrada una vez que se conecta).
Domain search user (Usuario de búsqueda de dominio)OpcionalEl usuario LDAP que realiza las búsquedas de usuario para autenticar otros usuarios cuando inician sesión. Esto suele ser una cuenta de servicio creada específicamente para integraciones de terceros. Usa un nombre certificado completo, como cn=Administrator,cn=Users,dc=Example,dc=com. Con Active Directory, también puedes usar la sintaxis [DOMAIN]\[USERNAME] (p. ej.,WINDOWS\Administrator) para el usuario de búsqueda de dominio.
Domain search password (Contraseña de búsqueda de dominio)OpcionalLa contraseña para el usuario de búsqueda de dominio.
Administrators group (Grupo de administradores)OpcionalLos usuarios de este grupo son promovidos a administradores del sitio cuando inician sesión en tu aparato. Si no configuras un Grupo de administradores LDAP, la primera cuenta de usuario LDAP que inicie sesión en tu aparato será promovida automáticamente a administrador del sitio.
Domain base (Base de dominio)RequeridoEl Nombre Distintivo (DN) completamente calificado de un subárbol LDAP que quieras buscar para usuarios y grupos. Puedes agregar tantos como quieras; sin embargo, cada grupo debe estar definido en la misma base de dominio que los usuarios que le pertenecen. Si especificas grupos de usuarios con restricciones, solo los usuarios que pertenecen a esos grupo estarán al alcance. Te recomendamos que especifiques el primer nivel de tu árbol de directorios LDAP como tu base de dominio y que uses grupos de usuarios con restricciones para controlar el acceso.
Restricted user groups (Grupos de usuarios con restricciones)OpcionalSi se especifica, solo los usuarios de estos grupos tendrán permiso para iniciar sesión. Solo necesitas especificar los nombres comunes (CN) de los grupos y puedes agregar tantos grupos como quieras. Si no se especifica ningún grupo, todos los usuarios dentro del alcance de la base de dominio especificada podrán iniciar sesión en tu instancia del Servidor de GitHub Enterprise.
User ID (Identificación de usuario)RequeridoEl atributo de LDAP que identifica al usuario LDAP que intenta una autenticación. Una vez que se establece una asignación, los usuarios pueden modificar sus nombres de usuario del Servidor de GitHub Enterprise. El campo debería ser sAMAccountName para la mayoría de las instalaciones de Active Directory, pero puede ser uid para otras soluciones LDAP, como OpenLDAP. El valor predeterminado es uid.
Nombre de perfilOpcionalEl nombre que aparecerá en la página de perfil del Servidor de GitHub Enterprise del usuario. A menos que la sincronización LDAP esté activada, los usuarios pueden modificar sus nombres de perfil.
Emails (Correos electrónicos)OpcionalLas direcciones de correo electrónico para la cuenta del Servidor de GitHub Enterprise de un usuario.
SSH keys (Claves SSH)OpcionalLas claves SSH públicas vinculadas a la cuenta del Servidor de GitHub Enterprise de un usuario. Las claves deben ser en formato OpenSSH.
Claves GPGOpcionalLas claves GPG vinculadas a la cuenta del Servidor de GitHub Enterprise de un usuario.
Disable LDAP authentication for Git operations (Desactivar la autenticación LDAP para las operaciones de Git)OpcionalSi está seleccionado, desactiva la posibilidad del usuario de usar contraseñas LDAP para autenticar las operaciones de Git.
Enable LDAP certificate verification (Activar la verificación de certificado LDAP)OpcionalSi está seleccionado, activa la verificación de certificado LDAP.
Synchronization (Sincronización)OpcionalSi está seleccionado, activa la sincronización LDAP.

Desactivar la autenticación de contraseña para las operaciones de Git

Selecciona Disable username and password authentication for Git operations (Desactivar la autenticación de nombre de usuario y contraseña para las operaciones de Git) en los parámetros de tu LDAP para implementar el uso de los tokens de acceso personal o las claves SSH para el acceso a Git, que pueden ayudarte a prevenir que tu servidor se sobrecargue de solicitudes de autenticación LDAP. Recomendamos esta configuración, ya que un servidor LDAP de respuesta lenta, en especial combinado con una gran cantidad de solicitudes debido al sondeo, suele ser una causa de problemas e interrupciones.

Desactivar la casilla de verificación autenticación de contraseña LDAP

Cuando se selecciona esta opción, si un usuario intenta usar una contraseña para las operaciones de Git a través de la línea de comando, recibirá un mensaje de error que dice: La autenticación de contraseña no está permitida para las operaciones de Git. Debes usar un token de acceso personal.

Activar la verificación de certificado LDAP

Selecciona Enable LDAP certificate verification (Activar verificación de certificado LDAP) en tus parámetros LDAP para validar el certificado del servidor LDAP que usas con TLS.

Casilla de verificación de certificado LDAP

Cuando se selecciona esta opción, el certificado se valida para garantizar que:

  • Si el certificado contiene al menos un nombre alternativo del firmante (SAN), uno de los SAN coincida con el nombre del host de LDAP. De lo contrario, que el nombre común (CN) coincida con el nombre del host de LDAP.
  • El certificado no haya vencido.
  • El certificado esté firmado por una entidad de certificación (CA) de confianza.

Activar la sincronización LDAP

La sincronización LDAP te permite sincronizar usuarios y miembros del equipo del Servidor de GitHub Enterprise con tus grupos LDAP establecidos. Esto te permite establecer un control de acceso basado en roles para los usuarios desde tu servidor LDAP, en lugar de hacerlo de forma manual dentro del Servidor de GitHub Enterprise. Para obtener más información, consulta "Crear equipos".

Para activar la sincronización LDAP, en tus parámetros LDAP, selecciona Synchronize Emails (Sincronizar correos electrónicos), Synchronize SSH Keys (Sincronizar claves SSH) o Synchronize GPG Keys (Sincronizar claves GPG).

Casilla de verificación de Sincronización

Una vez que actives la sincronización LDAP, se ejecutará un trabajo de sincronización en el intervalo de tiempo especificado para realizar las siguientes operaciones en cada cuenta de usuario:

  • Si has permitido la autenticación integrada para usuarios externos a tu proveedor de identidad, y el usuario está usando la autenticación integrada, pasa al siguiente usuario.
  • Si no existe una asignación LDAP para el usuario, intenta asignar el usuario a una entrada LDAP en el directorio. Si el usuario no se puede asignar a una entrada LDAP, suspéndelo y pasa al siguiente usuario.
  • Si hay una asignación LDAP y falta la entrada LDAP correspondiente en el directorio, suspende el usuario y pasa al siguiente usuario.
  • Si la entrada LDAP correspondiente se marcó como desactivada, y el usuario aún no se suspendió, suspéndelo y pasa al siguiente usuario.
  • Si la entrada LDAP correspondiente no se marcó como desactivada, el usuario está suspendido y Reactivate suspended users (Reactivar usuarios suspendidos) está activado en el centro de administración, anula la suspensión del usuario.
  • Si la entrada LDAP correspondiente incluye un atributo name, actualiza el nombre de perfil del usuario.
  • Si la entrada LDAP correspondiente está en el grupo de administradores, promueve al usuario a administrador del sitio.
  • Si la entrada LDAP correspondiente no está en el grupo de administradores, degrada al usuario a una cuenta normal.
  • Si un campo de usuario LDAP está definido para correos electrónicos, sincroniza los parámetros del correo electrónico del usuario con la entrada LDAP. Establece la primera entrada mail LDAP como el correo electrónico principal.
  • Si un campo de usuario LDAP está definido para claves públicas SSH, sincroniza las claves SSH públicas del usuario con la entrada LDAP.
  • Si un campo de usuario LDAP está definido para claves GPG, sincroniza las claves GPG del usuario con la entrada LDAP.

Nota: Las entradas LDAP solo pueden estar marcadas como desactivadas si usas Active Directory y el atributo userAccountControl está presente y marcado con ACCOUNTDISABLE.

También se ejecutará un trabajo de sincronización en el intervalo de tiempo especificado para realizar las siguientes operaciones en cada equipo que haya sido asignado a un grupo LDAP:

  • Si se eliminó el grupo LDAP correspondiente de un equipo, elimina todos los miembros del equipo.
  • Si las entradas de miembros LDAP se eliminaron del grupo LDAP, elimina los usuarios correspondientes del equipo. Si como resultado el usuario pierde acceso a algún repositorio, elimina toda bifurcación privada que el usuario tenga de esos repositorios.
  • Si las entradas de miembros LDAP se agregaron al grupo LDAP, agrega los usuarios correspondientes al equipo. Si como resultado el usuario recupera el acceso a algún repositorio, restablece toda bifurcación privada de los repositorios que haya sido eliminada debido a que el usuario perdió acceso en los últimos 90 días.

Como parte de su cofiguración de optimización, LDAP Sync no transferirá tu estructura de equipo anidada. Para crear relaciones entre equipos padre e hijo, deberás recrear manualmente la estructura de equipo anidada y sincronizarla con el grupo de LDAP correspondiente. Para obtener más información, consulta la sección "Crear equipos"

Advertencia de seguridad:

Cuando la sincronización LDAP está activada, los administradores del sitio y los propietarios de la organización pueden buscar en el directorio LDAP los grupos a los cuales asignar el equipo.

Esto posibilita divulgar información organizativa confidencial a contratistas u otros usuarios sin privilegios, incluidos los siguientes:

  • La existencia de grupos LDAP específicos visibles para el Usuario de búsqueda de dominio.
  • Los miembros del grupo LDAP que tienen cuentas de usuario del Servidor de GitHub Enterprise, que se divulga cuando se crea un equipo sincronizado con ese grupo LDAP.

Si no se desea divulgar dicha información, su empresa u organización debe restringir los permisos del Usuario de búsqueda de dominio en la consola de administración. Si no es posible aplicar dicha restricción, comuníquese con el GitHub Enterprise Support](https://enterprise.githubsupport.com/hc/en-us) o GitHub Premium Support.

Clases de objetos del grupo LDAP admitidas

El Servidor de GitHub Enterprise admite estas clases de objetos del grupo LDAP. Los grupos se pueden anidar.

  • grupo
  • groupOfNames
  • groupOfUniqueNames
  • posixGroup

Ver y crear usuarios LDAP

Puedes ver la lista completa de usuarios LDAP que tienen acceso a tu instancia y aprovisionar nuevos usuarios.

  1. Ingresa en tu instancia de servidor de GitHub Enterprise a través de http(s)://HOSTNAME/login.
  2. En la esquina superior derecha de cualquier página, da clic en .
    Ícono de cohete para acceder a las configuraciones de administrador del sitio
  3. En la barra lateral izquierda, haz clic en LDAP users (Usuarios LDAP).
    Pestaña LDAP users (Usuarios LDAP)
  4. Para buscar un usuario, escribe un nombre de usuario completo o parcial y haz clic en Search (Buscar). Se mostrarán los usuarios existentes en los resultados de búsqueda. Si un usuario no existe, haz clic en Create (Crear) para aprovisionar la nueva cuenta de usuario.
    Búsqueda LDAP

Actualizar cuentas LDAP

A menos que la sincronización LDAP esté activada, las modificaciones de las cuentas LDAP no se sincronizan automáticamente con el Servidor de GitHub Enterprise.

Sincronizar cuentas LDAP de forma manual

  1. Ingresa en tu instancia de servidor de GitHub Enterprise a través de http(s)://HOSTNAME/login.
  2. En la esquina superior derecha de cualquier página, da clic en .
    Ícono de cohete para acceder a las configuraciones de administrador del sitio
  3. En el campo de búsqueda, teclea el nombre de usuario y da clic en Buscar.
    Campo de búsqueda en la configuración de administrador de sitio
  4. En los resultados de búsqueda, da clic en el nombre del usuario.
    Opciones de búsqueda de la configuración de administrador para el sitio
  5. In the upper-right corner of the page, click Admin.
    Herramientas de administrador
  6. En la barra lateral izquierda, haz clic en Admin (Administrador).
    Herramientas de administrador
  7. En "LDAP", haz clic en Sync now (Sincronizar ahora) para actualizar de forma manual la cuenta con los datos de tu servidor LDAP.
    Botón LDAP sync now (Sincronizar LDAP ahora)

También puedes utilizar la API para activar una sincronización manual.

Revocar acceso a tu instancia de servidor de GitHub Enterprise

Si la sincronización LDAP está activada, al eliminar las credenciales LDAP de un usuario, se suspenderá su cuenta hasta la siguiente ejecución de sincronización.

Si la sincronización LDAP no está activada, debes suspender de forma manual la cuenta del Servidor de GitHub Enterprise después de eliminar las credenciales LDAP. Para obtener más información, consulta "Suspender y anular suspensión de usuarios".