Skip to main content

Solução de problemas de gerenciamento de identidade e acesso da empresa

Examine os problemas e as soluções comuns para o gerenciamento de identidade e acesso da empresa.

Exibir informações de identidade externa de um usuário

Se um usuário não conseguir se autenticar com êxito usando SAML, talvez seja útil exibir informações sobre a identidade de logon único vinculada à conta do usuário em GitHub. Para saber mais, confira Visualizar e gerenciar o acesso SAML de um usuário à sua empresa.

Conflitos de nome de usuário

Se a sua empresa usar os Enterprise Managed Users, o GitHub normalizará o valor do atributo userName do SCIM que é enviado por um IdP (provedor de identidade) em uma chamada à API do SCIM para criar o nome de usuário de cada pessoa no GitHub. Se várias contas forem normalizadas com o mesmo nome de usuário do GitHub, apenas a primeira conta de usuário será criada. Para saber mais, confira Considerações de nome de usuário para autenticação externa.

Erros ao alternar as configurações de autenticação

Se você estiver com problemas ao alternar entre diferentes configurações de autenticação, como alterar a configuração de SSO do SAML de uma organização para uma conta empresarial ou migrar do SAML para o OIDC com Enterprise Managed Users, verifique se as práticas recomendadas para a alteração estão sendo seguidas.

Como acessar a empresa quando o SSO não estiver disponível

Se um erro de configuração ou um problema com o IdP (provedor de identidade) impedir que você use o SSO, use um código de recuperação para acessar a empresa. Para saber mais, confira Acessando a conta corporativa se seu provedor de identidade estiver indisponível.

Erros de provisionamento SCIM

Para evitar exceder o limite de taxa do GitHub, não atribua mais de 1.000 usuários por hora à integração do SCIM no IdP. Se você usar grupos para atribuir usuários ao aplicativo do IdP, não adicione mais de mil usuários a cada grupo por hora. Se você exceder esses limites, as tentativas de provisionar usuários poderão falhar com um erro de "limite de taxa". Você pode examinar os logs do IdP para confirmar se houve falha no provisionamento do SCIM ou nas operações de push devido a um erro de limite de taxa. A resposta a uma tentativa de provisionamento com falha dependerá do IdP.

O Microsoft Entra ID (o antigo Azure AD) tentará novamente as tentativas de provisionamento SCIM automaticamente durante o próximo ciclo de sincronização do Entra ID. O intervalo de provisionamento SCIM padrão para o Entra ID é de 40 minutos. Para obter mais informações sobre esse comportamento de repetição, confira a documentação da Microsoft ou entre em contato com Suporte da Microsoft se precisar de assistência adicional.

O Okta tentará novamente os esforços de provisionamento SCIM com intervenção manual do administrador do Okta. Para obter mais informações sobre como um administrador do Okta pode tentar novamente uma tarefa com falha para um aplicativo específico, confira a documentação do Okta ou entre em contato com o suporte do Okta.

Em um empresa com usuários gerenciados em que o SCIM geralmente está funcionando corretamente, as tentativas de provisionamento do SCIM de usuários individuais às vezes falham. Os usuários não poderão entrar até que sua conta seja provisionada para o GitHub. Essas falhas individuais de provisionamento de usuário SCIM resultam em um código de status HTTP 400 e geralmente são causadas por problemas com a normalização de nome de usuário ou conflitos de nome de usuário, em que outro usuário com o mesmo nome de usuário normalizado já existe na empresa. Confira Considerações de nome de usuário para autenticação externa.

Erros de autenticação do SAML

Se os usuários estiverem recebendo erros ao tentar a autenticação com o SAML, confira Autenticação SAML.

Erros de identidades SAML conflitantes

Quando os usuários tentam se autenticar com seu IdP (provedor de identidade SAML) para acessar uma organização ou empresa do GitHub pela primeira vez, eles podem encontrar a mensagem de erro a seguir.

Sua conta de usuário do GitHub [nome de usuário do GitHub] está desvinculada no momento. No entanto, você está tentando se autenticar com seu Provedor de Identidade usando a identidade SAML [conta de usuário IdP], que já está vinculada a uma conta de usuário do GitHub diferente na [organização/empresa]. Entre em contato com um dos proprietários da [organização/empresa] do GitHub para obter assistência.

Se o IdP for a Entra ID, a mensagem de erro incluirá o User Object ID da identidade vinculada na Entra ID, a que o GitHub se refere como o External ID.

Essa mensagem de erro ocorre porque uma identidade externa só pode ser vinculada a uma conta de usuário do GitHub em uma organização ou empresa.

Identificando o usuário com uma identidade conflitante

