Note
Эта статья относится только к Enterprise Managed Users. Если вы используете GitHub Enterprise Cloud без Enterprise Managed Users, имена пользователей будут создаваться пользователями, а не GitHub.
Сведения об использовании имен пользователей с внешней проверкой подлинности
Если вы используете предприятие с Enterprise Managed Users, сотрудники вашего предприятия выполняют проверку подлинности для доступа к GitHub через вашего поставщика удостоверений SAML (IdP). Дополнительные сведения см. в разделе "[AUTOTITLE" и "Сведения о Enterprise Managed Users](/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise#authentication-methods-for-github-enterprise-server)".
GitHub автоматически создает имя пользователя для каждого пользователя при подготовке учетной записи пользователя с помощью SCIM.
- Чтобы создать имя пользователя, GitHub нормализует идентификатор, предоставленный идентификатором поставщика удостоверений.
- В GitHub.com{ GitHub также добавляет символ подчеркивания и короткий код вашей организации в конец каждого имени пользователя.
Если несколько идентификаторов нормализуются в одно и то же имя пользователя, возникает конфликт имен пользователей, и создается только первая учетная запись пользователя. Вы можете устранить проблемы с именем пользователя, изменив идентификатор поставщика удостоверений, чтобы нормализованные имена пользователей были уникальными и в пределах 39 символьного ограничения.
Сведения о коротких кодах для управляемые учетные записи пользователей
Каждое предприятие, использующее управляемые учетные записи пользователей, связано с коротким кодом, который является буквенно-цифровой строкой от трех до восьми символов.
Короткие коды для GitHub.com
При создании корпоративный с управляемыми пользователями на GitHub.comвы выбираете короткий код, который будет использоваться в качестве суффикса для всех имен пользователей вашего предприятия.
- Короткий код должен быть уникальным для вашего предприятия и содержать специальные символы.
- Тщательно выберите, так как изменить короткий код после создания корпоративный с управляемыми пользователями невозможно .
Пользователь установки, который настраивает единый вход SAML, имеет имя пользователя в формате SHORT-CODE_admin. Например, если короткий код вашего предприятия имеет значение "octo", пользователь установки будет "octo_admin".
При подготовке нового пользователя из поставщика удостоверений новый управляемая учетная запись пользователя будет иметь имя пользователя GitHub в формате @IDP-USERNAME_SHORT-CODE (например, mona-cat_octo).
Короткие коды для GHE.com
Если вы используете GitHub Enterprise Cloud с размещением данных, при создании корпоративный с управляемыми пользователями на GHE.com, короткий код вашей организации создается случайным образом.
- Короткий код не** используется **в качестве суффикса в именах пользователей, подготовленных пользователей.
- Единственное место, где вы, скорее всего, увидите короткий код в имени пользователя администратора установки, который будет выглядеть следующим
2abvd19d_admin
образом.
Сведения о нормализованных именах пользователей
Имена пользователей формируются путем нормализации значения атрибута SCIM userName
, отправляемого из поставщика удостоверений.
Поставщик удостоверений | Имя пользователя GitHub |
---|---|
Идентификатор Microsoft Entra (ранее известный как Azure AD) | IDP-USERNAME формируется путем нормализации символов, предшествующих @ символу в имени участника-пользователя (имя участника-пользователя), который не включает в себя #EXT# гостевые учетные записи. |
Okta | IDP-USERNAME — это нормализованный атрибут имени пользователя, предоставляемый IdP. |
Эти правила могут привести к тому, что IdP будет предоставлять один и тот же компонент IDP-USERNAME для нескольких пользователей. Например, для идентификатора Entra следующие имена участника-пользователя приводят к тому же имени пользователя:
bob@contoso.com
bob@fabrikam.com
bob#EXT#fabrikamcom@contoso.com
bob_example#EXT#fabrikamcom@contoso.com
bob_example.com#EXT#fabrikamcom@contoso.com
Это приведет к конфликту имени пользователя, и будет подготовлен только первый пользователь. Дополнительные сведения см. в разделе "Устранение проблем с именем пользователя".
Длина имен пользователей с подчеркиванием и коротким кодом не должна превышать 39 символов.
Сведения о нормализации имен пользователей
Имена пользователей для учетных записей пользователей в GitHub могут содержать только буквенно-цифровые символы и дефисы (-
).
При настройке проверки подлинности SAML GitHub Enterprise Cloud использует значение атрибута SCIM userName
, отправленное из поставщика удостоверений, чтобы определить имя пользователя для соответствующей учетной записи пользователя на GitHub. Если это значение включает неподдерживаемые символы, GitHub Enterprise Cloud нормализует имя пользователя в соответствии со следующими правилами.
-
GitHub Enterprise Cloud преобразует любой небуквенно-цифровой символ в имени пользователя вашей учетной записи в тире. Например, имя пользователя
mona.the.octocat
будет нормализовано доmona-the-octocat
. Обратите внимание, что нормализованные имена пользователей также не могут начинаться или заканчиваться дефисом. Они также не могут содержать два последовательных тире. -
Имена пользователей, созданные на основе адресов электронной почты, создаются на основе нормализованных символов, предшествующих символу
@
. -
Имена пользователей, созданные из учетных записей домена, создаются из нормализованных символов после
\\
разделителя. -
Если несколько учетных записей нормализуются в одно и то же имя пользователя GitHub Enterprise Cloud, создается только первая учетная запись пользователя. Последующие пользователи с тем же именем пользователя не смогут войти в систему. Дополнительные сведения см. в разделе "Устранение проблем с именем пользователя".
Примеры нормализации имен пользователей
Идентификатор поставщика | Нормализованное имя пользователя для GitHub.com | Результат |
---|---|---|
The.Octocat | the-octocat_SHORT-CODE | Это имя пользователя успешно создано. |
The.Octocat! | -the-octocat_SHORT-CODE | Это имя пользователя не создается, поскольку начинается с дефиса. |
The.Octocat! | the-octocat-_SHORT-CODE | Это имя пользователя не создается, поскольку заканчивается дефисом. |
The!!Octocat | the--octocat_SHORT-CODE | Это имя пользователя не создается, поскольку содержит два последовательных дефиса. |
The!Octocat | the-octocat_SHORT-CODE | Это имя пользователя не создается. Хотя нормализованное имя пользователя является допустимым, оно уже существует. |
The.Octocat@example.com | the-octocat_SHORT-CODE | Это имя пользователя не создается. Хотя нормализованное имя пользователя является допустимым, оно уже существует. |
internal\\The.Octocat | the-octocat_SHORT-CODE | Это имя пользователя не создается. Хотя нормализованное имя пользователя является допустимым, оно уже существует. |
mona.lisa.the.octocat.from.github.united.states@example.com | mona-lisa-the-octocat-from-github-united-states_SHORT-CODE | Это имя пользователя не создается, так как оно превышает ограничение в 39 символов. |
Устранение проблем с именем пользователя
При подготовке нового пользователя, если имя пользователя превышает 39 символов (включая символ подчеркивания и короткий код), или конфликтует с существующим пользователем в организации, попытка подготовки завершится ошибкой 409
.
Чтобы устранить эту проблему, необходимо внести одно из следующих изменений в идентификатор поставщика удостоверений, чтобы все нормализованные имена пользователей были в пределах ограничения символов и уникальны.
userName
Изменение значения атрибута для отдельных пользователей, вызывающих проблемыuserName
Изменение сопоставления атрибутов для всех пользователей- Настройка настраиваемого
userName
атрибута для всех пользователей
При изменении сопоставления атрибутов имена пользователей существующих управляемые учетные записи пользователей будут обновлены, но ничего другого о учетных записях не изменится, включая журнал действий.
Note
Служба поддержки GitHub не может помочь в настройке сопоставлений атрибутов или настройке пользовательских выражений. Вы можете обратиться к своему IdP с любыми вопросами.
Устранение проблем с именем пользователя с идентификатором Записи
Чтобы устранить проблемы с именем пользователя в идентификаторе записи, измените значение имени участника-пользователя для конфликтующего пользователя или измените сопоставление атрибутов для атрибута userName
. Если вы измените сопоставление атрибута, вы сможете выбрать существующий атрибут или использовать выражение, чтобы убедиться, что все подготовленные пользователи имеют уникальный нормализованный псевдоним.
- В идентификаторе записи откройте приложение GitHub Enterprise Managed User .
- В области слева щелкните Подготовка.
- Щелкните Изменить подготовку.
- Разверните вкладку "Сопоставления", а затем щелкните "Подготовка пользователей идентификатора записи".
- Щелкните сопоставление атрибута
userName
GitHub. - Измените сопоставление атрибута.
- Чтобы сопоставить существующий атрибут в entra ID с атрибутом
userName
в GitHub, щелкните нужное поле атрибута. Затем сохраните изменения и дождитесь завершения цикла подготовки в течение примерно 40 минут. - Чтобы использовать выражение вместо существующего атрибута, измените тип сопоставления на "Выражение", а затем добавьте пользовательское выражение, которое сделает это значение уникальным для всех пользователей. Например, можно использовать
[FIRST NAME]-[LAST NAME]-[EMPLOYEE ID]
. Дополнительные сведения см. в справочнике по написанию выражений для сопоставлений атрибутов в идентификаторе Microsoft Entra в Microsoft Learn.
- Чтобы сопоставить существующий атрибут в entra ID с атрибутом
Устранение проблем с именем пользователя с помощью Okta
Чтобы устранить проблемы с именем пользователя в Okta, обновите параметры сопоставления атрибутов для приложения GitHub Enterprise Managed User .
- В Okta откройте приложение GitHub Enterprise Managed User.
- Щелкните Войти.
- В разделе "Параметры" щелкните OK.
- Обновите раздел "Формат имени пользователя приложения".