Skip to main content

Acerca del aprovisionamiento de usuarios con SCIM en GitHub Enterprise Server

Obtenga información sobre cómo administrar el ciclo de vida de las cuentas de usuario con SCIM en tu instancia de GitHub Enterprise Server.

Información sobre el 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, puede configurar SCIM para 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 configura el aprovisionamiento de usuarios con SCIM, su IdP no se comunicará automáticamente con GitHub Enterprise Server cuando asigne o desasigne la aplicación a un usuario. Sin SCIM, GitHub Enterprise Server crea una cuenta de usuario mediante el aprovisionamiento Just-in-Time (JIT) de SAML la primera vez que alguien accede a GitHub Enterprise Server e inicia sesión autenticándose a través de tu IdP.

Para configurar el aprovisionamiento para su empresa, debe habilitar el aprovisionamiento en GitHub Enterprise Servery, a continuación, instalar y configurar una aplicación de aprovisionamiento en el IdP, o configurar el aprovisionamiento de SCIM manualmente mediante los puntos de conexión GitHubde la API REST de 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 partners. Ofrecen una aplicación que puede usar para configurar la autenticación SAML y el aprovisionamiento de SCIM.

  • Microsoft Entra ID
  • Okta
  • PingFederate (versión preliminar pública)

Cuando se usa un único IdP de partner tanto para la autenticación como para el aprovisionamiento, GitHub ofrece compatibilidad con la aplicación en el IdP de partner y con la integración del IdP con GitHub. La misma aplicación debe usarse tanto para la autenticación SAML como para el aprovisionamiento de SCIM. La compatibilidad con PingFederate está en versión preliminar pública.

No tenemos una aplicación asociada compatible cuando se usa Entra ID para Azure Government.

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 GitHubdirectrices de integración de
  • Proporcionar autenticación mediante SAML, cumpliendo con la especificación SAML 2.0
  • Proporcionar administración del ciclo de vida de los usuarios mediante SCIM, cumplir con la especificación SCIM 2.0 y comunicarse con GitHubla API REST (consulte 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 le pedirá 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.
  • Al anular la asignación del usuario de la aplicación IdP o desactivar la cuenta de un usuario en el IdP, el IdP se comunicará con GitHub para invalidar las sesiones y deshabilitar la cuenta del miembro. La información de la cuenta deshabilitada se mantiene y su nombre de usuario se cambia a un hash de su nombre de usuario.
  • 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 al repositorio y los permisos, puede 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á eliminar, suspender ni promover usuarios aprovisionados por SCIM directamente en GitHub Enterprise Server. Debe gestionar estos procesos desde su IdP. Si surge un problema con el IdP y necesita administrar un usuario directamente, deberá usar la API REST de SCIM para administrar las identidades de usuario en el dispositivo (consulte Aprovisionamiento de usuarios y grupos con SCIM mediante la API de REST).

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.

  1. En la esquina superior derecha de GitHub Enterprise Server, haz clic en la foto de perfil y luego en Enterprise settings.
  2. En la parte superior de la página, haga clic en Personas.
  3. Haz clic en Miembros suspendidos.

¿Qué ocurre cuando se habilita SCIM?

Si actualmente usa SSO de SAML y está habilitando SCIM, debe saber qué ocurre con las cuentas de usuario existentes en GitHub Enterprise Server una vez que se habilite SCIM.

  • 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.
  • GitHub Enterprise Server ya no almacenará asociaciones SAML de los usuarios. En su lugar, las identidades SCIM se almacenarán para los usuarios cuando se aprovisione un usuario.
  • Ya no verá la sección "Autenticación SAML" en la página de administración del sitio https://HOSTNAME/users/USER/security para los usuarios. No será posible ver ni actualizar las asignaciones NameID de SAML que estaban visibles anteriormente en esta sección, ya que estas asignaciones de SAML almacenadas ya no se evalúan durante la autenticación de SAML cuando SCIM está habilitado.
  • Cuando la instancia recibe una solicitud SCIM, las identidades sciM se comparan con los usuarios existentes comparando el valor del atributo SCIM userName con el GitHub Enterprise Server nombre de usuario. Esto significa que una cuenta de usuario existente 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.
  • Los administradores empresariales con acceso a la CLI pueden exportar un CSV completo de identidades de usuario aprovisionadas de SCIM mediante la herramienta ghe-scim-identities-csv.

¿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 a través del IdP para acceder GitHub Enterprise Server mediante el inicio de sesión único de SAML.

  • Cuando un usuario se autentica a través de SAML, para asociarlo a una identidad SAML, GitHub compara un atributo NameID normalizado del IdP (u otro valor que haya configurado) con el nombre de usuario de la cuenta. Para obtener más información sobre la normalización, consulte 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 declaración SAML NameId del IdP con el atributo SCIM userName de cada cuenta de usuario aprovisionada por SCIM en la instancia.
    • Además, para 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 forma 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 SCIM esté configurado. 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.

Comenzar

Para empezar a trabajar con SCIM, tendrá que hacer lo siguiente:

  1. Completar la configuración inicial, necesaria independientemente del IdP que usa, en Configurar el aprovisionamiento de SCIM para administrar usuarios.
  2. Configure los valores en el IdP.