Para criar, gerenciar e desativar contas de usuário para membros da empresa no GitHub, o IdP deve implementar o SCIM para comunicação com o GitHub. O SCIM é uma especificação aberta para gerenciamento de identidades de usuários entre sistemas. Diferentes IdPs fornecem experiências diferentes para a configuração do provisionamento do SCIM.
Se você usar um provedor de identidade de parceiro, poderá simplificar a configuração do provisionamento do SCIM usando o aplicativo desse provedor. Se você não usar um IdP de parceiro para provisionamento, poderá implementar o SCIM usando chamadas para a GitHubAPI REST do SCIM. Para obter mais informações, consulte Sobre os Enterprise Managed Users.
Observação
GitHub não testa nem valida aplicativos da galeria do IdP (provedor de identidade) para uso em ambientes de nuvem governamental, incluindo o Microsoft Entra ID Government Cloud e o Okta Government Cloud. Problemas de provisionamento de SCIM e autenticação que envolvem aplicativos de galeria nesses ambientes estão fora GitHubdo escopo de suporte.
Sobre o gerenciamento do ciclo de vida de usuários com o SCIM
Com o SCIM, você gerencia o ciclo de vida das contas de usuário do seu IdP:
- Depois de configurar o provisionamento para o Enterprise Managed Users, seu IdP usa SCIM para provisionar contas de usuário no GitHub e adicionar as contas à sua empresa. Se você atribuir um grupo ao aplicativo no IdP, o IdP provisionará contas para todos os membros do grupo.
- Quando você atualiza as informações associadas à identidade de um usuário no IdP, o IdP atualiza a conta do usuário no GitHub.
- Quando você cancela a atribuição do usuário do aplicativo do IdP ou desativa uma conta de usuário no IdP, o IdP se comunica com o GitHub para invalidar as sessões e desabilitar a conta do membro. As informações da conta desabilitada serão mantidas e o respectivo nome de usuário será alterado para um hash do nome de usuário original com o código curto acrescentado, se aplicável.
- Se você reatribuir um usuário ao aplicativo IdP ou reativar sua conta em seu IdP, a conta de usuário será reativada e o nome de usuário será restaurado.
Para configurar a associação da equipe e da organização, o acesso ao repositório e as permissões, você pode usar grupos no seu IdP. Para saber mais, confira Gerenciando associações de equipes com grupos de provedores de identidade.
Pré-requisitos
Se estiver configurando o provisionamento SCIM para uma nova empresa, certifique-se de concluir todas as etapas anteriores no processo de configuração inicial. Confira Introdução aos Enterprise Managed Users.
Configurando o provisionamento de usuários para Enterprise Managed Users
Depois de concluir a configuração em GitHub, você pode configurar o provisionamento no seu IdP. As instruções que você deve seguir diferem dependendo se você usa um aplicativo de IdP parceiro para autenticação e provisionamento.
- Como configurar o provisionamento se você usa um aplicativo de IdP parceiro
- Como configurar o provisionamento para outros sistemas de gerenciamento de identidades
Como configurar o provisionamento se você usa um aplicativo de IdP parceiro
Para usar o aplicativo de IdP de parceiro para autenticação e provisionamento, revise as instruções do parceiro para configurar o provisionamento nos links da tabela a seguir.
| IdP | Método de SSO | Instruções |
|---|---|---|
| Microsoft Entra ID (anteriormente conhecido como Azure AD) | OIDC | |
| Tutorial: configurar GitHub OIDC (Enterprise Managed User) para provisionamento automático de usuário no Microsoft Learn | ||
| Entra ID | SAML | |
| Tutorial: configurar GitHub Enterprise Managed User para provisionamento automático de usuário no Microsoft Learn | ||
| Okta | SAML | |
| Configurando a autenticação e o provisionamento do SCIM com Okta | ||
| PingFederate | SAML | As seções “Pré-requisitos” e “2. Configurar as seções do SCIM em Configurar autenticação e provisionamento com PingFederate |
Como configurar o provisionamento para outros sistemas de gerenciamento de identidades
Se você não usar um IdP de parceiro, ou se usar um IdP de parceiro apenas para autenticação SAML, poderá gerenciar o ciclo de vida das contas de usuário usando os endpoints da API REST de GitHub para provisionamento SCIM. Confira Provisionar usuários e grupos com SCIM usando a API REST.
Observação
Não há suporte para o uso da API REST para provisionamento SCIM em empresas habilitadas para OIDC.
O GitHub não oferece suporte expresso à mistura de IdPs de parceiros para autenticação e provisionamento e não testa todos os sistemas de gerenciamento de identidades. A equipe de suporte do GitHub talvez não consiga ajudar você em problemas relacionados a sistemas misturados ou não testados. Se você precisar de ajuda, consulte a documentação do sistema, a equipe de suporte ou outros recursos.
Importante
A combinação do Okta e do Entra ID para SSO e SCIM (em qualquer ordem) não tem suporte explicitamente. A API do SCIM do GitHub retornará um erro para o provedor de identidade mediante tentativas de provisionamento se essa combinação estiver configurada.
-
Entre como o usuário de instalação da sua empresa com o nome de usuário SHORTCODE_admin, substituindo SHORTCODE pelo código curto da sua empresa.
Observação
Caso precise redefinir a senha para o usuário de instalação, entre em contato com o Suporte do GitHub por meio do Portal de Suporte do GitHub. A opção usual de redefinição de senha, fornecendo seu email, não funcionará.
-
Navegue até sua empresa. Por exemplo, na página Enterprises em GitHub.com.
-
Na parte superior da página, clique em Provedor de identidade.
-
Em Identity Provider, clique em Single sign-on configuration.
-
Em "Abrir configuração do SCIM", selecione "Habilitar configuração aberta do SCIM".
-
Gerencie o ciclo de vida dos usuários fazendo chamadas para os pontos de extremidade da API REST para provisionamento do SCIM. Confira Provisionar usuários e grupos com SCIM usando a API REST.
Atribuindo usuários e grupos
Depois de configurar a autenticação e o provisionamento, você poderá provisionar novos usuários no GitHub ao atribuir usuários ou grupos ao GitHub Enterprise Managed User aplicativo.
Ao atribuir aos usuários, você poderá usar o atributo "Funções" no aplicativo em seu IdP para definir a função de um usuário na empresa. Para saber mais sobre as funções disponíveis para atribuição, confira Habilidades de funções em uma empresa.
O Entra ID não dá suporte ao provisionamento de grupos aninhados. Para obter mais informações, consulte Como o Provisionamento de Aplicativos funciona no Microsoft Entra ID no Microsoft Learn.