Como funciona a autenticação do GitHub?
Na unidade anterior, você aprendeu sobre tarefas típicas de administração no nível de equipe, organização e empresa. Nesta unidade, você explorará uma das tarefas administrativas mais comuns executadas pelos proprietários da organização, que é configurar e controlar a autenticação dos usuários no GitHub.
Opções de autenticação do GitHub
Existem várias opções para autenticação com o GitHub:
Nome de utilizador e palavra-passe
Os administradores podem permitir que os usuários continuem usando o método de autenticação padrão de nome de usuário e senha, às vezes conhecido como esquema de autenticação HTTP "básico".
Observação
O GitHub não suporta mais a autenticação de senha para operações do Git ou uso da API. Recomendamos vivamente a utilização de uma (ou várias) das outras opções listadas nesta unidade.
Tokens de acesso pessoal
Os tokens de acesso pessoal (PATs) são uma alternativa ao uso de senhas para autenticação no GitHub ao usar a API do GitHub ou a linha de comando. Os usuários geram um token por meio da opção de configurações do GitHub e vinculam as permissões do token a um repositório ou organização. Quando os usuários interagem com o GitHub usando a ferramenta de linha de comando git, eles podem inserir as informações do token quando lhes for solicitado seu nome de usuário e senha.
Chaves SSH
Como alternativa ao uso de tokens de acesso pessoal, os usuários podem se conectar e autenticar em servidores e serviços remotos via SSH com a ajuda de chaves SSH. As chaves SSH eliminam a necessidade de os usuários fornecerem seu nome de usuário e token de acesso pessoal para cada interação.
Ao configurar o SSH, os usuários geram uma chave SSH, adicionam-na ao ssh-agent e, em seguida, adicionam a chave à sua conta do GitHub. Adicionar a chave SSH ao ssh-agent garante que a chave SSH tenha uma senha como uma camada extra de segurança. Os usuários podem configurar sua cópia local do git para fornecer automaticamente a senha, ou podem fornecê-la manualmente cada vez que usam a ferramenta de linha de comando git para interagir com o GitHub.
Você pode até mesmo usar chaves SSH com um repositório de propriedade de uma organização que usa logon único (SSO) SAML. Se a organização fornecer certificados SSH, os usuários também poderão usá-lo para acessar os repositórios da organização sem adicionar o certificado à sua conta do GitHub.
Implantar chaves
As chaves de implantação são outro tipo de chave SSH no GitHub que concede ao usuário acesso a um único repositório. O GitHub anexa a parte pública da chave diretamente ao repositório, em vez de uma conta de usuário pessoal, e a parte privada da chave permanece no servidor do usuário. As chaves de implantação são somente leitura por padrão, mas você pode conceder a elas acesso de gravação ao adicioná-las a um repositório.
Para configurar as definições do fork:
- Vá para as Configurações do repositório.
- Na barra lateral esquerda, em Segurança, clique em Implantar chaves.
- Localize a opção Adicionar chave de implantação para criar uma nova chave.
Opções de segurança adicionadas do GitHub
O GitHub fornece uma variedade de opções de segurança para ajudar a proteger contas e recursos organizacionais.
Autenticação de dois fatores
A autenticação de dois fatores (2FA), às vezes conhecida como autenticação multifator (MFA), adiciona uma camada extra de proteção à sua conta do GitHub. Com o 2FA, os utilizadores iniciam sessão com o seu nome de utilizador e palavra-passe e, em seguida, fornecem uma segunda forma de autenticação.
O GitHub suporta várias opções de segundo fator:
- Aplicativos autenticadores (como Microsoft Authenticator, Google Authenticator ou Authy) que geram códigos únicos baseados no tempo.
- Chaves de segurança de hardware (como YubiKey ou Titan Security Key) que suportam FIDO2/WebAuthn.
- Chaves de acesso para autenticação sem senha e resistente a phishing.
- Códigos baseados em SMS, que são suportados, mas considerados menos seguros do que outras opções e não são recomendados como método principal.
Imposição de 2FA:
- Para organizações no GitHub Team e no GitHub Enterprise Cloud, os proprietários da organização podem exigir que membros, colaboradores externos e gerentes de faturamento habilitem o 2FA para suas contas pessoais.
- Enterprise Managed Users (EMUs) e GitHub Enterprise Server (GHE.com): os administradores podem exigir 2FA apenas para contas gerenciadas pela empresa, mas não podem impor 2FA nas contas de GitHub.com pessoais dos usuários.
A aplicação do 2FA ajuda a proteger as organizações contra acesso não autorizado e fortalece a segurança de repositórios e dados confidenciais.
SAML SSO
Se você gerenciar centralmente as identidades dos usuários com um provedor de identidade (IdP), poderá configurar o logon único (SSO) do SAML para proteger os recursos da sua organização no GitHub. O SSO SAML permite que os proprietários de organizações e empresas controlem e protejam o acesso a repositórios, problemas, solicitações pull e muito mais. Ao acessar recursos, o GitHub redireciona os usuários para se autenticarem com o IdP da organização.
O GitHub suporta todos os provedores de identidade que implementam o padrão SAML 2.0, com suporte oficial para vários provedores populares, incluindo:
- Serviços de Federação do Ative Directory (AD FS).
- ID do Microsoft Entra.
- Okta.
- OneLogin.
- PingOne.
LDAP (GitHub Enterprise Server)
LDAP (Lightweight Directory Access Protocol) é um protocolo amplamente utilizado para acessar e gerenciar informações de diretório de usuários. No GitHub Enterprise Server, a integração LDAP permite que você autentique usuários no diretório da empresa existente e gerencie o acesso ao repositório centralmente.
O GitHub Enterprise Server integra-se com os principais serviços LDAP, tais como:
O GitHub Enterprise Server integra-se com serviços LDAP populares, como:
- Ative Directory.
- Oracle Directory Server Enterprise Edition.
- OpenLDAP.
- Abra o diretório.