A Web Access hibaelhárítása

Az oldalak, amiket a böngésző az ISG-től kap, ha egy webes konzol nem nyílik meg, vagy egy kérést nem enged át — szó szerint idézve (a magyar szöveg; az angolt a böngésző nyelve választja), aszerint csoportosítva, mikor jelennek meg. Minden elutasítás egyben audit-sor az ok kódjával — a sor mondja meg, miért, nem az oldal. Keress rá a képernyődön látott szövegre.

Mielőtt az alkalmazás megnyílik

„Ehhez az alkalmazáshoz nincs hozzáférésed az ISG-n keresztül.”

  1. A felhasználó az alkalmazás allow_groups csoportjainak egyikében sincs benne, egy tiltott néven lép be, vagy — egy identity: credential alkalmazásnál — egyik credentials elem sem illik a csoportjaira. Az audit-sor APP_ACCESS_DENIED, a reason értéke not_in_group, reserved_username vagy no_credential. Nézd meg a felhasználó csoportjait a címtárban és az alkalmazás listáit; alapértelmezett fiók nincs.

„A belépési hivatkozás érvénytelen vagy már felhasználták. Nyisd meg újra az alkalmazást.”

  1. Az egyszer használatos átadási kód lejárt (60 másodpercig érvényes), már felhasználták, vagy nem abban a böngészőben váltották be, amelyik a belépést elindította (reason handoff_invalid vagy handoff_unbound). Az alkalmazás újbóli megnyitása az Alkalmazásaim oldalról új átadást indít. Ha ismétlődik, nézd meg, hogy a böngésző megtartja-e az átirányítások között az alkalmazás hosztnevének sütijeit.

„Ezt a hozzáférést egy adminisztrátor zárolta (a fiókodat vagy az alkalmazást).”

  1. Zár áll a felhasználón vagy az alkalmazáson (reason locked); az isg lock list megmutatja, az okával és a végével. A feloldás isg lock rm.

„Az ISG-licenc nem enged új Web Access-munkamenetet. Szólj a rendszergazdának.”

  1. Az érvényes licenc nem enged új Web Access-munkamenetet ennek a felhasználónak; a nyitott munkameneteket ez nem érinti. Az isg license mutatja, mi van érvényben.

„Jóváhagyás szükséges” / „Jóváhagyásra vár” / „A kérelmet elutasították”

Az alkalmazás négy szem elvű jóváhagyást kér (require_approval). A felhasználó időtartamot választ és elküldi a kérelmet; egy jóváhagyó a webUI jóváhagyási oldalán dönt. A „vár” oldal magától frissül; a függő kérelem approval_timeout_seconds után lejár. Az „Elutasította: …” a jóváhagyó indokát idézi. approval_mode: self mellett az oldal helyette „Indoklás szükséges”: az indoklásnak meg kell felelnie az approval_reason_min_len-nek és az approval_reason_pattern-nek.

„Ilyen nevű alkalmazás nincs beállítva ezen az átjárón.”

404 a webUI átadási végpontján: a hivatkozásban szereplő alkalmazás nem létezik ezen a brókeren — többnyire egy brókerenként eltérő apps.yaml, vagy egy törölt dinamikus alkalmazás. Egy hosztnév, amit a listener egyáltalán nem ismer, csupasz 421-et kap.

„A címtár jelenleg nem érhető el. Próbáld újra később.”

  1. A címtártól nem lehetett lekérdezni a felhasználó csoportjait; a Web Access találgatásra nem enged át kérést. Az isg system check ldap_bind sora megnevezi az okot.

Amíg az alkalmazás nyitva van

„Ezt a műveletet az ISG szabálya tiltja: …”

  1. Egy http_rules deny szabály illeszkedett a kérésre (APP_REQUEST_DENIED, a szabállyal); az alkalmazás nem látta, és a munkamenet megmarad. A kettőspont utáni szöveg a szabály saját reason-je; az audit-sor a szabályt nevezi meg.

