Jogosultsági műveletek és bootstrap
Ezt a referenciát a szolgáltatásidentitás előkészítéséhez és a jogosultsági határok hibáinak diagnosztizálásához használd. Olvasd el először a jogosultságkezelést, a Graph-beállítást és a külső előfeltételeket.
Szolgáltatáskulcsok
Külön előkészített, önálló fejlesztői környezethez a backend könyvtárból futtasd:
node scripts/authorization-runtime.mjs init
node scripts/authorization-runtime.mjs ecas-backend pnpm dev:admin
Az egyesített futtatókörnyezet a futtatókörnyezeti életciklus szerint kezeli a szolgáltatásait. Ne indítsd ezt az önálló szolgáltatást egy már futó példány mellé.
Az AdminService alapértelmezett portja 3018. A GraphPullPoller a 3013-as portot használja. A BFF ADMIN_SERVICE_URL alapértelmezése http://127.0.0.1:3018.
A fejlesztői indító külön RSA-identitást tart fenn a BFF, a backend, az onboarding és a keresés számára. Ezek a ~/.local/share/ecas-authorization/ mappában vannak, a tárolón kívül. Az ECAS_AUTHORIZATION_DIRECTORY másik helyet választ ki. Az init megtartja a meglévő kulcsokat. A szolgáltatói titkok titkosítása külön fájlt használ, és a bérlő-, illetve szolgáltatóazonosítót hitelesített kiegészítő adatként köti.
Az éles környezet a kulcsokat titkos tárolóból csatolja. Az ellenőrző kulcsok a kiállítót, a célközönséget és a műveletet korlátozzák. Tartsd meg a korábbi ellenőrző kulcsokat, amíg az elfogadott vagy ütemezett munka még hivatkozhat rájuk.
A fejlesztői indító beállítja az ECAS_ENABLE_BOOTSTRAP_ROOT=true értéket. Ez egy külön, naplózott bootstrap-tagságot engedélyez. Nem tesz minden fejlesztőt gyökér-jogosultságúvá. Az éles környezet alapértelmezés szerint nem engedélyezi. A bootstrap nem bizonyíték Microsoft-szerepkörre.
Kliens-IP szabályzat
A megbízhatatlan X-Forwarded-For nem állapíthatja meg a kliens címét. A beállított bemeneti réteg eltávolítja a bejövő MailGen proxyfejléceket, majd beállítja az X-Ecas-Client-IP és az X-Ecas-Proxy-Token fejlécet. A BFF a tokent időzítésbiztos ellenőrzéssel veti össze az ECAS_TRUSTED_PROXY_TOKEN értékkel. Az ellenőrzött cím az aláírt szolgáltatási kontextusba kerül.
Aktív IP-szabályok és ellenőrzött cím nélkül az új kérés meghiúsul. A tiltás győz. Ha van engedélyező lista, legalább egy bejegyzésnek egyeznie kell. Egy későbbi IP-szabályzat nem vonja vissza a tartós munka eredeti befogadását.
Külső célok
Az ECAS_ENTITLEMENT_ALLOWED_HOSTS engedélyezi a HTTP-jogosultsági célokat. Az ECAS_PROVIDER_ALLOWED_HOSTS engedélyezi az egyedi, OpenAI-kompatibilis szolgáltatói célokat. A HTTP-kliens HTTPS-t és nyilvános címet követel meg. Rögzíti az ellenőrzött DNS-célt, elutasítja az átirányításokat, és korlátozza a válasz méretét és időtartamát.
A cURL-import konfigurációt elemez. Nem futtat shellt, és nem küld kérést. A modellfelfedezés szolgáltatói API-kat használ. A hiányzó metaadat ismeretlen marad. A kézzel megadott és a felfedezett értékek külön maradnak.
Tárolási mérések
A mérő a ListObjectsV2 művelettel lapozza az objektummetaadatokat, és a kulcsokat deduplikálja. Az aktuális, ellenőrzött bérlői névtereket méri. Nem mér számlázási adatot, archivált verziókat vagy lemezkapacitást.
Az admin API összesített méreteket ad. Nem ad S3-hitelesítő adatokat, objektumlistákat, tartalmat vagy általános törlési lehetőséget. Egy külön postafiók-visszaállítási munkafolyamat külön jogosultságot használ. Egy sikertelen mérés megőrzi az előző sikeres pillanatképet és időpontját. Nem tárol hamis nullát.
A felület külön mutatja az alkalmazás tulajdonában lévő, leképezett felhasználó nélküli tárolót. Mérés közben kétmásodpercenként olvassa az állapotot, befejezés után megáll.
Elfogadott munka
Az authorization.admissions a tárolt outbox payload::text pontos digestjét védi. A payload módosítása, egy másik bérlő vagy erőforrás, a visszavont bizonyíték vagy az érvénytelen forráskötés elutasítást okoz. Egy későbbi csoportvesztés önmagában nem érvényteleníti az elfogadott munkát.
Egy örökölt munkát ne legitimáld a jelenlegi adminisztrátori jogok alapján, ha nincs hozzá bizonyíték. Az ellenőrzött eredet nélküli munkához friss felhasználói elfogadás kell. Egy régi ütemezést ellenőrizd, mielőtt újra létrehoznád.
Adminisztrációs határok
Egy helyi alkalmazás-bejelentkezés létrehozása nem hoz létre Microsoft-identitáskötést, és nem ad alkalmazásjogosultságot. A létrehozó bérlő egy nem összekapcsolt fiókot naplózott eredettel kezelhet. A kötés után az ellenőrzött identitások rangvédelmet kapnak.
A beállítási katalógus ugyanazt az érvényesítést használja, mint az alkalmazásbeállítások. A kötelező szabályzat felülírja a helyi és az optimista értékeket. A részletes Szinkronizálási központ-hozzáférés külön áll a mail.read által engedélyezett minimális, csak írhatósági olvasástól.
A tagsági részletek megmutatják az érvényességet, az utolsó bizonyítékot, a visszavonást, a lejáratot, a kivételt és a forráshibákat. Az automatikus tagsági kivétel eltávolítása visszaadhatja a hozzáférést, ezért ugyanazokat a hozzárendelési ellenőrzéseket igényli, mint a tagság hozzáadása. Modell-jogosultság eltávolításához is kell a modell-hozzárendelési jogosultság.
Szolgáltatóazonosság
Egy modell-UUID nem változtathatja meg a szolgáltató- vagy modellcélját. Új célhoz hozz létre új rekordot. A megjelenítési mezők, az árak és a korlátok szerkeszthetők. A modellek által hivatkozott szolgáltató nem irányíthatja át a protokollját vagy a célját.
A tárolt kulcsú cél módosításához kulcskezelési jogosultság is kell. Ez megakadályozza, hogy önmagában a szolgáltatókezelési hozzáférés átirányítson egy titkot. A DNS és a HTTP közös határidőt kap. A kapcsolat rögzíti az engedélyezett nyilvános IPv4-célt, és elutasítja a privát célokat és az átirányításokat.
A default érvelési szint azt jelenti, hogy nincs közzétett explicit szint, így a szolgáltató alapértelmezése érvényes. Nem talál ki képességmetaadatot.