Machtigingen voor broncodebeheeropslagplaats configureren met GitHub
Het implementeren van GitHub-repository-rechten op een optimale manier omvat het vinden van een juiste balans tussen het faciliteren van samenwerking en het beschermen van codebasissen tegen misbruik en oneigenlijk gebruik. GitHub biedt ondersteuning voor verfijnde toegangsbeheer waarmee teams efficiënt met elkaar kunnen communiceren, terwijl de principes van gegevensprivacy, beveiliging en integriteit behouden blijven.
Het machtigingsmodel verschilt, afhankelijk van het GitHub-accounttype. Er zijn vijf soorten accounts die personen en organisaties kunnen maken:
-
GitHub Free voor persoonlijke accounts: gratis voor individueel gebruik, inclusief onbeperkte medewerkers voor onbeperkte openbare opslagplaatsen met een volledige functieset en op onbeperkte privéopslagplaatsen met een beperkte functieset, zoals
problemen en pull-aanvragen. - GitHub Pro: voor professionele ontwikkelaars, waaronder onbeperkte openbare en privéopslagplaatsen, onbeperkte medewerkers en geavanceerde hulpprogramma's voor codebeoordeling.
- GitHub Free voor organisaties: gratis voor organisaties, waaronder onbeperkte medewerkers op onbeperkte openbare opslagplaatsen met een volledige functieset en op onbeperkte privéopslagplaatsen met een beperkte functieset. Naast de functies die beschikbaar zijn met GitHub Free voor persoonlijke accounts, biedt GitHub Free voor organisaties hogere limieten voor GitHub Actions-minuten per maand en hogere GitHub Packages-opslag.
- GitHub Team: voor teams, inclusief alle functies van GitHub Pro, evenals team- en gebruikersmachtigingen, hulpprogramma's voor codebeoordeling en geavanceerde hulpprogramma's en functies in privéopslagplaatsen.
- GitHub Enterprise: voor organisaties op ondernemingsniveau, inclusief alle functies van GitHub Team, evenals beveiligingsfuncties op ondernemingsniveau, zoals eenmalige aanmelding, auditlogboeken en nalevingscontroles. Dit plan is zelf-hostend en kan on-premises of in een cloudomgeving (GitHub Enterprise Cloud) worden uitgevoerd.
Opslagplaatsmachtigingen in GitHub Free voor persoonlijke accounts
GitHub Free voor persoonlijke accounts: Voor openbare opslagplaatsen kan iedereen de opslagplaats bekijken en splitsen. Voor privéopslagplaatsen heeft de eigenaar van de opslagplaats volledige controle over wie toegang heeft tot en bijdragen aan de opslagplaats, met maximaal drie medewerkers toegestaan. Er kan slechts één eigenaar zijn, zodat eigendomsmachtigingen niet kunnen worden gedeeld met een ander persoonlijk account. Daarnaast kunnen eigenaren van opslagplaatsen in een privéopslagplaats alleen schrijftoegang verlenen aan medewerkers. Met andere woorden, samenwerkers hebben geen alleen-lezentoegang tot opslagplaatsen die eigendom zijn van een persoonlijk account.
Repo-toegangsrechten in GitHub Pro
GitHub Pro bevat dezelfde machtigingsniveaus voor opslagplaatsen als GitHub Free voor persoonlijke accounts, maar met geavanceerdere samenwerkingsfuncties, zoals beveiligde vertakkingen en code-eigenaren.
Repo-machtigingen in GitHub Free voor organisaties
GitHub Free voor organisaties bevat de mogelijkheid om teams te maken, die toegang kunnen krijgen tot specifieke opslagplaatsen met verschillende machtigingsniveaus. Teams kunnen schrijftoegang of beheerderstoegang krijgen en aangepaste rollen kunnen worden gemaakt om specifieke machtigingen te verlenen aan verschillende gebruikers of groepen.
De standaardrol voor gebruikers die geen beheerder zijn in een organisatie is organisatie lid. Organisatieleden hebben standaard enkele machtigingen, waaronder de mogelijkheid om opslagplaatsen te maken.
Andere organisatierollen hebben verhoogde machtigingen voor opslagplaatsen, zoals:
- Organisatie-moderatoren: opmerkingen verbergen in openbare repositories van de organisatie.
- Beveiligingsmanagers: alle opslagplaatsen in de organisatie lezen.
- Eigenaren: alle machtigingen voor opslagplaatsen, waaronder het toevoegen van medewerkers, en het schrijven naar en verwijderen van opslagplaatsen.
Eigenaren van organisaties kunnen basismachtigingen instellen die van toepassing zijn op alle leden van een organisatie wanneer ze toegang hebben tot een van de opslagplaatsen. Basismachtigingen zijn niet van toepassing op externe medewerkers. Als u een hoger toegangsniveau verleent voor individuele repositories, wordt de basismachtiging overschreven.
Aangepaste toegang tot opslagplaatsen kan worden geïmplementeerd door ingebouwde opslagplaatsrollen toe te wijzen aan organisatieleden en externe medewerkers. Deze rollen zijn onder andere:
- Lezen: aanbevolen voor niet-codebijdragers die de inhoud van de repository willen kunnen bekijken.
- Triage: aanbevolen voor inzenders die proactief problemen, discussies en pull-aanvragen moeten beheren zonder schrijftoegang.
- Schrijven: aanbevolen voor inzenders die actief naar de opslagplaats pushen.
- Onderhouden: aanbevolen voor projectmanagers die de opslagplaats moeten beheren zonder toegang tot gevoelige of destructieve acties.
- Beheerder: aanbevolen voor personen die volledige bevoegdheden nodig hebben, inclusief gevoelige en destructieve acties, zoals het beheren van beveiliging of het verwijderen van de opslagplaats.
Repositorymachtigingen in GitHub Team
GitHub Team bevat dezelfde machtigingsniveaus voor opslagplaatsen als GitHub Free voor organisaties, met toevoeging van ondersteuning voor teams en geavanceerdere beveiligingsfuncties, zoals geautoriseerde IP-bereiken en verificatie op bedrijfsniveau. Teams zijn groepen organisatieleden. Eigenaren van organisaties en teamonderhouders kunnen teams toestemming geven voor opslagplaatsen.
Repositorierechtigingen in GitHub Enterprise Cloud
GitHub Enterprise Cloud is ontworpen voor organisaties op ondernemingsniveau en bevat alle functies van GitHub Team, evenals enterprise-leve
Beveiligingsfuncties zoals Single sign-on, auditlogboeken en nalevingscontroles. GitHub Enterprise Cloud biedt ondersteuning voor zeer gedetailleerde controle over machtigingen voor opslagplaatsen, waaronder de mogelijkheid om machtigingen op vertakkingsniveau te beheren. Eigenaren van organisaties kunnen ook aangepaste rollen maken om meer gedetailleerde machtigingen te verlenen aan verschillende gebruikers of teams dan die beschikbaar zijn met de ingebouwde rollen lezen, triage, schrijven, onderhouden en beheerdersrollen.