Administrer løbere
I dette afsnit udforsker du de forskellige værktøjer og strategier, der er tilgængelige for dig i GitHub Enterprise Cloud og GitHub Enterprise Server, for at administrere brugen af GitHub Actions-løbere i din virksomhed.
Vælg en passende løber til din arbejdsbelastning
To typer løbere kan udføre arbejdsprocesser for GitHub-handlinger: GitHub-hostede løbere eller selv hostede løbere.
Seddel
GitHub-hostede løbere er kun tilgængelige for Enterprise Cloud. Hvis du har en Enterprise Server-forekomst, gælder denne sektion ikke for dig.
GitHub-hostede løbere tilbyder en hurtigere og enklere måde at køre dine arbejdsprocesser på, mens selvværtsløbere er en yderst konfigurerbar måde at køre arbejdsprocesser på i dit eget brugerdefinerede miljø. Hvis du f.eks. har brug for at bruge en liste over tilladte IP-adresser for din organisation eller en specialiseret hardwarekonfiguration til kørsel af dine arbejdsprocesser, skal du bruge en selvværtsløber.
I følgende tabel sammenlignes GitHub-hostede løbere i forhold til selv hostede løbere. Brug den til at vælge den rette løber til din arbejdsbelastning.
| GitHub-hostede løbere | Løbere |
|---|---|
| Modtag automatiske opdateringer til operativsystemet, forudinstallerede pakker og værktøjer og det selv hostede løberprogram. | Modtag kun automatiske opdateringer til det selv hostede løberprogram. Du er ansvarlig for at opdatere operativsystemet og al anden software. |
| GitHub administreres og vedligeholdes. | Kan bruge cloudtjenester eller lokale maskiner, som du allerede betaler for. Du kan også tilpasse din hardware, dit operativsystem, din software og dine sikkerhedskrav. |
| Angiv en ren forekomst for hver jobudførelse. | Behøver ikke at have en ren forekomst for hver jobudførelse. |
| Brug gratis minutter på din GitHub-plan med satser pr. minut anvendt efter at have overgået de gratis minutter. | Det er gratis at bruge med GitHub Actions, men du er ansvarlig for omkostningerne ved at vedligeholde dine løbermaskiner. |
Administrer løbere for virksomheden
Administration af løbere for virksomheden omfatter konfiguration og sikring af både GitHub-hostede og selv hostede løbere for at sikre effektive og sikre CI/CD-arbejdsprocesser. Denne administration omfatter konfiguration af IP-lister til kontrol af adgang, forbedring af sikkerheden ved at begrænse løberadgangen til bestemte IP-adresser og sikre overholdelse af organisationens politikker. Korrekt konfiguration af IP-lister for både GitHub-hostede og selv hostede løbere er afgørende for at opretholde sikre og pålidelige interaktioner mellem interne programmer og GitHub Actions-løbere. Regelmæssige opdateringer og gennemgange af disse konfigurationer er nødvendige for at tilpasse sig ændringer i IP-adresseområder og opretholde optimal sikkerhed.
Konfiguration af IP-allowlists på GitHub-hostede og selv hostede løbere
Konfiguration af IP-allowlists hjælper med at styre adgangen til løbere ved at begrænse dem til bestemte IP-adresser. Denne konfiguration forbedrer sikkerheden ved at forhindre uautoriseret adgang, men kan kræve yderligere netværkskonfigurationer.
| GitHub-hostede løbere | Løbere |
|---|---|
| GitHub-hostede løbere bruger dynamiske IP-adresser, hvilket gør det svært at konfigurere præcise IP-allowlists. | Brug statiske eller styrede IP-adresser, der giver mulighed for præcis IP-tilladelsesliste eller IP-baseret adgangskontrol. |
| Organisationer skal tillade GitHubs publicerede IP-intervaller. | Kan placeres bag firewalls eller VPN'er for at opnå øget sikkerhed. |
| GitHub-hostede løbere kan begrænses ved hjælp af GitHubs sikkerhedsindstillinger i virksomheden. | Kræv eksplicit konfiguration for at kommunikere med eksterne tjenester, hvilket forbedrer sikkerheden. |
Tilladt IP-liste
En tilladt IP-liste er en sikkerhedsfunktion, der begrænser adgangen til tjenester eller ressourcer baseret på foruddefinerede IP-adresser. Når organisationer konfigurerer en IP-tilladelsesliste, kan de:
- Optimer sikkerheden: Undgå uautoriseret adgang ved kun at tillade IP-adresser, der er tillid til.
- Kontrollér netværkstrafik: Begræns indgående og udgående anmodninger til kendte og bekræftede IP-adresser.
- Gør overholdelse bedre: Sørg for overholdelse af lovgivningen ved at begrænse adgangen til godkendte netværk.
| GitHub-hostede løbere | Løbere |
|---|---|
| Organisationer skal tillade GitHubs publicerede IP-intervaller, som ændres jævnligt. | Administratorer kan definere bestemte IP-adresser, der har tilladelse til at få adgang til løberne. |
| GitHub-hostede løbere kan konfigureres via GitHubs sikkerhedsindstillinger. | Selvværtsløbere fungerer godt sammen med firewalls, VPN'er eller cloudsikkerhedsgrupper. |
Konfiguration af IP-lister for interne programmer, så de kan interagere med GitHub-Hosted løbere
Hvis du vil konfigurere IP-lister for interne programmer og systemer til at interagere med GitHub-hostede løbere, kan du se følgende officielle GitHub-dokumentation:
1. Forstå GitHubs IP-adresseområder
GitHub-hostede løbere arbejder inden for bestemte IP-adresseområder. For at sikre, at dine interne programmer kan kommunikere med disse løbere, skal du tillade disse IP-intervaller via din firewall. GitHub indeholder et meta-API-slutpunkt https://api.github.com/meta , der viser alle aktuelle IP-adresseområder, der bruges af GitHub-tjenester, herunder IP-intervaller for handlingsløbere. Det er vigtigt regelmæssigt at opdatere dine tilladte lister baseret på disse oplysninger, da IP-intervaller kan ændres.
2. Konfigurer din firewall
en. Hent GitHubs IP-intervaller:
- Brug meta-API-slutpunktet til at hente de seneste IP-adresseområder, der bruges af GitHub Actions-løbere.
b. Opdater firewallregler:
- Føj regler til din firewall for at tillade indgående og udgående trafik til og fra disse IP-områder. Denne konfiguration sikrer, at dine interne systemer kan interagere med GitHub-hostede løbere uden forbindelsesproblemer.
3. Overvej at bruge selvværtsløbere
Hvis det er en udfordring at vedligeholde en IP-tilladelsesliste for GitHub-hostede løbere på grund af hyppige ændringer i IP-intervaller, kan du overveje at konfigurere selv hostede løbere i dit netværk. Denne fremgangsmåde giver dig mulighed for at have mere kontrol over løbermiljøet og netværkskonfigurationerne. Brug af selvværtsløbere kræver dog mere vedligeholdelse og administration af infrastruktur.
4. Gennemse og opdater jævnligt lister over tilladte
Da GitHubs IP-adresseområder kan ændre sig, er det vigtigt med jævne mellemrum at gennemse og opdatere din firewalls IP-lister. Automatisering af denne proces ved at scripte hentningen af IP-områder fra GitHubs meta-API kan hjælpe med at sikre, at dine tilladlister forbliver aktuelle uden manuel indgriben.
Effekter og potentielle misbrugsvektorer for aktivering af selvstændige hostede løbere på offentlige lagre
Effekter af aktivering af selvværtsløbere
Optimering af tilpasning og ydeevne
- Selv hostede løbere tillader kontrol over hardware, installeret software og miljøindstillinger.
- Arbejdsprocesser kan optimeres til ydeevne ved hjælp af dedikerede maskiner med høj ydeevne.
Omkostningsbesparelser
- I modsætning til GitHub-hostede løbere (som har begrænset gratis brug), kører selvstændige hostede løbere på din infrastruktur, hvilket reducerer omkostningsbegrænsningerne.
Tilstands vedholdenhed
- Selv hostede løbere nulstilles ikke mellem job som GitHub-hostede løbere.
- Tillader cachelagring af afhængigheder, genbrug af store datasæt og vedligeholdelse af vedvarende tilstande.
Ansvar for sikkerhed og vedligeholdelse
- Sikkerhedsrettelser, opdateringer af afhængigheder og systemovervågning bliver løberens ejers ansvar.
- Forkert konfiguration kan udsætte løberen for eksterne trusler.
Potentielle misbrugsvektorer af selvværtsløbere
Aktivering af selvværtsløbere på offentlige lagre medfører betydelige sikkerhedsrisici. Da alle kan udløse arbejdsprocesser ved at sende en pullanmodning, kan hackere udnytte denne funktion på forskellige måder:
Vilkårlig udførelse af kode (RCE) af ondsindede aktører
- Hackere kan sende pullanmodninger, der indeholder skadelige scripts, som den selvværtsløber udfører automatisk.
- Hvis løberen har forhøjede rettigheder, får hackeren fuld systemadgang.
Kryptovalutaudvinding og ressourceudnyttelse
- Hackere kan misbruge selv hostede løbere til at udtjekning af kryptovaluta og forårsage uventet højt CPU- og GPU-forbrug.
- Dette øger driftsomkostningerne og reducerer tilgængeligheden af lovlige arbejdsprocesser.
Dataudfyldning og tyveri af legitimationsoplysninger
- Hvis hemmeligheder (API-nøgler, databaselegitimationsoplysninger, SSH-nøgler) er gemt på løberen, kan hackere udtrække dem.
- Eksempel på angrebsvektor: En skadelig pullanmodning kan læse og sende gemte miljøvariabler til en ekstern server.
DoS-angreb (Denial of Service)
- Hackere kan oversvømme lageret med mange pullanmodninger for at overbelaste selv hostede løbere.
- Hvis løbere er på delt infrastruktur, kan andre kritiske arbejdsprocesser blive afbrudt.
Udnyttelse af tværgående bevægelse og netværk
- Hvis den selv hostede løber befinder sig i et virksomhedsnetværk, kan en hacker blive omdannet til interne systemer.
- Kan føre til databrud, ransomware-angreb eller vedvarende adgang til private ressourcer.
Afhjælpningsstrategier
Følg disse bedste fremgangsmåder for at reducere sikkerhedsrisici:
- Begræns selv hostede løbere til private lagre
- Kræv godkendelse af arbejdsproces for pullanmodninger fra eksterne bidragydere
- Kør selv hostede løbere i et sikkert, isoleret miljø (f.eks. objektbeholdere, virtuelle maskiner)
- Brug firewalls og netværksregler til at blokere uautoriseret adgang
- Begræns adgangen til følsomme hemmeligheder , og gem legitimationsoplysninger sikkert
- Overvåg og logfør løberaktivitet for at registrere uregelmæssigheder
Valg af relevante løbere til understøttelse af arbejdsbelastninger
Om GitHub-løbere
GitHub Actions understøtter to typer løbere:
GitHub-hostede løbere
- Administreret af GitHub, automatisk klargjort og skaleret.
- Indeholder forudinstalleret software, værktøjer og afhængigheder for almindelige arbejdsprocesser.
- Tilgængelig til Windows, Linux og macOS.
- Anbefales til generel automatisering, projekter med åben kildekode og hurtig konfiguration.
Løbere
- Administreret af brugeren, hvilket giver fuld kontrol over miljø og ressourcer.
- Kan konfigureres til brugerdefineret hardware, lokal infrastruktur eller cloudinfrastruktur.
- Understøtter vedvarende tilstande mellem job, hvilket muliggør bedre cachelagring og brugerdefinerede afhængigheder.
- Anbefales til private lagre, virksomhedsarbejdsbelastninger og ydeevnetunge opgaver.
Valg mellem GitHub-hostede og selv hostede løbere
To typer løbere kan udføre arbejdsprocesser for GitHub-handlinger: GitHub-hostede løbere eller selv hostede løbere.
Seddel
GitHub-hostede løbere er kun tilgængelige for Enterprise Cloud. Hvis du har en Enterprise Server-forekomst, gælder denne sektion ikke for dig.
GitHub-hostede løbere tilbyder en hurtigere og enklere måde at køre dine arbejdsprocesser på, mens selvværtsløbere er en yderst konfigurerbar måde at køre arbejdsprocesser på i dit eget brugerdefinerede miljø. Hvis du f.eks. har brug for at bruge en liste over tilladte IP-adresser for din organisation eller en specialiseret hardwarekonfiguration til kørsel af dine arbejdsprocesser, skal du bruge en selvværtsløber.
I følgende tabel sammenlignes GitHub-hostede løbere i forhold til selv hostede løbere. Brug den til at vælge den rette løber til din arbejdsbelastning.
| GitHub-hostede løbere | Løbere |
|---|---|
| Modtag automatiske opdateringer til operativsystemet, forudinstallerede pakker og værktøjer og det selv hostede løberprogram. | Modtag kun automatiske opdateringer til det selv hostede løberprogram. Du er ansvarlig for at opdatere operativsystemet og al anden software. |
| GitHub administreres og vedligeholdes. | Kan bruge cloudtjenester eller lokale maskiner, som du allerede betaler for. Du kan også tilpasse din hardware, dit operativsystem, din software og dine sikkerhedskrav. |
| Angiv en ren forekomst for hver jobudførelse. | Behøver ikke at have en ren forekomst for hver jobudførelse. |
| Brug gratis minutter på din GitHub-plan med satser pr. minut anvendt efter at have overgået de gratis minutter. | Det er gratis at bruge med GitHub Actions, men du er ansvarlig for omkostningerne ved at vedligeholde dine løbermaskiner. |
Valg af det rigtige operativsystem til løbere
1. Linux-løbere (standard)
- Bedst til de fleste arbejdsbelastninger
- Hurtig, omkostningseffektiv og bred support
- Bruges i CI/CD, scripting, Docker og automatisering
Eksempel:ubuntu-latest,ubuntu-22.04
2. Windows løbere
- Kræves til .NET-, Windows-baseret software og GUI-apps
- Understøtter PowerShell, Windows-specifikke afhængigheder
Eksempel:windows-latest,windows-2022
3. macOS-løbere
- macOS-løbere er påkrævet til iOS-, macOS-, Xcode- og Apple-specifikke builds
- Understøtter Swift-, Objective-C- og macOS-programmer
Eksempel:macos-latest,macos-13
Bedste praksis for valg af løbere
- Brug GitHub-hostede løbere til generelle arbejdsprocesser og automatisering.
- Brug selv hostede løbere til brugerdefinerede miljøer, store arbejdsbelastninger eller sikkerhedsfølsomme programmer.
- Vælg Linux-løbere for de fleste arbejdsbelastninger på grund af ydeevne og omkostningseffektivitet.
- Brug kun Windows- eller macOS-løbere , når det er påkrævet af hensyn til kompatibiliteten.
- Opdater og overvåg regelmæssigt løbere, der hostes af sig selv , for at forhindre sikkerhedsrisici.
Kontrastér GitHub-hostede og selv hostede løbere
GitHub-handlinger understøtter to typer løbere til udførelse af arbejdsprocesser:
- GitHub-hostede løbere – administreres af GitHub, klargøres automatisk og forudkonfigureres med almindelige udviklingsværktøjer.
- Selv hostede løbere – administreres af brugeren, hvilket giver fuld kontrol over miljøet, ressourcerne og konfigurationerne.
I dette afsnit fremhæves de vigtigste forskelle mellem GitHub-hostede og selv hostede løbere.
Sammenligning: GitHub-hostede i forhold til selv hostede løbere
| Funktion | GitHub-hostet løber | Selvværtsløber |
|---|---|---|
| Installation & vedligeholdelse | Ingen installation er påkrævet. GitHub administrerer alt | Brugeren skal installere, konfigurere og vedligeholde |
| skalerbarhed | Automatisk skalering | Ekstra løbere skal klargøres manuelt |
| Sikkerhed | Høj sikkerhed; nyt virtuelt miljø for hvert job | Kræver manuel sikkerhedshærdning |
| Tilpasning | Begrænset; kun forudinstallerede værktøjer | Kan tilpasses fuldt ud; brugeren kan installere alle afhængigheder |
| Præstation | Standardiserede beregningsressourcer | Kan bruge hardware med høj ydeevne |
| Tilstands vedholdenhed | Nulstilles efter hvert job | Kan bevare data mellem job |
| Omkostning | Gratis til offentlige lagre; begrænset gratis brug af private lagre | Ingen GitHub-omkostninger, men kræver infrastrukturinvesteringer |
| Netværksadgang | Ingen direkte adgang til interne netværk | Kan få adgang til interne/private netværk |
| use case- | Bedst til generelle CI/CD-, automatiserings- og open source-projekter | Bedst til virksomhedsmiljøer, sikre builds og store arbejdsbelastninger |
Vigtige forskelle & overvejelser
1. Installation og vedligeholdelse
- GitHub-hostede løbere kræver nul konfiguration. brugere kan begynde at køre arbejdsprocesser med det samme.
- Selv hostede løbere skal have manuel installation, konfiguration, opdateringer og sikkerhedsadministration.
2. Sikkerhedsrisiko
- GitHub-hostede løbere kører i isolerede virtuelle maskiner , der nulstilles efter hvert job, og minimerer angrebsoverflader.
- Selv hostede løbere fortsætter på tværs af job, hvilket betyder, at en kompromitteret løber kan udnyttes på tværs af flere arbejdsproceskørsler.
3. Overvejelser i forbindelse med ydeevne og omkostninger
- GitHub-hostede løbere leverer et standardmiljø , men har forbrugsgrænser (f.eks. gratis minutter pr. måned for private lagre).
- Selv hostede løbere giver bedre justering af ydeevnen (f.eks. kørsel på avancerede servere), men kræver infrastruktur- og vedligeholdelsesomkostninger.
4. Netværk og adgang
- GitHub-hostede løbere kan ikke få adgang til private/interne ressourcer uden yderligere konfigurationer.
- Selv hostede løbere kan få adgang til interne systemer, hvilket gør dem ideelle til private lagre, interne værktøjer og udrulninger i det lokale miljø.
Hvornår skal du bruge hver løber?
Brug GitHub-hostede løbere, hvis:
- Du har brug for en hurtig og nem konfiguration uden administration af infrastruktur.
- Din arbejdsproces kræver ikke brugerdefinerede afhængigheder ud over de forudinstallerede værktøjer.
- Du arbejder på et offentligt lager med åben kildekode eller offentligt lager med gratis hostede løberminutter.
Brug selv hostede løbere, hvis:
- Din arbejdsproces kræver specifikke afhængigheder, konfigurationer eller vedvarende tilstande.
- Du skal have adgang til private netværksressourcer (f.eks. databaser i det lokale miljø, interne tjenester).
- Du har brug for maskiner med højere ydeevne til CI/CD-pipelines i stor skala.