Urakoitsijan pääsy repositorioon: julkinen sisäänkäynti vai VPN-polku?
Urakoitsija tarvitsee yhden yksityisen repositorion rajattuun projektiin. Valitse todennettu julkinen sisäänkäynti tai rajattu VPN-polku ja tee repositorion roolista käyttöoikeuden yksikkö.
Urakoitsija tarvitsee yhden yksityisen repositorion rajattuun projektiin, ja pyyntö tulee joko muodossa «tee repositoriosta julkinen» tai «antakaa heille VPN-pääsy». Molemmat vastaukset ohittavat varsinaisen kysymyksen. Repositorion valtuutus ja verkon sisäänkäynti ovat erillisiä kerroksia, ja tärkeä lupa on se, joka sallii kyseisen henkilön lukea tai pushata juuri tähän yhteen repositorioon. Kaikki muu kummassakin paketissa on ylimääräistä riskiä. Suunnittele ensin valtuutuskerros ja päätä sitten, kuinka vähän verkkopolkua se tarvitsee.
Havainnollistava toimeksianto tekee tästä konkreettisen: yksi ulkoinen kehittäjä, yksi repositorio, ei tuotantopalvelimia, ei hallintakäyttöliittymää. Pidä tämä laajuus kiinteänä, kun vertailet sisäänkäyntejä.
Kaksi sisäänkäyntiä, kaksi erilaista rajaa
Julkisesti saavutettava repositoriopalvelu vaatii edelleen HTTPS- tai SSH-todennuksen ja sovelluksen valtuutuksen. Julkinen saavutettavuus ei tarkoita anonyymia luettavuutta. Hinta on kuuntelija, jota sinun on ylläpidettävä, valvottava ja paikattava.
VPN-sisäänkäynti voi pitää kyseisen kuuntelijan poissa julkiselta polulta, mutta laaja VPN-tili voi paljastaa asiaankuulumattomia palveluita. Jäljelle jäänyt julkinen isäntänimi, SSH-kuuntelija tai unohtamasi osoiteperhe voi kumota luulemasi vain VPN -rajan. Siksi vain VPN -suunnittelu tarvitsee luettelon kuuntelijoista, ei pelkästään palomuurisääntöä.
Vertaa sallittuja polkuja, älä nimikkeitä. Pidä joka tapauksessa sovelluksen todennus ja tavallinen palvelimen identiteetin vahvistus voimassa.
Repositorion roolit ovat luvan yksikkö
Anna urakoitsijalle henkilökohtainen identiteetti pienimmällä roolilla, joka suorittaa tehtävän. Katselu, pushaus, ylläpito ja hallinta ovat eri rooleja, eikä ryhmä, joka myöntää kaikki sisäiset projektit, ole sama kuin pääsy yhteen repositorioon. Tarkista alustasi todelliset roolinimet sen sijaan, että olettaisit ryhmän nimen vastaavan yhtä roolia.
Listaa jokainen toiminto, jonka toimeksianto todella tarvitsee. Selainpääsy ja Git-siirto voivat käyttää eri tunnistetietoja tai kuuntelijoita. Automaattiset buildit, pakettilataukset ja webhookit voivat toimia erillisinä identiteetteinä omine toimitusteineen, eikä kannettavan tietokoneen VPN yhdistä niitä.
Repositorion sisällön suojaaminen on erillinen työ. Sisäänkäyntipolun muuttaminen ei poista historiaan jo jäänyttä salaisuutta, rajoita valtuutettua kloonia tai turvaa avustajan työasemaa.
Tunnistetiedot, jotka elävät henkilöä pidempään
Lähteminen on kohta, jossa repositorion pääsy ja verkon pääsy erkanevat jälleen. Poista repositorion valtuutus ja VPN-oikeus niiden omistajien kautta ja tarkista sitten henkilökohtaiset tokenit, SSH-avaimet, automaation tunnistetiedot ja aktiiviset istunnot. Käyttöönottoavain on klassinen selviytyjä: se voi säilyttää määritetyn luku- tai kirjoituspääsyn sen jälkeen, kun henkilö on lähtenyt organisaatiosta. Poistaminen jäsenluettelosta ei ole täydellinen lähteminen.
Kartoita koneiden tunnistetiedot omistajan ja tarkoituksen mukaan ennen toimeksiannon päättymistä, ei sen jälkeen. Viikon buildia varten luotu token voi elää projektin ohi vuodella, jos kukaan ei kirjoittanut, miksi se on olemassa.
Vahvista toiminto, hylkäys ja lähteminen
Ennen luovutusta testaa kolme asiaa: sallittu repositoriotoiminto onnistuu, asiaankuulumaton repositorio hylätään ja poistettu identiteetti epäonnistuu. Jos suunnittelu on vain VPN, varmista, ettei vanha suora julkinen reitti voi enää suorittaa toimintoa.
Säilytä koodi ja katselmointitiedot, mutta älä anna unohdetun pääsyn muuttua palautussuunnitelmaksi. Kirjallinen luettelo identiteeteistä, rooleista ja vanhenemispäivistä on se, mikä tekee seuraavasta urakoitsijapyynnöstä toistettavan prosessin.