Skip to main content

Esta versión de GitHub Enterprise se discontinuará el 2023-01-18. No se realizarán lanzamientos de patch, ni siquiera para problemas de seguridad críticos. Para obtener rendimiento mejorado, seguridad mejorada y nuevas características, actualice a la versión más reciente de GitHub Enterprise. Para obtener ayuda con la actualización, póngase en contacto con el soporte técnico de GitHub Enterprise.

Usar LDAP

Si usas el Protocolo ligero de acceso a directorios (LDAP) para centralizar el acceso entre aplicaciones, puedes integrar GitHub Enterprise Server mediante la configuración de la autenticación LDAP para la instancia.

Acerca de la autenticación LDAP para GitHub Enterprise Server

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 para integrar software de terceros con directorios de usuarios de empresas grandes. Para obtener más información, consulta "Protocolo ligero de acceso a directorios" en Wikipedia.

Si usas un directorio LDAP para la autenticación centralizada, puedes configurar la autenticación LDAP para las personas que usan your GitHub Enterprise Server instance.

If you want to allow authentication for some people who don't have an account on your external authentication provider, you can allow fallback authentication to local accounts on your GitHub Enterprise Server instance. For more information, see "Allowing built-in authentication for users outside your provider."

Servicios LDAP admitidos

El GitHub Enterprise Server 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

GitHub Enterprise Server normalizes a value from your external authentication provider to determine the username for each new personal account on your GitHub Enterprise Server instance. Para obtener más información, consulta "Consideraciones sobre el nombre de usuario para la autenticación externa".

Configuración de LDAP con your GitHub Enterprise Server instance

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 your GitHub Enterprise Server instance, asegúrate de que el servicio LDAP admita resultados paginados.

  1. Desde una cuenta administrativa de GitHub Enterprise Server, en la esquina superior derecha de cualquier página, haz clic en .

    Captura de pantalla del icono de cohete para acceder a los ajustes administrativos

  2. Si todavía no está en la página "Administrador del sitio", en la esquina superior izquierda, haga clic en Administrador del sitio.

    Captura de pantalla del vínculo "Administrador del sitio" 1. En la barra lateral de la izquierda, haga clic en Consola de administración . Pestaña Consola de administración en la barra lateral de la izquierda 1. En la barra lateral de la izquierda, haga clic en Autenticación. Pestaña de autenticación en la barra lateral de configuración

  3. En Authentication, seleccione LDAP. Seleccionar LDAP

  4. Opcionalmente, para permitir que los usuarios sin una cuenta en el sistema de autenticación externa inicien sesión con la autenticación integrada, selecciona Permitir autenticación integrada. Para obtener más información, consulta «Permiso para la autenticación integrada para usuarios fuera del proveedor». Seleccionar la casilla de verificación autenticación integrada LDAP

  5. Agrega tus parámetros de configuración.

Atributos de LDAP

Usa estos atributos para terminar de configurar LDAP para your GitHub Enterprise Server instance.

Nombre del atributoTipoDescripción
HostObligatorioEl host de LDAP, por ejemplo ldap.example.com o 10.0.0.30. Si el nombre del host solo está disponible desde la red interna, es posible que primero debas configurar el DNS de your GitHub Enterprise Server instance para que pueda resolver el nombre del host mediante el uso de los servidores de nombres internos.
PortObligatorioEl puerto que están escuchando los servicios LDAP. Los ejemplos incluyen: 389 y 636 (para LDAPS).
EncryptionObligatorioEl 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 userOpcionalesEl usuario LDAP que busca a otros usuarios que iniciaron sesión, para permitir la autenticación. Esto suele ser una cuenta de servicio creada específicamente para integraciones de terceros. Utilice un nombre completo como cn=Administrator,cn=Users,dc=Example,dc=com. Con Active Directory, también puede usar la sintaxis [DOMAIN]\[USERNAME] (por ejemplo, WINDOWS\Administrator) para el usuario de búsqueda de dominio con Active Directory.
Domain search passwordOpcionalesLa contraseña para el usuario de búsqueda de dominio.
Administrators groupOpcionalesLos 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 baseObligatorioEl Distinguished Name (DN) completo de un subárbol de LDAP en el que desea buscar 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 groupsOpcionalesSi 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 su instancia de GitHub Enterprise Server.
User IDObligatorioEl 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 GitHub Enterprise Server. Este campo debe ser sAMAccountName para la mayoría de las instalaciones de Active Directory, pero puede ser uid para otras soluciones de LDAP, como OpenLDAP. El valor predeterminado es uid.
Profile nameOpcionalEl nombre que aparecerá en la página de perfil del GitHub Enterprise Server del usuario. A menos que la sincronización LDAP esté activada, los usuarios pueden modificar sus nombres de perfil.
EmailsOpcionalesLas direcciones de correo electrónico para la cuenta del GitHub Enterprise Server de un usuario.
SSH keysOpcionalesLas claves SSH públicas vinculadas a la cuenta del GitHub Enterprise Server de un usuario. Las claves deben ser en formato OpenSSH.
GPG keysOpcionalesLas claves GPG vinculadas a la cuenta del GitHub Enterprise Server de un usuario.
Disable LDAP authentication for Git operationsOpcionalesSi está seleccionada, desactiva la capacidad de los usuarios de usar contraseñas LDAP para autenticar las operaciones de Git.
Enable LDAP certificate verificationOpcionalesSi está seleccionada, activa la comprobación del certificado LDAP.
SynchronizationOpcionalesSi está seleccionada, activa la sincronización de LDAP.

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

