Nota:
Este artículo solo se aplica a Enterprise Managed Users. Si usa GitHub Enterprise Cloud sin Enterprise Managed Users, los usuarios crean nombres de usuario, no GitHub.
Acerca de los nombres de usuario con autenticación externa
Si utiliza una empresa con Enterprise Managed Users, los miembros de su empresa se autentican para acceder a GitHub a través de su proveedor de identidades SAML (IdP). Para más información, consulta Acerca de Enterprise Managed Users y Aspectos básicos de la administración de identidades y acceso.
GitHub crea automáticamente un nombre de usuario para cada persona cuando se aprovisiona su cuenta de usuario a través de SCIM.
- Para crear el nombre de usuario, GitHub normaliza un identificador proporcionado por el IdP.
- En GitHub.com, GitHub también agrega un carácter de subrayado y el código corto de la empresa al final de cada nombre de usuario.
Si se normalizan varios identificadores en el mismo nombre de usuario, se produce un conflicto de nombre de usuario y solo se crea la primera cuenta de usuario. Para resolver problemas de nombre de usuario, realiza un cambio en el IdP para que los nombres de usuario normalizados sean únicos y tengan un límite de 39 caracteres.
Nota:
Los conflictos solo pueden producirse entre los usuarios de la misma empresa. Cuentas de usuario administradas puede compartir identificadores de IdP o direcciones de correo electrónico con otras cuentas de usuario en GitHub.com que están fuera de la empresa.
Acerca de los códigos cortos para cuentas de usuario administradas
Cada empresa que usa cuentas de usuario administradas está asociada a un código corto, que es una cadena alfanumérica entre tres y ocho caracteres.
Códigos cortos en GitHub.com
Al crear un empresa con usuarios administrados en GitHub.com, elija un código corto que se usará como sufijo para todos los nombres de usuario de los miembros de la empresa.
- El código corto debe ser único para tu empresa y no contener caracteres especiales.
- Elija cuidadosamente, dado que no es posible modificar el shortcode después tras crear su empresa con usuarios administrados.
El usuario de configuración que configura el inicio de sesión único de SAML tiene un nombre de usuario con el formato SHORT-CODE_admin. Por ejemplo, si el código corto de la empresa es "octo", el usuario de configuración será "octo_admin".
Al aprovisionar un nuevo usuario del proveedor de identidades, el nuevo cuenta de usuario administrada tendrá un GitHub nombre de usuario en el formato de @IDP-USERNAME_SHORT-CODE (por ejemplo, "mona-cat_octo").
Códigos cortos en GHE.com
Si usa Nube de GitHub Enterprise con residencia de datos, cuando crea un empresa con usuarios administrados en GHE.com, el código abreviado de su empresa se genera de forma aleatoria.
- Para cuentas de usuario administradas con residencia de datos, el código corto está oculto, pero todavía se anexa como sufijo a los nombres de usuario de los usuarios aprovisionados.
- El único lugar en el que es probable que veas el código corto es en el nombre de usuario del administrador de configuración, que será parecido a:
2abvd19d_admin.
Nota:
Debido a la inclusión del código corto oculto, el límite de caracteres para los nombres de usuario se reduce de 39 a 30 caracteres para Nube de GitHub Enterprise con residencia de datos.
Acerca de los nombres de usuario normalizados
Los nombres de usuario se forman con la normalización del valor del atributo userName de SCIM que se envía desde el IdP.
| Proveedor de identidades |
GitHub nombre de usuario |
|-----------------------------------|----------------------|
| Microsoft Entra ID (anteriormente conocido como Azure AD) | IDP-USERNAME se forma normalizando los caracteres anteriores al carácter @ en el UPN (nombre principal de usuario), que no incluye el valor #EXT# para las cuentas de invitado. |
| Okta | IDP-USERNAME es el atributo de nombre de usuario normalizado que proporciona el IdP. |
Estas reglas pueden dar lugar a que el IdP proporcione el mismo IDP-USERNAME para varios usuarios. Por ejemplo, para Entra ID, los siguientes UPN darán como resultado el mismo nombre de usuario:
bob@contoso.combob@fabrikam.combob#EXT#fabrikamcom@contoso.combob_example#EXT#fabrikamcom@contoso.combob_example.com#EXT#fabrikamcom@contoso.com
Esto provocará un conflicto de nombre de usuario y solo se aprovisionará el primer usuario. Para obtener más información, consulta Resolución de problemas de nombre de usuario.
Los nombres de usuario, incluido el carácter de subrayado y el código corto, no deben superar los 39 caracteres.
Acerca de la normalización del nombre de usuario
Los nombres de usuario de las cuentas en GitHub solo pueden contener caracteres alfanuméricos y guiones (-).
Al configurar la autenticación SAML, GitHub usa el valor del atributo SCIM userName enviado desde el IdP para determinar el nombre de usuario de la cuenta de usuario correspondiente en GitHub. Si este valor incluye caracteres no admitidos, GitHub normalizará el nombre de usuario según las reglas siguientes.
-
GitHub normalizará cualquier carácter no alfanumérico en el nombre de usuario de la cuenta convirtiéndolo en un guion. Por ejemplo, un nombre de usuario de `mona.the.octocat` se normalizará en `mona-the-octocat`. Nota que los nombres de usuarios normalizados tampoco pueden comenzar o terminar con una raya. Tampoco pueden contener dos rayas seguidas. -
El uso de mayúsculas y minúsculas en el valor proporcionado por el IdP se conserva en el nombre de usuario normalizado.
-
Los nombres de usuario creados a partir de direcciones de correo electrónico se crean con los caracteres normalizados que preceden al carácter
@. -
Los nombres de usuario creados a partir de cuentas de dominio se crean a partir de los caracteres normalizados después del separador
\\. -
Si se normalizan varias cuentas en el mismo nombre de usuario, solo se creará la primera cuenta de usuario. Los siguientes usuarios con el mismo nombre de usuario no podrán registrarse. Para obtener más información, consulte Resolución de problemas de nombre de usuario.
Ejemplos de normalización de nombres de usuario
| Identificador en el proveedor | Nombre de usuario normalizado en GitHub.com | Resultado |
|---|---|---|
| The.Octocat | The-Octocat_SHORT-CODE | El nombre de usuario se ha creado con éxito. |
| !The.Octocat | -The-Octocat_SHORT-CODE | No se crea este nombre de usuario debido a que comienza con una raya. |
| The!!Octocat | The--Octocat_SHORT-CODE | No se crea este nombre de usuario debido a que contiene dos rayas seguidas. |
| The!Octocat | The-Octocat_SHORT-CODE | No se crea este nombre de usuario. A pesar de que el nombre de usuario normalizado es válido, ya existía. |
The.Octocat@example.com | The-Octocat_SHORT-CODE | No se crea este nombre de usuario. A pesar de que el nombre de usuario normalizado es válido, ya existía. |
internal\ | The-Octocat_SHORT-CODE | No se crea este nombre de usuario. A pesar de que el nombre de usuario normalizado es válido, ya existía. |
mona.lisa.the.octocat.from.github.united.states@example.com | mona-lisa-the-octocat-from-github-united-states_SHORT-CODE | Este nombre de usuario no se crea porque supera el límite de 39 caracteres. |
Resolución de problemas de nombre de usuario
Cuando se aprovisiona un usuario nuevo, si el nombre de usuario entra en conflicto con un usuario existente en la empresa, se producirá un error 409 en el intento de aprovisionamiento. Si el nombre de usuario tiene más de 39 caracteres (incluido el carácter de subrayado y el código corto), el intento de aprovisionamiento producirá un error 400. Para obtener una lista completa de los posibles códigos de estado de aprovisionamiento de usuarios, consulta Puntos de conexión de API de REST para SCIM.
Para resolver este problema, debes realizar uno de los siguientes cambios en el IdP para que todos los nombres de usuario normalizados estén dentro del límite de caracteres y sean únicos.
- Cambiar el valor del atributo
userNamepara usuarios individuales que están causando problemas - Cambiar la asignación de atributos
userNamepara todos los usuarios - Configurar un atributo
userNamepersonalizado para todos los usuarios
Al cambiar la asignación de atributos, se actualizarán los nombres de usuario de existentes cuentas de usuario administradas , pero nada más sobre las cuentas cambiará, incluido el historial de actividad.
Nota:
Soporte de GitHub no puede proporcionar ayuda para personalizar las asignaciones de atributos ni configurar expresiones personalizadas. Puedes ponerte en contacto con tu IdP si tienes alguna duda.
Resolución de problemas de nombre de usuario con Entra ID
Para resolver problemas de nombre de usuario en Entra ID, modifica el valor de nombre principal del usuario en conflicto o la asignación de atributos para el atributo userName. Si modificas la asignación de atributos, puedes elegir un atributo existente o usar una expresión para asegurarte de que todos los usuarios aprovisionados tengan un alias normalizado único.
- En Entra ID, abra la aplicación GitHub Enterprise Managed User.
- En la barra lateral de la izquierda, haz clic en Aprovisionamiento.
- Haz clic en Editar aprovisionamiento.
- Expande Asignaciones y, después, haz clic en Aprovisionar usuarios de Entra ID.
- Haga clic en la asignación de atributos GitHub
userName. - Cambia la asignación de atributos.
- Para asignar un atributo existente en Entra ID al atributo
userNamede GitHub, haga clic en el campo del atributo que desee. Después, guarda y espera a que se produzca un ciclo de aprovisionamiento, en un plazo de unos 40 minutos. - Para usar una expresión en lugar de un atributo existente, cambia el tipo de asignación a "Expresión" y agrega una expresión personalizada que haga que este valor sea único para todos los usuarios. Por ejemplo, podrías usar
[FIRST NAME]-[LAST NAME]-[EMPLOYEE ID]. Para obtener más información, vea Reference para escribir expresiones para asignaciones de atributos en Microsoft Entra ID en Microsoft Learn.
- Para asignar un atributo existente en Entra ID al atributo
Resolución de problemas de nombre de usuario con Okta
Para resolver problemas de nombre de usuario en Okta, actualice la configuración de asignación de atributos de la GitHub Enterprise Managed User aplicación.
- En Okta, abra la GitHub Enterprise Managed User aplicación.
- Haga clic en Sign on (Iniciar sesión).
- En la sección "Configuración", haz clic en Editar.
- Actualiza el "Formato de nombre de usuario de la aplicación".