Hogyan működik a Web Access

A Web Access a webes konzolokat — Grafana, Prometheus, egy levélgyűjtő, egy BMC webes felülete vagy API-ja — ugyanazon belépés, csoportok, jóváhagyások, zárak és audit mögé teszi, mint az SSH-t. A konzol gépén nincs ágens, a böngészőben nincs bővítmény: a brókerek minden alkalmazás előtt fordított proxyként állnak, a böngésző pedig az alkalmazás saját hosztnevét éri el, ami a brókerek közös címére oldódik fel.

Ez a lap egy kérés útja. Hogy egy alkalmazás hogyan kerül az apps.yaml-be, az az alkalmazások beállítása; hogy ki jut be és mit tehet egy-egy kérés, az a Web Access-policy; hogy mi kell magának a konzolnak, az egy webes konzol előkészítése.

A részek

Egy alkalmazás megnyitása

  1. A felhasználó megnyitja az alkalmazás címét (vagy rákattint a webUI Alkalmazásaim oldalán, /apps, ami felsorolja, mit nyithat meg ez a felhasználó). Az alkalmazás-hivatkozások új lapon nyílnak.
  2. Még nincs alkalmazás-munkamenet: a proxy egy rövid életű állapot-sütit ad a böngészőnek, és a webUI átadási végpontjára küldi (/apps/handoff). Ha a felhasználó nincs belépve a webUI-ba, a webUI előbb a belépést kéri, aztán folytatja.
  3. A kapuk, a webUI-n: a felhasználónak az alkalmazás allow_groups csoportjainak egyikében kell lennie, nem léphet be tiltott néven, nem lehet zárolva (sem ő, sem az alkalmazás), és — ha az alkalmazás kéri — nyitott jóváhagyási ablakkal kell rendelkeznie (négy szem elvű, vagy indoklással önkiszolgáló). Egy elutasítás APP_ACCESS_DENIED audit-sor az okával; a felhasználó egy általános mondatot lát.
  4. Az átadás: a webUI egy egyszer használatos, 60 másodpercig érvényes kódot ad, és a böngészőt visszaküldi az alkalmazás /_isg/callback címére. A proxy a kódot csak abban a böngészőben váltja be, amelyiknél az illő állapot-süti van, még egyszer ellenőrzi a jóváhagyást, a zárat és a licencet, és megnyitja az alkalmazás-munkamenetet: az isg_app süti (HttpOnly, Secure, SameSite=Lax) az alkalmazás hosztján. Az audit-sor APP_SESSION_STARTED.
  5. Ettől kezdve minden kérés hordozza az isg_app-ot, és a proxy továbbítja az upstreamnek.

Minden kérés

Egy nyitott alkalmazás-munkamenet minden kérésénél a bróker, ebben a sorrendben:

Ha a kérést nem lehet rögzíteni, a policy nem tölthető be, a címtár nem kérdezhető, vagy a titok nem olvasható, a kérés nem megy át (503) — a Web Access zárva hibázik.

Hogyan ér véget egy munkamenet

A webUI-ból kilépés, a csoport elvesztése, egy zár, egy adminisztrátori lezárás, egy jóváhagyási ablak vége, vagy a tétlenségi vagy az abszolút határ lezárja az alkalmazás-munkamenetet — minden brókeren, a kiszolgáló brókeren legfeljebb kb. 5 másodperc alatt. Egy kérés az alkalmazás logout_paths útjainak egyikére az adott alkalmazásnál kilépteti a felhasználót az ISG-ből. Az audit-sor APP_SESSION_CLOSED, az okával.

Amit a böngésző sosem lát

Ami a Web Access nem