Доступ падрадчыка да рэпазіторыя: публічны ўваход ці шлях праз VPN?
Падрадчыку патрэбен адзін прыватны рэпазіторый для абмежаванага праекта. Выберыце аўтэнтыфікаваны публічны ўваход або абмежаваны шлях праз VPN, затым зрабіце ролю рэпазіторыя адзінкай доступу.
Падрадчыку патрэбен адзін прыватны рэпазіторый для абмежаванага праекта, і запыт прыходзіць у выглядзе «зрабіце рэпазіторый публічным» або «дайце ім доступ праз VPN». Абодва адказы абыякавыя да сапраўднага пытання. Аўтарызацыя рэпазіторыя і сеткавы ўваход — асобныя ўзроўні, і важны дазвол — тое, якое дазваляе гэтаму чалавеку чытаць або push у гэты адзін рэпазіторый. Усё астатняе ў любым з набораў — дадатковая рызыка. Спачатку спреектуйце ўзровень аўтарызацыі, потым вырашыце, колькі мінімум сеткавага шляху яму трэба.
Ілюстратыўны праект робіць гэта канкрэтным: адзін знешні распрацоўшчык, адзін рэпазіторый, ніякіх прадукцыйных хастоў, ніякага інтэрфейсу адміністравання. Трымайце гэтыя межы нязменнымі, пакуль параўноўваеце ўваходы.
Два ўваходы, дзве розныя мяжы
Публічна дасяжны сэрвіс рэпазіторыя ўсё яшчэ патрабуе аўтэнтыфікацыі HTTPS або SSH і аўтарызацыі прыкладання. Публічная дасяжнасць не азначае ананімную чытальнасць. Кошт — гэта слухач, які трэба падтрымліваць, маніторыць і абнаўляць.
Уваход праз VPN можа трымаць гэтага слухача па-за публічным шляхам, але шырокі ўліковы запіс VPN можа адкрыць непатрэбныя сэрвісы. Пакінутае публічнае імя хоста, слухач SSH або сямейства адрасоў, пра якое вы забыліся, могуць разбурыць мяжу «толькі VPN», якую вы думалі, што маеце. Таму дызайн «толькі VPN» патрабуе інвентара слухачоў, а не толькі правіла фаеруола.
Параўноўвайце дазволеныя шляхі, а не ярлыкі. У любым выпадку захавайце аўтэнтыфікацыю прыкладання і звычайную праверку ідэнтычнасці сервера.
Ролі рэпазіторыя — гэта адзінка дазволу
Дайце падрадчыку індывідуальную асобу з найменшай роляй, якой дастаткова для задачы. Прагляд, push, падтрымка і адміністраванне — розныя ролі, і група, якая дае ўсе ўнутраныя праекты, не тое ж самае, што доступ да аднаго рэпазіторыя. Праверце фактычныя назвы роляў на вашай платформе, замест таго каб меркаваць, што назва групы адпавядае адной ролі.
Пералічыце кожную аперацыю, якая сапраўды патрэбна праекту. Доступ праз браўзер і транспарт Git могуць выкарыстоўваць розныя ўліковыя дадзеныя або слухачы. Аўтаматызаваныя зборкі, загрузкі пакетаў і webhook могуць працаваць як асобныя асобы са сваімі шляхамі дастаўкі, і VPN на ноўтбуку іх не злучае.
Абарона змесціва рэпазіторыя — асобная праца. Змена ўваходнага шляху не выдаляе сакрэт, які ўжо ў гісторыі, не абмяжоўвае дазволены клон і не абараняе працоўную станцыю ўдзельніка.
Уліковыя дадзеныя, якія жывуць даўжэй за чалавека
Выключэнне — гэта месца, дзе доступ да рэпазіторыя і сеткавы доступ зноў разыходзяцца. Выдаліце аўтарызацыю рэпазіторыя і права VPN праз іх адпаведных уладальнікаў, затым праверце асабістыя токены, ключы SSH, уліковыя дадзеныя аўтаматызацыі і актыўныя сесіі. Ключ разгортвання — класічны выжылы: ён можа захаваць настроены доступ на чытанне або запіс пасля таго, як чалавек пакінуў арганізацыю. Выдаленне са спісу ўдзельнікаў — не поўнае выключэнне.
Правядзіце інвентар машынных уліковых дадзеных па ўладальніку і мэце да заканчэння праекта, а не пасля. Токен, створаны для тыднёвай зборкі, можа перажыць праект на год, калі ніхто не запісаў, навошта ён існуе.
Праверце аперацыю, адмову і выключэнне
Перад перадачай праверце тры рэчы: дазволеная аперацыя з рэпазіторыем удаецца, непатрэбны рэпазіторый адмаўляецца, а выведзеная асоба не праходзіць. Калі дызайн «толькі VPN», пераканайцеся, што стары прамы публічны маршрут больш не можа выканаць аперацыю.
Захавайце код і запісы прагляду, але не дазваляйце забытаму доступу стаць планам аднаўлення. Пісьмовы спіс асоб, роляў і дат заканчэння — гэта тое, што робіць наступны запыт падрадчыка паўтаральным працэсам.