Приступ извођача репозиторијуму: јавни улаз или VPN пут?
Извођачу је потребан један приватни репозиторијум за ограничен пројекат. Изаберите аутентификовани јавни улаз или ограничен VPN пут, а затим учините улогу у репозиторијуму јединицом приступа.
Извођачу је потребан један приватни репозиторијум за ограничен пројекат, а захтев долази као «учините репозиторијум јавним» или «дајте им VPN приступ». Оба одговора прескачу право питање. Ауторизација репозиторијума и мрежни улаз су одвојени слојеви, а дозвола која је важна је она која тој особи омогућава читање или push у тај један репозиторијум. Све остало у било ком пакету је додатни ризик. Најпре пројектујте слој ауторизације, а затим одлучите колико му је мало мрежног пута потребно.
Илустративни ангажман то чини конкретним: један спољни програмер, један репозиторијум, без продукционих хостова, без административног интерфејса. Држите тај обим фиксним док поредите улазе.
Два улаза, две различите границе
Јавно доступна услуга репозиторијума и даље примењује HTTPS или SSH аутентификацију и ауторизацију апликације. Јавна доступност не значи анонимну читљивост. Цена је слушалац који морате да одржавате, надгледате и закрпите.
VPN улаз може да држи тај слушалац изван јавног пута, али широк VPN налог може да изложи неповезане услуге. Заостало јавно име хоста, SSH слушалац или заборављена фамилија адреса могу да пониште границу само VPN-а за коју сте мислили да је имате. Зато дизајн само VPN-а треба инвентар слушалаца, а не само правило заштитног зида.
Поредите дозвољене путеве, а не ознаке. У сваком случају задржите аутентификацију апликације и уобичајену проверу идентитета сервера.
Улоге у репозиторијуму су јединица дозволе
Дајте извођачу појединачни идентитет са најмањом улогом која завршава задатак. Преглед, push, одржавање и администрација су различите улоге, а група која даје сваки интерни пројекат није исто што и приступ једном репозиторијуму. Проверите стварне називе улога на својој платформи уместо да претпоставите да назив групе одговара једној улози.
Наведите сваку операцију која ангажману заиста треба. Приступ преко прегледача и Git пренос могу да користе различите акредитиве или слушаоце. Аутоматизоване изградње, преузимања пакета и webhook могу да раде као засебни идентитети са својим путањама доставе, а VPN на преносном рачунару их не повезује.
Заштита садржаја репозиторијума је засебан посао. Промена улазног пута не уклања тајну која је већ у историји, не ограничава овлашћену копију и не обезбеђује радну станицу сарадника.
Акредитиви који живе дуже од особе
Одлазак је место где се приступ репозиторијуму и мрежни приступ поново разилазе. Уклоните ауторизацију репозиторијума и VPN право преко њихових власника, затим проверите личне токене, SSH кључеве, акредитиве аутоматизације и активне сесије. Кључ за распоређивање је класични преживели: може да задржи конфигурисани приступ читању или писању након што особа напусти организацију. Уклањање са списка чланова није потпун одлазак.
Попишите машинске акредитиве по власнику и сврси пре него што ангажман заврши, не после. Токен створен за недељну изградњу може да надживи пројекат годину дана ако нико није записао зашто постоји.
Проверите операцију, одбијање и одлазак
Пре предаје тестирајте три ствари: дозвољена операција на репозиторијуму успева, неповезани репозиторијум се одбија, а повучени идентитет не пролази. Ако је дизајн само VPN, потврдите да стари директни јавни пут више не може да изврши операцију.
Чувајте код и записе прегледа, али не дозволите да заборављени приступ постане план опоравка. Писани списак идентитета, улога и датума истека је оно што следећи захтев извођача чини поновљивим процесом.