Izvođaču treba jedan privatni repozitorij za ograničen projekt, a zahtjev dolazi kao «učinite repozitorij javnim» ili «dajte im VPN pristup». Oba odgovora preskaču pravo pitanje. Autorizacija repozitorija i mrežni ulaz odvojeni su slojevi, a dopuštenje koje je važno jest ono koje toj osobi omogućuje čitanje ili push u taj jedan repozitorij. Sve ostalo u bilo kojem paketu dodatni je rizik. Najprije projektirajte sloj autorizacije, a zatim odlučite koliko mu je malo mrežnog puta potrebno.

Ilustrativni angažman to čini konkretnim: jedan vanjski razvijatelj, jedan repozitorij, bez produkcijskih hostova, bez administratorskog sučelja. Držite taj opseg fiksnim dok uspoređujete ulaze.

Dva ulaza, dvije različite granice

Javno dostupna usluga repozitorija i dalje provodi HTTPS ili SSH autentifikaciju i autorizaciju aplikacije. Javna dostupnost ne znači anonimnu čitljivost. Trošak je slušatelj koji se mora održavati, nadzirati i zakrpavati.

VPN ulaz može držati taj slušatelj izvan javnog puta, ali širok VPN račun može izložiti nepovezane usluge. Zaostalo javno ime hosta, SSH slušatelj ili obitelj adresa koju ste zaboravili mogu poništiti granicu samo VPN-a za koju ste mislili da je imate. Zato dizajn samo VPN-a treba inventar slušatelja, a ne samo pravilo vatrozida.

Usporedite dopuštene putove, a ne oznake. U svakom slučaju zadržite autentifikaciju aplikacije i uobičajenu provjeru identiteta poslužitelja.

Uloge u repozitoriju jedinica su dopuštenja

Dajte izvođaču pojedinačni identitet s najmanjom ulogom koja dovršava zadatak. Pregled, push, održavanje i administracija različite su uloge, a grupa koja daje svaki interni projekt nije isto što i pristup jednom repozitoriju. Provjerite stvarne nazive uloga na svojoj platformi umjesto da pretpostavite da naziv grupe odgovara jednoj ulozi.

Navedite svaku operaciju koja angažmanu stvarno treba. Pristup kroz preglednik i Git prijenos mogu koristiti različite vjerodajnice ili slušatelje. Automatizirane izgradnje, preuzimanja paketa i webhookovi mogu raditi kao zasebni identiteti s vlastitim putovima dostave, a VPN na prijenosniku ih ne povezuje.

Zaštita sadržaja repozitorija zaseban je posao. Promjena ulaznog puta ne uklanja tajnu koja je već u povijesti, ne ograničava dopuštenu kopiju i ne osigurava radnu stanicu suradnika.

Vjerodajnice koje žive dulje od osobe

Odjava je mjesto gdje se pristup repozitoriju i mrežni pristup ponovno razilaze. Uklonite autorizaciju repozitorija i VPN pravo preko njihovih vlasnika, zatim provjerite osobne tokene, SSH ključeve, vjerodajnice automatizacije i aktivne sesije. Ključ za implementaciju klasični je preživjeli: može zadržati konfigurirani pristup čitanju ili pisanju nakon što osoba napusti organizaciju. Uklanjanje s popisa članova nije potpuna odjava.

Popišite strojne vjerodajnice po vlasniku i svrsi prije nego angažman završi, a ne poslije. Token stvoren za tjednu izgradnju može nadživjeti projekt godinu dana ako nitko nije zapisao zašto postoji.

Provjerite operaciju, odbijanje i odjavu

Prije primopredaje testirajte tri stvari: dopuštena operacija na repozitoriju uspijeva, nepovezani repozitorij se odbija, a umirovljeni identitet ne prolazi. Ako je dizajn samo VPN, potvrdite da stari izravni javni put više ne može izvesti operaciju.

Čuvajte kod i zapise pregleda, ali ne dopustite da zaboravljeni pristup postane plan oporavka. Pisani popis identiteta, uloga i datuma isteka ono je što sljedeći zahtjev izvođača čini ponovljivim procesom.

Povezani članci