Skip to main content

Esta versión de GitHub Enterprise Server se discontinuó el 2024-09-25. 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 Server. Para obtener ayuda con la actualización, póngase en contacto con el soporte técnico de GitHub Enterprise.

configurar el aprovisionamiento de usuarios con SCIM en GitHub Enterprise Server

Introducción a que administra el ciclo de vida de las cuentas de usuario con SCIM en tu instancia de GitHub Enterprise Server.

¿Quién puede utilizar esta característica?

Site administrators

Note

Se trata de una versión obsoleta de beta privada de SCIM para GitHub Enterprise Server. Los clientes deben actualizar a la versión 3.14 o posterior y usar el SCIM beta para que se consideren sus comentarios de SCIM o informes de errores.

Warning

El beta es exclusivamente para pruebas y comentarios, y no hay soporte técnico disponible. GitHub recomienda realizar pruebas con una instancia de ensayo. Para más información, consulta Configurar una instancia de preparación.

Acerca del aprovisionamiento de usuarios para GitHub Enterprise Server

Si usa el inicio de sesión único (SSO) de SAML para tu instancia de GitHub Enterprise Server, podrá configurar SCIM a fin de crear o suspender automáticamente cuentas de usuario y conceder acceso a la instancia al asignar o anular la asignación de la aplicación en el IdP. Para obtener más información sobre SCIM, consulta System for Cross-domain Identity Management: Protocolo (RFC 7644) en el sitio web de IETF.

Si no configuras el aprovisionamiento de usuarios con SCIM, el IdP no se comunicará con GitHub Enterprise Server automáticamente al asignar la aplicación a un usuario o anular su asignación. Sin SCIM, GitHub Enterprise Server crea una cuenta de usuario mediante el aprovisionamiento Just-In-Time (JIT) de SAML la primera vez que alguien navega a GitHub Enterprise Server e inicia sesión mediante la autenticación a través de tu IdP.

Para configurar el aprovisionamiento de tu empresa, debes habilitar el aprovisionamiento en GitHub Enterprise Server; después, instalar y configurar una aplicación de aprovisionamiento en el IdP.

Proveedores de identidad compatibles

Durante la beta privada, el equipo de la cuenta proporcionará documentación para la configuración de SCIM para GitHub Enterprise Server en un IdP compatible.

¿Cómo puedo administrar los ciclos de vida de los usuarios con SCIM?

Con SCIM, puedes administrar el ciclo de vida de las cuentas de usuario desde el IdP:

  • Al aprovisionar un nuevo usuario, el IdP solicitará a tu instancia de GitHub Enterprise Server que cree una cuenta y envíe un correo electrónico de incorporación al usuario. Si asigna un grupo a la aplicación en el IdP, el IdP aprovisionará cuentas para todos los miembros del grupo.
  • Al actualizar la información asociada a la identidad de un usuario en el IdP, el IdP actualizará la cuenta del usuario en GitHub.
  • Cuando anules la asignación del usuario de la aplicación del IdP o desactives la cuenta de un usuario en el IdP, este se pondrá en contacto con GitHub para invalidar las sesiones e inhabilitar la cuenta del miembro. La información de la cuenta inhabilitada se mantiene y el nombre de usuario se cambia por un hash del nombre de usuario original.
  • Si reasignas un usuario a la aplicación del IdP o reactivas su cuenta en el IdP, se reactivará la cuenta de usuario y se restaurará el nombre de usuario.

Cuando SCIM está habilitado, ya no podrás eliminar, suspender ni promover usuarios aprovisionados con SCIM directamente en GitHub Enterprise Server. Debe administrar estos procesos desde el IdP.

¿Qué ocurrirá con los usuarios existentes en mi instancia?

Si actualmente usa el inicio de sesión único de SAML y habilita SCIM, debe tener en cuenta lo que sucede con los usuarios existentes durante el aprovisionamiento de SCIM.

  • Cuando SCIM está habilitado, los usuarios con identidades vinculadas a SAML no podrán iniciar sesión hasta que SCIM aprovisione sus identidades.
  • Cuando la instancia recibe una solicitud SCIM, las identidades SCIM se comparan con los usuarios existentes; para ello, se compara el campo SCIM userNamecon el nombre de usuario de GitHub. Si no existe un nombre de usuario coincidente GitHub crea un nuevo usuario.
  • Si GitHub identifica correctamente a un usuario del IdP, pero los detalles de la cuenta, como la dirección de correo electrónico, el nombre o el apellido no coinciden, la instancia sobrescribirá los detalles con valores del IdP. Las direcciones de correo electrónico que no sean el correo electrónico principal aprovisionado por SCIM también se eliminarán de la cuenta de usuario.

¿Qué ocurre durante la autenticación SAML?

