Hvordan fungerer GitHub-organisationen og tilladelserne?
I det forrige undermodul udforskede du de forskellige måder, hvorpå brugerne kan godkende sig selv med GitHub. I dette undermodul får du mere at vide om tilladelser for hvert hierarkisk niveau:
- Lagertilladelser
- Gruppetilladelser
- Organisationstilladelser
- Virksomhedstilladelser
Niveauer for lagertilladelser
Du kan tilpasse adgangen til hvert lager ved at tildele specifikke tilladelsesniveauer. Der er fem standardtilladelser på lagerniveau:
- Læs: Anbefales til bidragydere uden kode, der vil have vist eller diskutere projektet. Dette niveau er godt for alle, der har brug for at få vist indholdet i lageret, men som ikke behøver at foretage bidrag eller ændringer.
- Triage-: Anbefales til bidragydere, der har brug for proaktivt at administrere problemer og pullanmodninger uden skriveadgang. Dette niveau er nyttigt for projektledere, der sporer problemer og diskussioner uden at ændre kode.
- Skriv: Anbefales til bidragydere, der aktivt pusher til dit projekt. Skriveadgang er standardtilladelsen for de fleste udviklere.
- Vedligehold: Anbefales til projektledere, der har brug for at administrere lageret uden adgang til følsomme eller destruktive handlinger.
- Administrator: Anbefales til personer, der har brug for fuld adgang til projektet, herunder følsomme og destruktive handlinger, f.eks. administration af sikkerhed eller sletning af et lager. Disse personer er lagerejere og -administratorer.
Du kan give organisationsmedlemmer, eksterne samarbejdspartnere og teams forskellige adgangsniveauer til lagre, der ejes af en organisation. Hvert tilladelsesniveau giver gradvist mere adgang til lagerindhold og -indstillinger. Vælg det niveau, der passer bedst til hver enkelt persons eller teams rolle i projektet, uden at give mere adgang til projektet end nødvendigt.
Administratorer kan også oprette brugerdefinerede roller i GitHub Enterprise og udvide en af disse basisroller med yderligere tilladelser efter behov.
Hvad er repository forking?
Forking er en måde at oprette en personlig kopi af en andens lager under din egen GitHub-konto. Når du forgrener et lager, får du din egen version, som du frit kan ændre uden at påvirke det oprindelige projekt. Denne proces er en almindelig arbejdsgang til at bidrage til open source eller eksperimentere med ændringer sikkert.
Du kan også holde din forgrening opdateret ved at trække ændringer fra det oprindelige lager, ofte kaldet "upstream"-lageret.
Sådan forgrener du et lager:
På GitHub.com skal du navigere til hovedsiden for det lager, du vil forgrene.
I øverste højre hjørne skal du vælge Forgrening.
Vælg en ejer til forgreningen (din personlige konto eller en organisation).
Du kan også omdøbe det forgrenede lager eller medtage alle grene.
Vælg Opret kopi.
Administration af fork-tilladelser (for administratorer)
For organisationsejede lagre kan administratorer styre, om lagre kan forgrenes:
- Offentlige arkiver: Forgaffling er altid tilladt.
- Private lagre: Forking kan deaktiveres eller begrænses til kun at omfatte organisationsmedlemmer.
- Interne arkiver: Disse kan kun forgrenes inden for den samme virksomhedskonto.
Sådan konfigurerer du gaffelindstillinger:
Gå til Indstillinger for organisationslageret.
I venstre sidepanel under Access skal du klikke på Medlemsprivilegier.
Find indstillingerne for forgrening af lageret , og opdater dem efter behov.
Tips
Hvis du deaktiverer forgrening for et privat lager, vil ingen (herunder organisationsmedlemmer) være i stand til at forgrene det.
Du kan få mere at vide i GitHub Docs-artiklen om Forgren et lager.
Visning af lagerindsigt
Lagerindsigt på GitHub tilbyder en effektiv måde at overvåge og analysere dit projekts aktivitet, bidrag og afhængigheder på. Ved at udnytte denne indsigt kan du spore projekttilstand, identificere flaskehalse og sikre sikkerheden. Dette afsnit vil guide dig gennem trinnene til at få adgang til lagerindsigt og give dig bedste praksis for effektiv brug af dem.
Trin til at se lagerindsigt
- Gå til lageret på GitHub.
- Under lagernavnet skal du klikke på fanen Indsigt .
- Udforsk følgende afsnit under fanen Indsigt:
- Bidragydere: Se en graf over bidrag over tid, herunder bekræftelser, tilføjelser og sletninger af hver bidragyder.
- Trafik: Overvåg lagertrafik, herunder entydige besøgende og sidevisninger.
- Bekræftelser: Analysér bekræftelsesaktivitet over tid.
- Kodefrekvens: Spor antallet af linjer, der tilføjes og slettes over tid.
- Afhængighedsgraf: Se afhængighederne af dit lager, og identificer potentielle sikkerhedssårbarheder.
Bedste fremgangsmåder for brug af lagerindsigt
- Overvåg bidrag: Brug sektionen Bidragydere til at identificere aktive bidragydere og områder i lageret, der får mest opmærksomhed.
- Spor trafik: Brug afsnittet Trafik til at forstå, hvordan brugerne interagerer med dit lager, og identificere tendenser i engagement.
- Adresser sårbarheder: Gennemgå regelmæssigt afhængighedsgrafen for at sikre, at dit lager forbliver sikkert.
Ved at udnytte lagerindsigt kan du træffe datadrevne beslutninger for at forbedre samarbejde, sikkerhed og projektstyring.
Måder, brugerne modtager lageradgang på
Handlinger for en bruger, der har fået en liste over deres lagertilladelser
En brugers effektive tilladelser i et lager påvirkes af forskellige faktorer, herunder:
- Lagerrolle: (f.eks. administrator, skrive, læse)
- Teammedlemskab: (f.eks. nedarvede tilladelser fra et team)
- Organisationsmedlemskab: (f.eks. standardorganisationstilladelser, SSO-krav)
Når du kombinerer disse forskellige tilladelseskilder, anvender GitHub det højeste adgangsniveau, der er tildelt brugeren. Hvis en bruger f.eks. har læseadgang via et team, men også har skriveadgang direkte tildelt som samarbejdspartner, har vedkommende skriverettigheder.
Indstillinger for lagermedlemskab
Når en bruger tildeler adgang til et lager, er der flere måder, hvorpå en bruger kan blive samarbejdspartner:
| Medlemskabstype | Beskrivelse |
|---|---|
| Direkte samarbejdspartner | Føjet eksplicit til lageret med en bestemt rolle (Læs, Triage, Skriv, Vedligehold eller Administrator). Anbefales til eksterne bidragydere eller små teams. |
| Teammedlemskab | En bruger arver lageradgang via deres teammedlemskab. Teamtilladelser angives ofte på organisationsniveau for at sikre ensartet, skalerbar administration. |
| Organisationens standardtilladelser | Hvis lageret er en del af en organisation, kan der være et standardtilladelsesniveau for alle organisationsmedlemmer (f.eks. Ingen, Læs). Ejere kan tilsidesætte disse standarder for bestemte teams eller brugere. |
| Uden for samarbejdspartneren | En bruger, der ikke er medlem af organisationen, men som har eksplicit adgang til et lager. Nyttig for entreprenører, freelancere eller bidragydere med åben kildekode, der har brug for begrænset adgang. |
Adgang til overvågnings- og overvågningslager
Regelmæssig overvågning af, hvem der har adgang til et lager, sikrer korrekt sikkerhed og overholdelse af angivne standarder. Her er nogle anbefalede trin og værktøjer:
Vis adgang i lagerindstillinger:
- Gå til Indstillinger > Administrer adgang (for lageret).
- Gennemse listen over brugere og teams sammen med deres tilladelsesniveauer.
Organisationsovervågningslog (GitHub Enterprise eller Organisationsniveau):
- Organisationsejere kan få vist ændringer af medlemskab, lageradgang og tilladelser i overvågningsloggen.
- Filtrer hændelser efter lagernavn, eller få adgang til ændringer for at få en mere fokuseret visning.
Virksomhedsrevisionslog (GitHub Enterprise):
- Hvis du administrerer flere organisationer, skal du bruge virksomhedskontoens overvågningslog til at spore ændringer på tværs af alle organisationer og lagre.
- Dette er især værdifuldt i forbindelse med rapportering af overholdelse af angivne standarder eller omfattende sikkerhedsgennemgange.
Automatiseret scripting:
- Brug GitHub REST API eller GraphQL API til programmatisk at angive samarbejdspartnere, teams og tilladelser.
- Integrer scripts med din CI/CD-pipeline eller dine sikkerhedsdashboards for løbende at overvåge og markere uregelmæssigheder.
Drikkepenge: Konfigurer beskyttelsesregler for forgreninger og påkrævede korrekturer for at tilføje endnu et lag af sikkerhed og ansvarlighed for alle kodeændringer.
Tilladelsesniveauer for team
Et team i en GitHub-organisation er en gruppe brugere, der samarbejder om delte lagre. Teams hjælper med at strømline adgangsstyring og -kommunikation ved at anvende ensartede tilladelser på tværs af flere lagre på én gang. De vigtigste fordele omfatter:
- Centraliseret adgangskontrol: Tildel lagertilladelser (f.eks. Læs, Skriv) til hele teamet i stedet for at administrere hver enkelt bruger individuelt.
- Struktureret samarbejde: Organiser medlemmer efter afdeling, projekt eller rolle for at opnå et mere effektivt samarbejde.
- Synlighed og kommunikation: Hvert team kan have sit eget diskussionsforum, hvilket gør det nemmere at dele opdateringer og koordinere indsatsen.
Teams gør det nemt at tildele lagertilladelser til flere relaterede brugere på én gang. Medlemmer af et underordnet team arver også tilladelsesindstillingerne for det overordnede team, hvilket gør det nemt at overlappe tilladelser baseret på en virksomheds naturlige struktur.
Der er to tilladelsesniveauer på teamniveau:
| tilladelsesniveau | beskrivelse |
|---|---|
| Medlem | Gruppemedlemmer har de samme evner som organisationsmedlemmer |
| Vedligeholder | Team-vedligeholdere kan gøre alt, hvad teammedlemmer kan, plus: – Skift teamets navn, beskrivelse og synlighed. – Anmod om, at teamet ændrer overordnede og underordnede teams. - Angiv profilbilledet for teamet. – Rediger og slet gruppediskussioner. – Tilføj og fjern organisationsmedlemmer fra teamet. – Hæv teammedlemmer, så de også har tilladelse til at vedligeholde teamet. – Fjern teamets adgang til lagre. – Administrer tildeling af kodegennemgang for teamet. – Administrer planlagte påmindelser for pullanmodninger. |
En organisationsejer kan også hæve et hvilket som helst medlem af organisationen til at være vedligeholder for et team.
Hvis du vil overvåge adgangen til et lager, som du administrerer, kan du få vist en kombineret liste over teams og brugere med adgang til dit lager i dine indstillinger:
GitHub tilbyder flere tilladelsesniveauer, der kan tildeles til teams. Når du giver et team adgang til et lager, kan du vælge mellem følgende tilladelsesmodeller:
Tilladelsesmodeller
| Tilladelsesniveau | Beskrivelse | Bedst til |
|---|---|---|
| Læs | Brugerne kan få vist og klone lageret. Kan åbne og kommentere problemer og pullanmodninger. | Personer, der har brug for skrivebeskyttet eller gennemse adgang. |
| Triage | Brugerne kan administrere problemer og pullanmodninger (f.eks. etiket, tildeling, kommentar). Ændringerne kan ikke pushoverføres til lageret. | Projektledere eller bidragydere, der har brug for at sortere og organisere problemer uden at bidrage med kode. |
| Skriv | Brugerne kan pushe til forgreninger (undtagen beskyttede forgreninger). Kan administrere problemer og pullanmodninger. | Aktive bidragydere, der skal bekræfte kode eller opdatere dokumentation. |
| Vedligeholde | Brugerne kan administrere lagerindstillinger, problemer og pullanmodninger. Lageret kan ikke slettes eller overføres. | Projektvederholdere, der håndterer administration af rutinemæssige lagre, men som ikke kræver fuld administratorrettigheder. |
| administrator | Brugerne har fuld kontrol over lageret, herunder angivelse af tilladelser, sletning af lageret og administration af alle indstillinger. | Dem, der har brug for administrativ adgang på øverste niveau. |
Drikkepenge: Følg altid princippet om færrest mulige rettigheder – tildel det laveste tilladelsesniveau, der er nødvendigt for, at hvert team kan udføre sine opgaver effektivt. Denne fremgangsmåde reducerer risikoen for utilsigtede eller uautoriserede ændringer.