Note
SCIM para GitHub Enterprise Server se encuentra actualmente en beta y está sujeto a cambios. GitHub recomienda realizar pruebas con una instancia de ensayo primero. 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, puedes instalar y configurar una aplicación de aprovisionamiento en el IdP o configurar manualmente el aprovisionamiento de SCIM mediante los puntos de conexión de la API REST de GitHub para SCIM.
Proveedores de identidad compatibles
GitHub se asocia con algunos desarrolladores de sistemas de administración de identidades para proporcionar una integración de tipo "paved-path" con GitHub Enterprise Server. A fin de simplificar la configuración y garantizar la compatibilidad completa, utiliza un IdP de asociado único para la autenticación y el aprovisionamiento.
Proveedores de identidad asociados
Los idP siguientes son idP de asociados. Ofrecen una aplicación que puede usar para configurar la autenticación SAML y el aprovisionamiento de SCIM.
- Microsoft Entra ID
- Okta
- PingFederate (beta)
Cuando se usa un único IdP asociado tanto para la autenticación como para el aprovisionamiento, GitHub proporciona soporte para la aplicación en el IdP asociado y la integración del IdP con GitHub. La compatibilidad con PingFederate está en beta.
Otros sistemas de administración de identidades
Si no puede utilizar un único IdP asociado tanto para la autenticación como para el aprovisionamiento, puede utilizar otro sistema de gestión de identidades o una combinación de sistemas. El sistema debe:
- Cumplir las directrices de integración de GitHub.
- Proporcionar autenticación mediante SAML, cumpliendo con la especificación SAML 2.0
- Proporcionar la administración del ciclo de vida del usuario utilizando SCIM, adhiriéndose a la especificación SCIM 2.0 y comunicándose con la API de REST de GitHub (consulta Aprovisionamiento de usuarios y grupos con SCIM mediante la API de REST)
¿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.
Para configurar la pertenencia a equipos y organizaciones, el acceso a repositorios y los permisos, puedes usar grupos en el IdP. Para más información, consulta Administrar membrecías de equipo con grupos de proveedor de identidad.
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.
Para ver los miembros suspendidos, ve a la pestaña "Miembros suspendidos" de la configuración empresarial. Esta página estará presente cuando SCIM esté habilitado en GitHub Enterprise Server.
-
En la esquina superior derecha de , haz clic en la foto de perfil y luego en Configuración de empresa.
-
En el lado izquierdo de la página, en la barra lateral de la cuenta de empresa, haz clic en People.
-
Haz clic en Miembros suspendidos.
¿Qué ocurre cuando se habilita SCIM?
Si actualmente usas el inicio de sesión único de SAML y habilitas SCIM, debes tener en cuenta lo que sucede con las cuentas de usuario existentes en GitHub Enterprise Server una vez que SCIM esté habilitado.
- Los usuarios existentes con asignaciones de SAML no podrán iniciar sesión hasta que SCIM haya aprovisionado sus identidades.
- Los usuarios existentes creados con la autenticación integrada solo podrán iniciar sesión si la autenticación integrada todavía está habilitada.
- Cuando la instancia recibe una solicitud SCIM, las identidades SCIM se comparan con los usuarios existentes mediante la comparación del valor del atributo
userName
de SCIM con el nombre de usuario GitHub Enterprise Server. Esto significa que una cuenta de usuario existente de GitHub Enterprise Server, independientemente de si se creó originalmente como una cuenta de usuario local o a través del aprovisionamiento JIT de SAML, se puede convertir en una cuenta de usuario vinculada a SCIM si estos dos valores coinciden.- Si existe una cuenta de usuario con un nombre de usuario coincidente, GitHub Enterprise Server vincula la identidad SCIM a esta cuenta de usuario.
- Si no existe una cuenta de usuario con un nombre de usuario coincidente, GitHub Enterprise Server crea una nueva cuenta de usuario y la vincula a esta identidad SCIM.
- Si GitHub coincide correctamente con un usuario que se autentica a través de SAML con una cuenta de usuario existente, pero los detalles de la cuenta, como la dirección de correo electrónico, el nombre o el apellido no coinciden, la instancia sobrescribe 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 SCIMuserName
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.
- Para que esto coincida, GitHub Enterprise Server compara la notificación SAML
- 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.
¿Cómo se deshabilita SCIM?
Para más información sobre las distintas formas de deshabilitar SCIM, consulta Deshabilitación del aprovisionamiento de SCIM para los usuarios.
Introducción
Para empezar a trabajar con SCIM, tendrá que hacer lo siguiente:
- Completa la configuración inicial, necesaria independientemente del idP que usa, en Configuración del aprovisionamiento de SCIM para administrar usuarios.
- Configure los valores en el IdP.
- Si usa un IdP de asociado para la autenticación y el aprovisionamiento, tendrá que seguir una guía para el IdP.
- De lo contrario, configurarás una integración de SCIM con la API de REST, tal como se describe en Aprovisionamiento de usuarios y grupos con SCIM mediante la API de REST.