Quando os usuários entram em contato com você com esse erro, você pode executar as etapas a seguir para identificar as contas conflitantes.

  1. Use a API GraphQL do GitHub para determinar qual usuário está vinculado à identidade externa conflitante.
    • Se o SAML estiver configurado no nível da organização do GitHub: um proprietário da organização deverá consultar as identidades externas existentes no nível da organização e filtrá-las pelo NameID SAML da conta do IdP com a qual o usuário está autenticando quando esse erro ocorre. Consulte o exemplo org-saml-identities-filtered-by-nameid-username.graphql no repositório platform-samples.
    • Se o SAML estiver configurado no nível da empresa do GitHub: um proprietário da empresa deverá consultar as identidades externas existentes no nível da empresa e filtrá-las pelo SAML NameID da conta do IdP com a qual o usuário está autenticando quando esse erro ocorre. Consulte o exemplo enterprise-saml-identities-filtered-by-nameid.graphql no repositório platform-samples.
  2. Se você identificou um usuário do GitHub associado à identidade externa conflitante, para confirmar se ele ainda está ativo na empresa e em qualquer organização dentro dela, um proprietário da empresa poderá seguir as etapas em Visualizar pessoas na sua empresa.

Resolvendo o conflito

Após você seguir as etapas para identificar contas conflitantes, há várias opções de resolução dependendo de suas descobertas. Se encontrar problemas ao tentar seguir estas etapas ou tiver dúvidas, abra um tíquete de suporte do GitHub usando o Portal de Suporte do GitHub.

Usuário conflitante do GitHub não precisa mais de acesso

Se houver uma conta de usuário do GitHub associada à identidade externa conflitante que não precisa mais de acesso à organização ou à empresa do GitHub, remova-a como membro. Se o usuário for removido corretamente, isso também deverá remover a identidade SAML dele vinculada e a identidade SCIM vinculada se ela existir no nível da organização.

  • Se você usa o provisionamento SCIM para gerenciar a associação à organização, desprovisione o usuário do IdP via SCIM em vez de seguir as etapas no GitHub. Caso contrário, a identidade SAML e SCIM vinculada do usuário permanecerá na organização, o que pode continuar causando o erro.
  • Se você não usa o provisionamento SCIM para gerenciar a associação à organização, consulte Remover um integrante da organização ou Removendo um integrante da sua empresa. Remova também o acesso do usuário do aplicativo GitHub para a organização ou empresa em seu IdP.

Para confirmar se uma identidade SAML ou SCIM foi removida com êxito de uma organização do GitHub para um usuário, consulte Solução de problemas de gerenciamento de identidade e acesso da organização.

Usuário conflitante do GitHub ainda precisa de acesso

Se houver uma conta de usuário do GitHub associada à identidade externa conflitante e esse usuário ainda precisar de acesso à organização ou à empresa, você precisará alterar a identidade vinculada da conta de usuário ou fazer com que o usuário que está recebendo o erro autentique com uma identidade IdP diferente.

  • Se você usa o provisionamento SCIM para gerenciar a associação a uma organização e precisa alterar a identidade externa vinculada à conta do GitHub do membro, desprovisione e reprovisione o usuário do IdP (por exemplo, cancele a atribuição e reatribua o usuário ao aplicativo).
    • Quando o usuário IdP for desprovisionado, sua conta do GitHub e a identidade SAML/SCIM vinculada serão removidas da organização do GitHub.
    • Quando o usuário do IdP for reprovisionado para a organização do GitHub, um novo convite de organização pendente e uma nova identidade SCIM desvinculada serão criados. Isso permitirá que o usuário entre com essa conta de usuário do GitHub, autentique-se via SAML e vincule a nova identidade IdP à conta dele. Essas etapas ajudarão a garantir que a nova identidade SAML e SCIM esteja vinculada corretamente à conta de usuário do GitHub na organização.
  • Se você não usa o provisionamento SCIM para gerenciar a associação à organização ou se o SAML está configurado no nível da empresa, você poderá revogar a identidade externa vinculada para o usuário seguindo as etapas em um dos seguintes artigos:

Nenhum usuário conflitante do GitHub encontrado

Se não houver uma conta de usuário do GitHub associada à identidade externa conflitante, você poderá revogar a identidade externa.

  • Se você usa o provisionamento SCIM para gerenciar a associação à organização, remova a identidade obsoleta e desvinculada do IdP (por exemplo, desvincule o usuário do aplicativo IdP).
  • Se você não usa o provisionamento SCIM para gerenciar a associação à organização, para revogar a identidade externa vinculada, navegue até uma das URLs a seguir para revogar a identidade externa. Substitua USERNAME pelo nome de usuário do GitHub do usuário que não pode entrar e ORGANIZATION ou ENTERPRISE pelo valor apropriado.
    • https://github.com/orgs/ORGANIZATION/people/USERNAME/sso
    • https://github.com/enterprises/ENTERPRISE/people/USERNAME/sso

Leitura adicional