Hoe werkt GitHub-verificatie?

Voltooid

In de vorige les hebt u geleerd over typische beheertaken op team-, organisatie- en ondernemingsniveau. In deze les verkent u een van de meest voorkomende beheertaken die worden uitgevoerd door eigenaren van organisaties, die verificatie van gebruikers voor GitHub instellen en beheren.

Verificatieopties van GitHub

Er zijn verschillende opties voor verificatie met GitHub:

Gebruikersnaam en wachtwoord

Beheerders kunnen gebruikers toestaan om de standaardmethode voor gebruikersnaam en wachtwoordverificatie te blijven gebruiken, ook wel bekend als het 'eenvoudige' HTTP-verificatieschema.

Opmerking

GitHub biedt geen ondersteuning meer voor wachtwoordverificatie voor Git-bewerkingen of API-gebruik. We raden u ten zeerste aan een (of meerdere) van de andere opties te gebruiken die in deze les worden vermeld.

Persoonlijke toegangstokens

Schermopname van het persoonlijke toegangstokenscherm.

Persoonlijke toegangstokens (PAT's) zijn een alternatief voor het gebruik van wachtwoorden voor verificatie bij GitHub wanneer u de GitHub-API of de opdrachtregel gebruikt. Gebruikers genereren een token via de optie instellingen van GitHub en koppelen de tokenmachtigingen aan een opslagplaats of organisatie. Wanneer gebruikers communiceren met GitHub met behulp van het git-opdrachtregelprogramma, kunnen ze de tokengegevens invoeren wanneer ze om hun gebruikersnaam en wachtwoord worden gevraagd.

SSH-sleutels

Als alternatief voor het gebruik van persoonlijke toegangstokens kunnen gebruikers verbinding maken met en verifiëren bij externe servers en services via SSH met behulp van SSH-sleutels. Met SSH-sleutels hoeven gebruikers hun gebruikersnaam en persoonlijke toegangstoken niet op te geven voor elke interactie.

Bij het instellen van SSH genereren gebruikers een SSH-sleutel, voegt u deze toe aan de ssh-agent en voegt u de sleutel vervolgens toe aan het GitHub-account. Als u de SSH-sleutel toevoegt aan de ssh-agent, zorgt u ervoor dat de SSH-sleutel een wachtwoordzin heeft als extra beveiligingslaag. Gebruikers kunnen hun lokale exemplaar van Git configureren om automatisch de wachtwoordzin op te geven, of ze kunnen deze handmatig opgeven telkens wanneer ze het git-opdrachtregelprogramma gebruiken om te communiceren met GitHub.

U kunt zelfs SSH-sleutels gebruiken met een opslagplaats die eigendom is van een organisatie die gebruikmaakt van SAML-eenmalige aanmelding (SSO). Als de organisatie SSH-certificaten levert, kunnen gebruikers deze ook gebruiken om toegang te krijgen tot de opslagplaatsen van de organisatie zonder het certificaat toe te voegen aan hun GitHub-account.

Sleutels implementeren

Implementatiesleutels zijn een ander type SSH-sleutel in GitHub waarmee een gebruiker toegang verleent tot één opslagplaats. GitHub koppelt het openbare deel van de sleutel rechtstreeks aan de opslagplaats in plaats van een persoonlijk gebruikersaccount en het privégedeelte van de sleutel blijft op de server van de gebruiker staan. Implementatiesleutels zijn standaard alleen-lezen, maar u kunt ze schrijftoegang geven bij het toevoegen aan een opslagplaats.

Fork-instellingen configureren:

  1. Ga naar de instellingen van de opslagplaats.
  2. Klik in de linkerzijbalk onder Beveiliging op Sleutels implementeren.
  3. Zoek de optie Implementatiesleutel toevoegen om een nieuwe sleutel te maken.

Schermopname van de optie Implementatiesleutel toevoegen in de optie Sleutels implementeren.

Extra beveiligingsopties van GitHub

GitHub biedt een scala aan beveiligingsopties om accounts en organisatieresources te beveiligen.

Tweeledige verificatie

Schermopname van het scherm voor tweeledige verificatie.

Tweeledige verificatie (2FA), ook wel meervoudige verificatie (MFA) genoemd, voegt een extra beveiligingslaag toe aan uw GitHub-account. Met 2FA melden gebruikers zich aan met hun gebruikersnaam en wachtwoord en geven ze vervolgens een tweede vorm van verificatie op.

GitHub ondersteunt verschillende opties voor de tweede factor:

  • Verificator-apps (zoals Microsoft Authenticator, Google Authenticator of Authy) die eenmalige op tijd gebaseerde codes genereren.
  • Hardwarebeveiligingssleutels (zoals YubiKey of Titan Security Key) die FIDO2/WebAuthn ondersteunen.
  • Wachtwoordsleutels voor wachtwoordloze, phishingbestendige verificatie.
  • Op sms gebaseerde codes, die worden ondersteund, maar als minder veilig worden beschouwd dan andere opties en worden niet aanbevolen als primaire methode.

2FA afdwingen:

  • Voor organisaties in GitHub Team en GitHub Enterprise Cloud kunnen eigenaren van organisaties leden, externe medewerkers en factureringsmanagers vereisen om 2FA in te schakelen voor hun persoonlijke accounts.
  • Enterprise Managed Users (EMU's) en GitHub Enterprise Server (GHE.com): beheerders kunnen alleen 2FA vereisen voor door ondernemingen beheerde accounts, maar kunnen geen 2FA afdwingen voor persoonlijke GitHub.com-accounts van gebruikers.

Het afdwingen van 2FA helpt organisaties te beschermen tegen onbevoegde toegang en versterkt de beveiliging van opslagplaatsen en gevoelige gegevens.

Eenmalige aanmelding op basis van SAML

Als u de identiteiten van uw gebruikers centraal beheert met een id-provider (IdP), kunt u eenmalige aanmelding van SAML configureren om de resources van uw organisatie op GitHub te beveiligen. Met SAML SSO kunnen eigenaren van organisaties en ondernemingen de toegang tot opslagplaatsen, problemen, pull-aanvragen en meer beheren en beveiligen. Bij het openen van resources leidt GitHub gebruikers om om te verifiëren met de IdP van de organisatie.

GitHub ondersteunt alle id-providers die de SAML 2.0-standaard implementeren, met officiële ondersteuning voor verschillende populaire providers, waaronder:

  • Active Directory Federation Services (AD FS).
  • Microsoft Entra-id.
  • Okta.
  • OneLogin.
  • PingOne.

LDAP (GitHub Enterprise Server)

LDAP (Lightweight Directory Access Protocol) is een veelgebruikt protocol voor het openen en beheren van gebruikersmapgegevens. Op GitHub Enterprise Server kunt u met LDAP-integratie gebruikers verifiëren op basis van uw bestaande bedrijfsadreslijst en de toegang tot opslagplaatsen centraal beheren.

GitHub Enterprise Server kan worden geïntegreerd met belangrijke LDAP-services, zoals:

GitHub Enterprise Server kan worden geïntegreerd met populaire LDAP-services, zoals:

  • Active Directory
  • Oracle Directory Server Enterprise Edition.
  • OpenLDAP.
  • Open Directory.