Staging nu este producție: dă-i propria frontieră de acces
O etichetă staging nu decide cine ajunge la aplicație sau ce poate atinge. Parcurge publicul, datele, credențialele și suprafețele de administrare înainte de a o publica.
Staging arată ca un sistem de testare până când observi baza de date de producție copiată, credențialul de e-mail activ și cheia de plată din mediul său. În acel moment eticheta din filă nu mai contează, iar întrebarea reală este la ce poate ajunge acest deployment și cine poate ajunge la el. Un VPN la ușa din față nu răspunde la această întrebare, pentru că limitează o singură cale în sistem și nu spune nimic despre ce poate face sistemul la ieșire. Începe cu publicul și lucrează spre exterior.
Începe cu publicul, nu cu URL-ul
Trei publicuri produc trei designuri diferite. Un mediu privat de inginerie are nevoie de identitate și de o rută; un test de acceptare a clientului are nevoie de conturi care reprezintă clienți; o demonstrație publică are nevoie de expunere deliberată cu propriile controale. Scrierea publicului mai întâi împiedică deriva obișnuită în care un URL de previzualizare devine în tăcere permanent. Tot restul din revizuire depinde de acel răspuns.
Dacă nimeni nu poate numi publicul, tratează asta ca prima constatare și nu ca o lipsă de documentație.
Parcurge ușa din față și suprafețele din spatele ei
Rezolvă numele înainte de a te încrede în URL-ul care ți-a fost dat, apoi cere direct căile administrative.
dig +short staging.example.com
curl -sS -o /dev/null -w "%{http_code}\n" https://staging.example.com/
curl -sS -o /dev/null -w "%{http_code}\n" https://staging.example.com/adminÎnregistrările suplimentare dezvăluie adesea o adresă de origine directă care ocolește CDN-ul sau intrarea VPN, ceea ce face controlul dorit opțional. O redirecționare îți spune unde crede aplicația că locuiește, iar o schemă sau un nume de gazdă neașteptat merită o urmărire. Sondarea unei rute administrative probabile ar trebui să producă un refuz, nu o pagină. Un 200 pe o cale administrativă neautentificată este constatarea pe care o căuta întreaga revizuire.
Verifică ce poate face mediul, nu doar ce arată
O pagină care cere autentificare este totuși livrată cu autoritate de backend. Întreabă sub ce identitate rulează sarcina de lucru, apoi citește politicile atașate.
aws sts get-caller-identityAcel apel raportează contul și principalul pe care mediul le folosește efectiv, iar acesta este punctul de plecare pentru fiecare întrebare ulterioară despre permisiuni. De acolo, verifică dacă identitatea poate trimite e-mail, muta bani, citi secrete de producție sau scrie date de producție. Înlocuiește credențialele de producție partajate cu identități staging restrânse și preferă sandbox-urile furnizorului acolo unde există. Un cont de test care poate debita un card real este un sistem de producție cu alt nume de gazdă.
Păstrează frontiera după ce revizuirea se încheie
Un mediu nu este securizat de un singur audit; este securizat de proprietatea care supraviețuiește schimbărilor de personal. Desemnează cine elimină accesul, resetează datele de test și retrage deployment-ul, și dă previzualizării o expirare pe care cineva trebuie să o reînnoiască. Izolarea ajută doar cât timp lucrul izolat este întreținut. Reverifică aceleași căi după următoarea versiune, pentru că un flag de funcționalitate sau o integrare nouă este exact modul în care o rută refuzată devine deschisă.
Acceptă designul cu un flux de lucru permis și unul refuzat. Dacă ambele se comportă conform documentației, frontiera există; dacă s-a testat doar calea fericită, este o speranță.