Izvajalec potrebuje en zasebni repozitorij za omejen projekt, zahteva pa pride bodisi kot «naredite repozitorij javen» bodisi kot «dajte jim dostop prek VPN». Oba odgovora obideta pravo vprašanje. Avtorizacija repozitorija in omrežni vhod sta ločeni plasti, in dovoljenje, ki šteje, je tisto, ki tej osebi omogoča branje ali push v ta en repozitorij. Vse drugo v katerem koli paketu je dodatno tveganje. Najprej oblikujte plast avtorizacije, nato se odločite, koliko malo omrežne poti potrebuje.

Ilustrativna naloga to naredi konkretno: en zunanji razvijalec, en repozitorij, nobenih produkcijskih gostiteljev, nobenega skrbniškega vmesnika. Držite ta obseg nespremenjen, medtem ko primerjate vhode.

Dva vhoda, dve različni meji

Javno dosegljiva storitev repozitorija še vedno uveljavlja preverjanje pristnosti HTTPS ali SSH in avtorizacijo aplikacije. Javna dosegljivost ne pomeni anonimne berljivosti. Cena je poslušalec, ki ga morate vzdrževati, spremljati in popravljati.

Vhod prek VPN lahko tega poslušalca zadrži zunaj javne poti, a širok račun VPN lahko razkrije nepovezane storitve. Preostalo javno ime gostitelja, poslušalec SSH ali pozabljena družina naslovov lahko porušijo mejo samo VPN, za katero ste mislili, da jo imate. Zato načrt samo VPN potrebuje popis poslušalcev, ne le pravila požarnega zidu.

Primerjajte dovoljene poti, ne oznak. V vsakem primeru ohranite preverjanje pristnosti aplikacije in običajno preverjanje identitete strežnika.

Vloge v repozitoriju so enota dovoljenja

Izvajalcu dajte individualno identiteto z najmanjšo vlogo, ki opravi nalogo. Ogledovanje, push, vzdrževanje in upravljanje so različne vloge, in skupina, ki dodeli vsak notranji projekt, ni isto kot dostop do enega repozitorija. Preverite dejanska imena vlog v svoji platformi, namesto da bi domnevali, da ime skupine ustreza eni vlogi.

Naštejte vsako operacijo, ki jo naloga resnično potrebuje. Dostop prek brskalnika in prenos Git lahko uporabljata različne poverilnice ali poslušalce. Avtomatizirane gradnje, prenosi paketov in webhooki lahko tečejo kot ločene identitete z lastnimi potmi dostave, in VPN na prenosniku jih ne poveže.

Zaščita vsebine repozitorija je ločeno delo. Sprememba vhodne poti ne odstrani skrivnosti, ki je že v zgodovini, ne omeji pooblaščenega klona in ne zaščiti delovne postaje sodelavca.

Poverilnice, ki preživijo človeka

Odhod je kraj, kjer se dostop do repozitorija in omrežni dostop znova razideta. Odstranite avtorizacijo repozitorija in pravico do VPN prek njunih lastnikov, nato preverite osebne žetone, ključe SSH, poverilnice za avtomatizacijo in aktivne seje. Ključ za nameščanje je klasični preživeli: lahko obdrži nastavljen dostop za branje ali pisanje po tem, ko oseba zapusti organizacijo. Odstranitev s seznama članov ni popoln odhod.

Popišite strojne poverilnice po lastniku in namenu pred koncem naloge, ne po njej. Žeton, ustvarjen za tedensko gradnjo, lahko projekt preživi za leto, če nihče ni zapisal, zakaj obstaja.

Preverite operacijo, zavrnitev in odhod

Pred predajo preizkusite tri stvari: dovoljena operacija z repozitorijem uspe, nepovezan repozitorij je zavrnjen in umaknjena identiteta ne uspe. Če je načrt samo VPN, potrdite, da stara neposredna javna pot ne more več izvesti operacije.

Shranite kodo in zapise o pregledih, a ne dovolite, da pozabljen dostop postane načrt obnovitve. Pisni seznam identitet, vlog in datumov poteka je tisto, kar naredi naslednjo zahtevo izvajalca ponovljiv proces.

Sorodni članki