Pakkettoegangsbeheer en zichtbaarheid verkennen
De instellingen voor toegangsbeheer en zichtbaarheid bepalen wie uw pakketten in GitHub Packages kan bekijken, downloaden en beheren. Het begrijpen van deze instellingen is van cruciaal belang voor beveiliging, naleving en samenwerking.
Begrijpen van machtigingsmodellen
GitHub Packages ondersteunt twee machtigingsmodellen , afhankelijk van het pakkettype:
Overgenomen machtigingen voor repositories
De meeste pakketregisters (npm, NuGet, Maven, RubyGems, Gradle) nemen machtigingen over van hun opslagplaats:
- Hetzelfde toegangsbeheer: Pakketmachtigingen komen overeen met opslagplaatsmachtigingen
- Vereenvoudigd beheer: Eén set machtigingen voor zowel code als pakketten
- Automatische updates: Machtigingswijzigingen voor opslagplaats zijn automatisch van toepassing op pakketten
- Op team gebaseerde toegang: Opslagplaatsteams en samenwerkers hebben pakkettoegang
Voor- en nadelen:
- PRO: Eenvoudig en consistent met toegang tot opslagplaatsen
- PRO: Er is geen extra machtigingsconfiguratie nodig
- Nadeel: Kan code toegang niet scheiden van pakket toegang
- Nadeel: Alle medewerkers van de repository hebben de mogelijkheid om pakketten te publiceren
Gedetailleerde machtigingen (alleen containerregister)
Container registry-pakketten ondersteunen onafhankelijk toegangsbeheer:
- Gescheiden van opslagplaats: Pakketmachtigingen kunnen verschillen van opslagplaats
- Gebruikersbereik: Toegang verlenen aan afzonderlijke gebruikers
- Organisatiebereik: Toegang verlenen aan teams binnen organisaties
- Op basis van rollen: Lees-, schrijf- of beheerdersrollen onafhankelijk toewijzen
Voor- en nadelen:
- PRO: Fijnmazige controle over pakkettoegang
- PRO: Kan pakketten delen zonder code te delen
- Nadeel: Gecompliceerder machtigingsbeheer
- Nadeel: Alleen beschikbaar voor containerafbeeldingen
Belangrijk
U kunt pakkettoegangsbeheer en zichtbaarheid afzonderlijk wijzigen van de opslagplaats voor containerregisterpakketten. Voor andere pakkettypen zijn zichtbaarheid en toegang gekoppeld aan de opslagplaats.
Zie Over machtigingen voor GitHub Packages voor meer informatie over machtigingen.
Opties voor zichtbaarheid van pakketten
Zichtbaarheid bepaalt wie uw pakketten kan vinden en toegang krijgen tot:
Openbare pakketten
- Iedereen kan het volgende ontdekken: Pakket wordt weergegeven in zoekresultaten voor alle gebruikers
- Iedereen kan het volgende downloaden: Er is geen verificatie vereist om te installeren (maar verificatie vereist voor uploads)
- Open source vriendelijk: Ideaal voor communitybibliotheken en hulpprogramma's
- Gratis opslag: Geen opslag- of bandbreedtelimieten voor openbare pakketten
- Gebruikstracering: Statistieken downloaden die zichtbaar zijn voor iedereen
Gebruiksvoorbeelden voor openbare pakketten:
- Opensource-bibliotheken en -frameworks
- Communitytools en hulpprogramma's
- Publieke API-clients en SDKs
- Educatieve voorbeelden en sjablonen
Privépakketten
- Alleen organisatie/gebruiker: Alleen geverifieerde gebruikers met machtigingen kunnen detecteren
- Toegang beheerd: Moet leesmachtigingen hebben om te downloaden
- Standaard beveiligd: Ideaal voor interne bibliotheken en bedrijfseigen code
- Gebruikslimieten: Onderhevig aan opslag- en bandbreedtelimieten voor GitHub-plannen
- Gebruikstracering: Statistieken die alleen zichtbaar zijn voor geautoriseerde gebruikers
Gebruiksvoorbeelden voor privépakketten:
- Interne bedrijfsbibliotheken
- Eigendomsafhankelijkheden
- Pre-releaseversies
- Clientspecifieke aanpassingen
Interne pakketten (alleen GitHub Enterprise)
- Toegang voor de hele organisatie: Alle leden van de organisatie kunnen ontdekken en downloaden
- Vereenvoudigd delen: Er zijn geen afzonderlijke machtigingen nodig
- Bedrijfsfunctie: Alleen beschikbaar met GitHub Enterprise Cloud of Server
- Evenwichtige beveiliging: Toegankelijker dan privé, veiliger dan openbaar
Gebruiksvoorbeelden voor interne pakketten:
- Gedeelde organisatiebibliotheken
- Afhankelijkheden tussen teams
- Interne standaarden en frameworks
- Algemene hulpprogramma's en helpers
Machtigingen voor containerafbeeldingen
Als u beheerdersmachtigingen hebt voor een containerimage, kunt u gedetailleerd toegangsbeheer configureren:
Zichtbaarheid instellen
- Openbare zichtbaarheid: Iedereen kan de containerafbeelding zonder verificatie downloaden
- Privé zichtbaarheid: Alleen gebruikers met expliciete machtigingen kunnen de image downloaden
Toegangsmachtigingen verlenen
Persoonlijke accountcontainers:
- Een GitHub-gebruiker een toegangsrol verlenen
- Afzonderlijke machtigingen opgeven voor elke gebruiker
- Toegang onafhankelijk van opslagplaats beheren
Organisatiecontainers:
- Toegang verlenen aan elke persoon in de organisatie
- Toegang verlenen aan elk team in de organisatie
- Afzonderlijke machtigingen en teammachtigingen combineren
- Machtigingen overnemen van organisatielidmaatschap
Toestemmingsrollen
| Toestemming | Beschrijving van Access |
|---|---|
| lezen | Kan het pakket downloaden. Kan pakketmetagegevens lezen. |
| schrijven | Kan dit pakket uploaden en downloaden. Kan pakketmetagegevens lezen en schrijven. |
| admin | Kan dit pakket uploaden, downloaden, verwijderen en beheren. Kan pakketmetagegevens lezen en schrijven. Kan pakketmachtigingen verlenen. |
Overname van machtigingen:
- Beheerdersrol: Bevat alle schrijf- en leesmachtigingen
- Schrijfrol: Bevat alle leesrechten
- Leesrol: Minimale machtigingen voor het verbruik van pakketten
Toegang configureren
Containerafbeeldingen: Toegangsbeheer en zichtbaarheid configureren.
- Ga naar de pakketpagina
- Klik op Pakketinstellingen
- Onder Gevaarzone wijzigt u de zichtbaarheid (openbaar/privé)
- Voeg onder Toegang beherengebruikers of teams toe
- Selecteer de rol voor elke gebruiker of elk team (lezen, schrijven, beheerder)
- Klik op Toevoegen om machtigingen te verlenen
Zie Het toegangsbeheer en de zichtbaarheid van een pakket configureren voor meer informatie.
Aanbevolen procedures voor toegangsbeheer
Aanbevelingen voor beveiliging:
- Principe van minimale bevoegdheid: Minimale benodigde machtigingen verlenen
- Regelmatige audits: Onnodige toegang periodiek controleren en verwijderen
- Op team gebaseerde toegang: Teams gebruiken in plaats van afzonderlijke gebruikers, indien mogelijk
- Openbaar zorgvuldig: Zorg ervoor dat openbare pakketten geen gevoelige informatie beschikbaar maken
- Toegang tot documenten: Records bijhouden van wie er toegang heeft en waarom
- Beoordelingen automatiseren: Hulpprogramma's gebruiken om machtigingswijzigingen te detecteren
Organisatiestrategieën:
- Zichtbaarheid standaardiseren: Standaardwaarden instellen voor verschillende pakkettypen
- Proces voor toegangsaanvragen: Definiëren hoe gebruikers pakkettoegang aanvragen
- Duidelijkheid in eigendom: Duidelijk eigendom toewijzen voor pakketbeheer
- Integratie met eenmalige aanmelding: SAML/SCIM gebruiken voor gecentraliseerd toegangsbeheer
- Nalevingsuitlijning: Zorg ervoor dat toegangsbeheer voldoet aan wettelijke vereisten