Después de que un administrador de IdP conceda a una persona acceso a tu instancia de GitHub Enterprise Server, el usuario puede autenticarse mediante el IdP para acceder a GitHub Enterprise Server mediante el inicio de sesión único de SAML.

  • Cuando un usuario se autentica a través de SAML, para asociar al usuario con una identidad de SAML, GitHub compara una notificación normalizada NameID del IdP (u otro valor configurado) con el nombre de usuario de la cuenta. Para obtener más información sobre la normalización, consulta Consideraciones sobre el nombre de usuario para la autenticación externa.
  • Si no hay ninguna cuenta con un nombre de usuario coincidente en la instancia, el usuario no podrá iniciar sesión.
    • Para que esto coincida, GitHub Enterprise Server compara la notificación SAML NameId del IdP con el atributo SCIM userName para cada cuenta de usuario aprovisionada por SCIM en la instancia.
    • Además, en el caso de Entra ID, GitHub Enterprise Server compara el identificador de objeto de la solicitud SAML con un identificador externo SCIM existente.
  • Si el entorno no usa NameID para identificar de manera exclusiva a los usuarios, un administrador de sitio puede configurar atributos de usuario personalizados para la instancia. GitHub Enterprise Server respetará esta asignación cuando se configure SCIM. Para obtener más información sobre la asignación de atributos de usuario, consulta Configurar el inicio de sesión único de SAML para tu empresa.

Requisitos previos

Habilitar el aprovisionamiento de usuarios para tu empresa

Para realizar acciones de aprovisionamiento en la instancia, crearás una cuenta de usuario integrada y promoverás la cuenta a un propietario de la empresa.

Después de habilitar SCIM en una instancia de GitHub Enterprise Server, se suspenden todas las cuentas de usuario. La cuenta de usuario integrada seguirá realizando acciones de aprovisionamiento. Después de conceder a un usuario acceso a la instancia desde el IdP, el IdP se comunicará con la instancia mediante SCIM para anular la suspensión de la cuenta del usuario.

  1. Crea una cuenta de usuario integrada para realizar acciones de aprovisionamiento en la instancia. Para más información, consulta Permitir la autenticación integrada de los usuarios ajenos al proveedor.

  2. Promueve la cuenta de usuario dedicada a un propietario de la empresa. Para más información, consulta Invitar a las personas para que administren tu empresa.

  3. Inicia sesión en la instancia como el nuevo propietario de la empresa.

  4. Crea un personal access token (classic) con el ámbito admin:enterprise. No especifiques una fecha de expiración para el personal access token (classic). Para más información, consulta Administración de tokens de acceso personal.

    Warning

    Asegúrate de no especificar una fecha de expiración para el personal access token (classic). Si especificas una fecha de expiración, SCIM ya no funcionará una vez superada la fecha de expiración.

    Note

    Necesitarás este personal access token a fin de probar la configuración de SCIM y configurar la aplicación para SCIM en el IdP. Almacena el token de manera segura en un administrador de contraseñas hasta que lo necesites nuevamente más adelante en estas instrucciones.

  5. SSH en tu instancia de GitHub Enterprise Server Si la instancia consta de varios nodos, por ejemplo, si la alta disponibilidad o la replicación geográfica están configuradas, utiliza SSH en el nodo principal. Si usas un clúster, puedes utilizar SSH en cualquier nodo. Reemplace HOSTNAME por el nombre de host de la instancia, o el nombre de host o la dirección IP de un nodo. Para más información, consulta Acceder al shell administrativo (SSH).

    Shell
    ssh -p 122 admin@HOSTNAME
    
  6. Para habilitar SCIM, ejecuta los comandos que proporciona el administrador de cuentas en Equipo de ventas de GitHub.

  7. Espera que se complete la fase de configuración.

  8. Para validar que SCIM está operativo, ejecuta los comandos siguientes. Reemplaza PAT FROM STEP 3 y YOUR INSTANCE'S HOSTNAME por valores reales.

    $ GHES_PAT="PAT FROM STEP 3"
    $ GHES_HOSTNAME="YOUR INSTANCE'S HOSTNAME"
    $ curl --location --request GET 'https://$GHES_HOSTNAME/api/v3/scim/v2/Users' \
        --header 'Content-Type: application/scim' \
        --header 'Authorization: Bearer $GHES_PAT'
    

    El comando debe devolver una matriz vacía.

  9. Configura el aprovisionamiento de usuarios en la aplicación para GitHub Enterprise Server en tu IdP. Para solicitar la documentación de un IdP compatible, contacte con el gestor de cuentas en Equipo de ventas de GitHub. Si el IdP no es compatible, debe crear la aplicación y configurar SCIM manualmente.