Selecciona Deshabilitar la autenticación de nombre de usuario y contraseña para las operaciones de Git en los parámetros de LDAP para implementar el uso de personal access token o claves de SSH para el acceso a Git, que pueden ayudarte a impedir que el 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 comandos, recibirá un mensaje de error que indica: Password authentication is not allowed for Git operations. You must use a personal access token.

Activar la verificación de certificado LDAP

Seleccione Enable LDAP certificate verification en los parámetros de LDAP para validar el certificado del servidor LDAP que usa 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 ha expirado.
  • El certificado esté firmado por una entidad de certificación (CA) de confianza.

Activar la sincronización LDAP

Nota: Los equipos que usan la sincronización de LDAP están limitados a un máximo de 1499 miembros.

La sincronización LDAP te permite sincronizar usuarios y miembros del equipo del GitHub Enterprise Server 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 GitHub Enterprise Server. Para obtener más información, consulte "Creación de equipos".

Para habilitar la sincronización de LDAP, en la configuración de LDAP, seleccione Synchronize Emails, Synchronize SSH Keys o Synchronize GPG Keys .

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 deshabilitada, el usuario queda suspendido y se activa Reactivate suspended users en el Centro de administración para anular la suspensión del usuario.
  • Si uno o más grupos de usuarios restringidos se configuran en la instancia y la entrada de LDAP correspondiente no está en uno de estos grupos, suspende al usuario.
  • Si se configuran uno o más grupos de usuarios restringidos en la instancia, la entrada de LDAP correspondiente se encuentra en alguno de estos grupos y se habilita Reactivate suspended users en el Centro de administración para anular la suspensión del usuario.
  • Si la entrada de LDAP correspondiente incluye un atributo name, se 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. Establezca la primera entrada de LDAP mail como 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 de LDAP solo se pueden marcar como deshabilitadas si usa Active Directory y el atributo userAccountControl está presente y marcado con ACCOUNTDISABLE. Algunas variaciones de Active Directory, como AD LDS y ADAM, no admiten el atributo userAccountControl.

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 el usuario ya no es miembro de ningún equipo de la organización y tampoco es propietario de la organización, retíralo de esta. Si como resultado el usuario pierde acceso a algún repositorio, elimina toda bifurcación privada que el usuario tenga de esos repositorios.

    Nota: La sincronización de LDAP no quitará a un usuario de una organización si este es propietario de esa organización. Otro propietario de la organización deberá quitarlo manualmente.

  • 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 configuración de optimización, LDAP Sync no transferirá la 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 más información, vea "Creación de 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 de LDAP específicos visibles para el usuario de búsqueda de dominio.
  • Los miembros del grupo LDAP que tienen cuentas de usuario del GitHub Enterprise Server, 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 configurado en la Consola de administración. Si no es posible aplicar dicha restricción, comuníquese con el Soporte de GitHub Enterprise.

Clases de objetos del grupo LDAP admitidas

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

  • group
  • 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. Sign in to your GitHub Enterprise Server instance at http(s)://HOSTNAME/login. 1. Desde una cuenta administrativa de GitHub Enterprise Server, en la esquina superior derecha de cualquier página, haz clic en .

    Captura de pantalla del icono de cohete para acceder a los ajustes administrativos

  2. Si todavía no está en la página "Administrador del sitio", en la esquina superior izquierda, haga clic en Administrador del sitio.

    Captura de pantalla del vínculo "Administrador del sitio"

  3. En la barra lateral de la izquierda, haga clic en LDAP users. Pestaña LDAP users

  4. Para buscar un usuario, escriba parte de un nombre de usuario o el nombre completo y haga clic en Search. Se mostrarán los usuarios existentes en los resultados de búsqueda. Si un usuario no existe, haga clic en Create para aprovisionar la nueva cuenta de usuario. Búsqueda LDAP

Actualizar cuentas LDAP

A menos que se habilite la sincronización de LDAP, los cambios en las cuentas de LDAP no se sincronizan automáticamente con GitHub Enterprise Server.

Sincronizar cuentas LDAP de forma manual

  1. Sign in to your GitHub Enterprise Server instance at http(s)://HOSTNAME/login. 1. Desde una cuenta administrativa de GitHub Enterprise Server, en la esquina superior derecha de cualquier página, haz clic en .

    Captura de pantalla del icono de cohete para acceder a los ajustes administrativos

  2. Si todavía no está en la página "Administrador del sitio", en la esquina superior izquierda, haga clic en Administrador del sitio.

    Captura de pantalla del vínculo "Administrador del sitio" 1. En el campo de búsqueda, escriba el nombre del usuario y haga clic en Buscar. Campo de búsqueda en la configuración de administrador del sitio 1. En los resultados de búsqueda, da clic en el nombre del usuario. Opciones de búsqueda en la configuración de administración del sitio 1. En la esquina superior derecha de la página, haga clic en Administración. Herramientas de administración 1. En la barra lateral de la izquierda, haga clic en Administración. Herramientas de administración

  3. En "LDAP", haga clic en Sync now para actualizar manualmente la cuenta con datos del servidor de LDAP. Botón Sync now de LDAP

También puede usar la API para desencadenar una sincronización manual.

Revocación del acceso a your GitHub Enterprise Server instance

Si la sincronización de LDAP está habilitada, si se eliminan las credenciales de LDAP de un usuario, se suspenderá su cuenta después de la siguiente ejecución de sincronización.

Si la sincronización de LDAP no está habilitada, debe suspender de forma manual la cuenta del GitHub Enterprise Server después de eliminar las credenciales de LDAP. Para obtener más información, consulte "Suspensión y anulación de la suspensión de usuarios".