Pakkettoegangsbeheer en zichtbaarheid verkennen

Voltooid

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.

  1. Ga naar de pakketpagina
  2. Klik op Pakketinstellingen
  3. Onder Gevaarzone wijzigt u de zichtbaarheid (openbaar/privé)
  4. Voeg onder Toegang beherengebruikers of teams toe
  5. Selecteer de rol voor elke gebruiker of elk team (lezen, schrijven, beheerder)
  6. 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