„Ez a kérés nincs az alkalmazás engedélyezett kérései között (engedélylista-mód).”

  1. Az alkalmazás http_app_modes szerint allow módban van, és egyik allow szabály sem illeszkedett (szabály: http_mode:allow). Futtasd egy ideig allow_audit módban: az APP_REQUEST_WOULD_DENY sorok felsorolják, mi hiányzik még az engedélyező szabályokból.

„Ehhez a művelethez friss azonosítás kell. Nyisd meg ezt a címet a böngészőben, igazold magad, majd ismételd meg a műveletet: …”

403 egy nem oldalbetöltő kérésre (űrlap-küldés, API-hívás), a címmel az X-ISG-Step-Up fejlécben is: egy step_up szabály újra kéri a második faktort. Nyisd meg a címet, erősítsd meg a kódot, majd ismételd meg a műveletet. Egy oldalbetöltés magától a megerősítő oldalra megy.

„Az adminisztrátor lezárta ezt a Web Access munkamenetet. Nyisd meg újra az alkalmazást; …”

  1. A munkamenetet a webUI-ról vagy az isg sessions close-zal zárták le. Az alkalmazás újbóli megnyitása új munkamenetet indít; egy jóváhagyásos alkalmazásnál új kérelem kell.

„Az alkalmazás munkamenete lejárt; az ISG újra belépett. Küldd el újra a kérést.”

409, egy kind: form fióknál. A konzol saját munkamenete véget ért; az ISG újra belépett, egy GET-et vagy HEAD-et magától megismételt, de egy módosító kérést nem ismétel meg a felhasználó háta mögött. Az újraküldés működik. Ha ez rendszeres időközönként jön (a Grafanán 10 percenként), a konzol nem kiléptetett, hanem a tokenjét forgatta: tedd a 401-es törzsében álló szöveget a logged_out.unless_body_contains-ba (lásd egy webes konzol előkészítése).

„Az ISG nem tudott belépni az alkalmazásba a közvetített fiókkal. Szólj a rendszergazdának; a hiba oka a bróker naplójában van.”

502, egy kind: form fióknál. A recept szerinti belépés nem sikerült; az APP_UPSTREAM_LOGIN_FAILED megnevezi, miért: status (az utolsó lépés státusza nincs a success.status-ban), success_cookie (a megnevezett süti nem jött létre), success_redirect, extract (egy token-szabály nem talált semmit — a belépő oldal megváltozott), timeout, transport (az upstream nem érhető el a brókerről), secret (az OpenBao-bejegyzésből hiányzik a username vagy a password). Ha ugyanazzal a fiókkal kézzel belépsz a konzol saját oldalán, kiderül, hogy a jelszó rossz, vagy a recept.

„Átmenetileg nem érhető el”

503, a következő szövegek egyikével — a kérés minden esetben nem ment át, mert a Web Access zárva hibázik:

A konzol a saját hibáját mutatja

Az oldal a konzolé, nem az ISG-é (a konzol kinézete van rajta). A kérés az ISG által hozzáadott identitással elérte a konzolt: nézd meg, mit gondol a konzol erről az identitásról — identity: credential mellett a fiók jogait, identity: jwt mellett a role_map-et. A munkamenet transcriptje (webUI, Munkamenetek) minden kérésnél mutatja a státuszt, ahogy a konzol válaszolt.

isg system check-sorok

Web Access listener

not listening on … — a listener nem indult el (a port foglalt, vagy a tanúsítvány nem tölt be). not covered: … — egy host (vagy a dinamikus alkalmazás-domain wildcardja) hiányzik a tanúsítvány SAN-jaiból. rejected at … — egy tanúsítvány-újratöltést elutasított, és a korábbi tanúsítványt szolgálja ki tovább.

Web Access credentials

N of M account(s) unreadable: <app>/<account>: … — ezeknek a fiókoknak a titka nem olvasható; egy rajtuk át menő kérés a „hitelesítő adata jelenleg nem olvasható” oldalt kapná. A not measured: apps.yaml does not load az apps.yaml sorra mutat.