Просмотр сведений о внешнем удостоверении для пользователя
Если пользователь не может успешно пройти проверку подлинности с помощью SAML, может оказаться полезным просмотреть сведения об удостоверении единого входа, связанном с учетной записью пользователя на GitHub. Дополнительные сведения см. в разделе Просмотр сведений о SAML-доступе пользователей к предприятию и управление ими.
Конфликты имен пользователей
Если ваше предприятие использует Enterprise Managed Users, GitHub нормализует значение атрибута SCIM, которое отправляется поставщиком удостоверений (IdP) в вызове API SCIM userName
, чтобы создать имя пользователя каждого пользователя на GitHub. Если несколько учетных записей нормализуются в одно и то же имя пользователя GitHub, происходит конфликт имен пользователей и создается только учетная запись первого пользователя. Дополнительные сведения см. в разделе Рекомендации по использованию имени пользователя для внешней проверки подлинности.
Ошибки при переключении конфигураций проверки подлинности
Если при переключении между различными конфигурациями проверки подлинности возникают проблемы, такие как изменение конфигурации единого входа SAML с учетной записи организации на корпоративную учетную запись, или переход с SAML на OIDC для Enterprise Managed Users, убедитесь, что вы следуете нашим рекомендациям по изменению.
- Переключение конфигурации SAML из организации на корпоративную учетную запись
- Миграция с SAML на OIDC
- Перенос предприятия в новый поставщик удостоверений или клиент
Получение доступа к предприятию, если единый вход недоступен
Если ошибка конфигурации или проблема с поставщиком удостоверений (IdP) не позволяет использовать единый вход, вы можете использовать код восстановления для доступа к учетной записи предприятия. Дополнительные сведения см. в разделе Доступ к учетной записи предприятия при недоступном поставщике удостоверений.
Ошибки подготовки SCIM
Чтобы избежать превышения предела скорости GitHub, не назначайте более 1000 пользователей в час интеграции SCIM с идентификатором поставщика удостоверений. Если вы используете группы для назначения пользователей приложению IdP, не добавляйте более 1000 пользователей в каждую группу в час. При превышении этих пороговых значений попытки подготовки пользователей могут завершиться ошибкой, связанной с ограничением скорости. Журналы поставщика удостоверений можно проверить, не удалось ли выполнить подготовку SCIM или операции отправки из-за ошибки ограничения скорости. Ответ на неудачную попытку подготовки будет зависеть от поставщика удостоверений.
Идентификатор Microsoft Entra (ранее известный как Azure AD) повторит попытку подготовки SCIM автоматически во время следующего цикла синхронизации идентификатора записи. Интервал подготовки SCIM по умолчанию для идентификатора Записи составляет 40 минут. Дополнительные сведения об этом поведении повторных попыток см. в документации Майкрософт или обратитесь в службу поддержки Майкрософт, если вам нужна дополнительная помощь.
Okta повторит неудачные попытки подготовки SCIM с помощью вмешательства администратора Okta вручную. Дополнительные сведения о том, как администратор Okta может повторить неудачную задачу для конкретного приложения, см. в документации okta или обратитесь в службу поддержки Okta.
В корпоративный с управляемыми пользователями, где SCIM обычно работает правильно, попытки подготовки SCIM отдельных пользователей иногда завершаются ошибкой. Пользователи не смогут войти, пока учетная запись не будет подготовлена к GitHub. Эти отдельные ошибки подготовки пользователей SCIM приводят к коду состояния HTTP 400 и обычно вызваны проблемами с нормализацией имени пользователя или конфликтами имени пользователя, где другой пользователь с тем же нормализованным именем пользователя уже существует в организации. См . раздел AUTOTITLE.
Ошибки проверки подлинности SAML
Если при попытке проверки подлинности с помощью SAML возникают ошибки, см. раздел Устранение неполадок с проверкой подлинности SAML.
Конфликтующие ошибки удостоверений SAML
Когда пользователи пытаются выполнить проверку подлинности с помощью поставщика удостоверений SAML (IdP) для доступа к организации GitHub или предприятия впервые, они могут столкнуться со следующим сообщением об ошибке.
Учетная запись пользователя GitHub [имя пользователя GitHub] в настоящее время не связана. Однако вы пытаетесь пройти проверку подлинности в поставщике удостоверений с помощью удостоверения SAML [учетная запись пользователя IdP], который уже связан с другой учетной записью пользователя GitHub в [организации/предприятия]. Обратитесь к одному из владельцев GitHub [организация/предприятие], чтобы получить помощь.
Если идентификатор idP имеет идентификатор Entra, сообщение об ошибке будет включать User Object ID
связанное удостоверение в идентификатор Entra ID, который GitHub называется External ID
.
Это сообщение об ошибке возникает, так как внешнее удостоверение может быть связано только с одной учетной записью пользователя GitHub в организации или организации.
Идентификация пользователя с конфликтующим удостоверением
При обращении пользователей с этой ошибкой можно выполнить следующие действия, чтобы определить конфликтующие учетные записи.
- Используйте API GraphQL GitHub, чтобы определить, какой пользователь связан с конфликтующим внешним удостоверением.
- Если SAML настроен на уровне организации** GitHub**: владелец организации должен запрашивать существующие внешние удостоверения на уровне организации и фильтровать их по SAML
NameID
учетной записи поставщика удостоверений, с которым пользователь выполняет проверку подлинности при возникновении этой ошибки. См. пример org-saml-identities-filtered-by-nameid-username.graphql в репозиторииplatform-samples
. - Если SAML настроен на уровне предприятия** GitHub**: владелец предприятия должен запрашивать существующие внешние удостоверения на корпоративном уровне и фильтровать их по SAML
NameID
учетной записи поставщика удостоверений, с которым пользователь выполняет проверку подлинности при возникновении этой ошибки. См. пример enterprise-saml-identities-filtered-by-nameid.graphql в репозиторииplatform-samples
.
- Если SAML настроен на уровне организации** GitHub**: владелец организации должен запрашивать существующие внешние удостоверения на уровне организации и фильтровать их по SAML
- Если вы определили пользователя GitHub, связанного с конфликтующим внешним удостоверением, чтобы убедиться, что пользователь по-прежнему активен в организации и любых организациях в нем, владелец предприятия может выполнить действия , описанные в AUTOTITLE.
Разрешение конфликта
Когда вы выполнили действия по выявлению конфликтующих учетных записей, существуют различные варианты разрешения в зависимости от ваших результатов. Если при попытке выполнить эти действия или возникнут проблемы, можно открыть запрос в службу поддержки GitHub с помощью Портал поддержки GitHub}.
- Конфликтующий пользователь GitHub больше не нуждается в доступе
- Конфликтующий пользователь GitHub по-прежнему нуждается в доступе
- Не найден конфликтующий пользователь GitHub
Конфликтующий пользователь GitHub больше не нуждается в доступе
Если есть учетная запись пользователя GitHub, связанная с конфликтующим внешним удостоверением, которое больше не требует доступа к организации или предприятия GitHub, удалите их в качестве члена. Если пользователь удален должным образом, это также должно удалить связанное удостоверение SAML и связанное удостоверение SCIM, если это существует на уровне организации.
- Если вы используете подготовку SCIM для управления членством в организации, необходимо отменить подготовку пользователя из поставщика удостоверений через SCIM, а не выполнить действия на сайте GitHub. В противном случае связанное удостоверение SAML и SCIM пользователя останется в организации, что может по-прежнему вызвать ошибку.
- Если для управления членством в организации не используется подготовка SCIM, см. раздел [AUTOTITLE или Удаление участника из организации](/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/removing-a-member-from-your-enterprise). Не забудьте также удалить доступ пользователя из приложения GitHub для организации или предприятия в idP.
Чтобы убедиться, что удостоверение SAML или SCIM успешно удалено из организации GitHub для пользователя, см. в разделе Устранение неполадок с управлением удостоверениями и доступом для вашей организации.
Конфликтующий пользователь GitHub по-прежнему нуждается в доступе
Если имеется учетная запись пользователя GitHub, связанная с конфликтующим внешним удостоверением, и этому пользователю по-прежнему нужен доступ к организации или предприятия, необходимо либо изменить связанное удостоверение для учетной записи пользователя, либо получить пользователя, получающего ошибку проверки подлинности с другим удостоверением поставщика удостоверений.
- Если вы используете подготовку SCIM для управления членством в организации и необходимо изменить внешнее удостоверение, связанное с учетной записью GitHub участника, отмените подготовку пользователя из поставщика удостоверений (например, отмените назначение и переназначение пользователя в приложение).
- При отмене подготовки пользователя IdP их учетная запись GitHub и связанное удостоверение SAML/SCIM будут удалены из организации GitHub.
- При повторной подготовке пользователя IdP в организацию GitHub будет создано новое приглашение отложенной организации и новое удостоверение SCIM без связи. Это позволит пользователю войти с помощью этой учетной записи пользователя GitHub, пройти проверку подлинности с помощью SAML и связать новое удостоверение поставщика удостоверений с учетной записью. Эти действия помогут убедиться, что новое удостоверение SAML и SCIM правильно связаны с учетной записью пользователя GitHub в организации.
- Если вы не используете подготовку SCIM для управления членством в организации или если SAML настроена на корпоративном уровне, вы можете отозвать связанное внешнее удостоверение для пользователя, выполнив действия, описанные в одной из следующих статей:
Не найден конфликтующий пользователь GitHub
Если нет учетной записи пользователя GitHub, связанной с конфликтующим внешним удостоверением, можно отозвать внешнее удостоверение.
- Если вы используете подготовку SCIM для управления членством в организации, удалите устаревшее удостоверение без связи из поставщика удостоверений (например, отмените назначение пользователя из приложения IdP).
- Если идентификатор поставщика удостоверений не отправляет соответствующий вызов API SCIM на GitHub, удостоверение останется в организации, что может по-прежнему вызвать ошибку.
- Чтобы убедиться, что удостоверение SAML или SCIM успешно удалено из организации GitHub для пользователя, см. в разделе Устранение неполадок с управлением удостоверениями и доступом для вашей организации.
- Если вы не используете подготовку SCIM для управления членством в организации, чтобы отозвать связанное внешнее удостоверение, перейдите к одному из следующих URL-адресов ниже, чтобы отозвать внешнее удостоверение. Замените
USERNAME
на имя пользователя GitHub, который не может войти в систему, илиORGANIZATION
ENTERPRISE
соответствующим значением.https://github.com/orgs/ORGANIZATION/people/USERNAME/sso
https://github.com/enterprises/ENTERPRISE/people/USERNAME/sso