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 o Enterprise Managed Users.
Observação
GitHub não testa nem valida aplicativos da galeria do provedor de identidade (IdP) para uso em ambientes de nuvem governamental, incluindo a Nuvem do Governo do Microsoft Entra ID e a Nuvem do Governo Okta. 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, Enterprise Managed Userso IdP usará o SCIM para provisionar contas GitHub de usuário e adicionar as contas à sua empresa. Se você atribuir um grupo ao aplicativo em seu IdP, seu IdP provisionará contas para todos os membros do grupo.
- Quando você atualiza informações associadas à identidade do usuário em seu IdP, seu IdP atualiza a conta do usuário em GitHub.
- Quando você remover a atribuição do usuário do aplicativo no IdP ou desativar a conta do usuário no IdP, seu IdP se comunicará com GitHub para invalidar quaisquer sessões e desativar a conta do membro. As informações da conta desabilitada são mantidas e seu nome de usuário é alterado para um hash de seu 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 em 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 Primeiros passos com 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 ecom o 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 usuários, você pode usar o atributo "Roles" no aplicativo do seu IdP para definir a função de um usuário na sua 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.