Szolgáltatás felhasználói fiókok
Minden szolgáltatás egy felhasználói fiók biztonsági környezetében fut. A fiók felhasználónevét és jelszavát a CreateService függvény adja meg a szolgáltatás telepítésekor. A felhasználónév és a jelszó a ChangeServiceConfig függvénnyel módosítható. A QueryServiceConfig függvénnyel lekérheti a szolgáltatásobjektumhoz társított felhasználónevet (de a jelszót nem). A szolgáltatásvezérlő (SCM) automatikusan betölti a felhasználói profilt.
Szolgáltatás indításakor az SCM bejelentkezik a szolgáltatáshoz társított fiókba. Ha a bejelentkezés sikeres, a rendszer létrehoz egy hozzáférési jogkivonatot, és csatolja az új szolgáltatási folyamathoz. Ez a jogkivonat azonosítja a szolgáltatásfolyamatot a biztonságos objektumokkal való minden további interakció során (olyan objektumoknál, amelyekhez biztonsági leíró van társítva). Ha például a szolgáltatás megpróbál megnyitni egy fogópontot egy csőhöz, a rendszer összehasonlítja a szolgáltatás hozzáférési jogkivonatát a cső biztonsági leírójával, mielőtt hozzáférést adna.
Az SCM nem tartja karban a szolgáltatásfelhasználói fiókok jelszavát. Ha egy jelszó lejárt, a bejelentkezés meghiúsul, és a szolgáltatás nem indul el. A szolgáltatásokhoz fiókokat hozzárendelő rendszergazda olyan jelszavakkal hozhat létre fiókokat, amelyek soha nem járnak le. A rendszergazda a szolgáltatáskonfigurációs program használatával lejáró jelszavakkal is kezelheti a fiókokat, rendszeresen módosítani a jelszavakat.
Ha egy szolgáltatásnak fel kell ismernie egy másik szolgáltatást, mielőtt megosztaná az adatait, a második szolgáltatás ugyanazt a fiókot használhatja, mint az első szolgáltatás, vagy az első szolgáltatás által felismert aliashoz tartozó fiókban is futtatható. Azok a szolgáltatások, amelyeknek elosztott módon kell futniuk a hálózaton, tartományszintű fiókokban kell futniuk.
A szolgáltatáshoz tartozó felhasználói fiók megadása helyett az alábbi speciális fiókok egyikét adhatja meg: