Nota: SCIM para GitHub Enterprise Server se encuentra actualmente en versión beta privada y está sujeta a cambios. Para acceder a la versión beta, póngase en contacto con el gestor de cuentas en Equipo de ventas de GitHub. Por favor, proporcione comentarios en una discusión de GitHub Community.
Advertencia: La versión beta está pensada exclusivamente para pruebas y comentarios, y no hay soporte técnico disponible. GitHub recomienda realizar pruebas con una instancia de ensayo. Para obtener más información, vea «Configurar una instancia de preparación».
Acerca del aprovisionamiento de usuarios para GitHub Enterprise Server
Si usas el inicio de sesión único (SSO) de SAML para tu instancia de GitHub Enterprise Server, tú puedes 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 su IdP.
Configurar el aprovisionamiento permite a tu IdP comunicarse con tu instancia de GitHub Enterprise Server cuando asignas o anulas la asignación de la aplicación para GitHub Enterprise Server a un usuario en tu IdP. Cuando asignas la aplicación, tu IdP pedirá que tu instancia de GitHub Enterprise Server cree una cuenta y enviará un correo electrónico de incorporación al usuario. Cuando desasignas la aplicación, tu IdP se comunicará con GitHub Enterprise Server para invalidad cualquier sesión de SAML e inhabilitar la cuenta del miembro.
Para configurar el aprovisionamiento para tu empresa, debes inhabilitar el aprovisionamiento en GitHub Enterprise Server y posteriormente instalar y configurar una aplicación de aprovisionamiento en tu IdP.
La aplicación de aprovisionamiento en tu IdP se comunica con GitHub Enterprise Server con la API de SCIM. Para obtener más información, vea «Puntos de conexión de API de REST para SCIM».
Acerca de las identidades y las notificaciones
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.
Durante la autenticación, la instancia intenta asociar el usuario con una identidad de SAML. De manera predeterminada, la instancia compara la notificación NameID
del IdP con el nombre de usuario de la cuenta. GitHub Enterprise Server normaliza el valor de NameID
para la comparación. Para obtener más información sobre la normalización del nombre de usuario, consulta "Consideraciones sobre el nombre de usuario para la autenticación externa".
Si no hay ninguna cuenta existente con un nombre de usuario coincidente en la instancia, el usuario no podrá iniciar sesión. Para que coincida, GitHub Enterprise Server compara la notificación SAML NameId
del IdP con la notificación username
de cada cuenta de usuario aprovisionada por SCIM en la instancia.
Durante la autenticación SAML, puede que algunos entornos usen un valor distinto de NameID
como notificación de identificación única. Si el entorno no usa NameID
para identificar 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 "Configuring SAML single sign-on for your enterprise".
Si GitHub Enterprise Server 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.
Proveedores de identidad compatibles
Durante la versión beta privada, el equipo de la cuenta proporcionará documentación para la configuración de SCIM para GitHub Enterprise Server en un IdP compatible.
Requisitos previos
-
Debes configurar el inicio de sesión único de SAML para tu instancia de GitHub Enterprise Server. Para obtener más información, vea «Configuring SAML single sign-on for your enterprise».
-
Debes permitir la autenticación integrada para los usuarios que no tengan una cuenta en el IdP. Para obtener más información, vea «Permitir la autenticación integrada de los usuarios ajenos al proveedor».
-
El IdP debe admitir la realización de llamadas SCIM a un proveedor de servicios (SP).
-
Debes tener acceso administrativo en tu IdP para configurar la aplicación para el aprovisionamiento de usuarios para GitHub Enterprise Server.
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.
-
Crea una cuenta de usuario integrada para realizar acciones de aprovisionamiento en la instancia. Para obtener más información, vea «Permitir la autenticación integrada de los usuarios ajenos al proveedor».
-
Promueve la cuenta de usuario dedicada a un propietario de la empresa. Para obtener más información, vea «Invitar a las personas para que administren tu empresa».
-
Inicia sesión en la instancia como el nuevo propietario de la empresa.
-
Crea un personal access token con el ámbito admin:enterprise. No especifiques una fecha de expiración para el personal access token. Para obtener más información, vea «Administración de tokens de acceso personal».
Advertencia: Asegúrate de no especificar una fecha de expiración para el personal access token. Si especificas una fecha de expiración, SCIM ya no funcionará una vez superada la fecha de expiración.
Nota: 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.
ssh -p 122 admin@HOSTNAME
ssh -p 122 admin@HOSTNAME
-
Para habilitar SCIM, ejecuta los comandos que proporciona el administrador de cuentas en Equipo de ventas de GitHub.
-
Espera que se complete la fase de configuración.
-
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.
-
Configura el aprovisionamiento de usuarios en la aplicación para GitHub Enterprise Server en el IdP. Para solicitar documentación para un IdP compatible, contacta con el administrador de la cuenta en Equipo de ventas de GitHub. Si el IdP no es compatible, debes crear la aplicación y configurar SCIM manualmente.