Felhasználói fiókok vezérlése
Jegyzet
Ez a tervezési útmutató a Windows 7-hez készült, és nem frissült a Windows újabb verzióihoz. Az útmutató nagy része továbbra is elvben érvényes, de a bemutató és a példák nem tükrözik jelenlegi tervezési útmutatónkat.
A jól megtervezett felhasználói fiókok felügyelete segít megelőzni a nem kívánt rendszerszintű változásokat úgy, hogy az kiszámítható legyen, és minimális erőfeszítést igényel.
A felhasználói fiókok felügyelete (UAC) teljes körű engedélyezésével az interaktív rendszergazdák általában a legkevésbé felhasználói jogosultságokkal futnak, de a rendszergazdai feladatok elvégzéséhez önműködően végezhetnek, ha kifejezett hozzájárulást adnak a hozzájárulás felhasználói felületével. Az ilyen felügyeleti feladatok közé tartozik a szoftverek és illesztőprogramok telepítése, a rendszerszintű beállítások módosítása, más felhasználói fiókok megtekintése vagy módosítása, valamint felügyeleti eszközök futtatása.
A legkevésbé kiemelt állapotban a rendszergazdákat védett rendszergazdáknak nevezzük. Emelt szintű állapotukban emelt szintű rendszergazdáknak nevezzük őket. Ezzel szemben a standard felhasználók önmagukban nem emelhetnek, de megkérhetik a rendszergazdát, hogy emelje fel őket a hitelesítő adatok felhasználói felületén. A beépített rendszergazdai fiók nem igényel jogosultságszint-emelést.
A jóváhagyási felhasználói felület, amellyel a védett rendszergazdák rendszergazdai jogosultságokkal rendelkeznek.
A hitelesítő adatok felhasználói felülete, amely a standard felhasználók emelésére szolgál.
Az UAC a következő előnyöket biztosítja:
- Csökkenti az emelt szintű jogosultságokkal futtatott programok számát, így segít megakadályozni, hogy a felhasználók véletlenül módosíthassák a rendszer beállításait, és megakadályozzák, hogy a "kártevő" rendszerszintű hozzáféréshez jusson. Ha a jogosultságszint-emelés megtagadva van, a kártevő csak az aktuális felhasználó adatait tudja befolyásolni. Jogosultságszint-emelés nélkül a kártevők nem végezhetnek rendszerszintű módosításokat, és nem befolyásolhatják más felhasználókat.
- A felügyelt környezetekesetében a jól megtervezett UAC-szolgáltatások lehetővé teszik a felhasználók számára, hogy a szükségtelen korlátozások eltávolításával hatékonyabbak legyenek, ha standard felhasználókként futnak.
- Ez lehetővé teszi a standard felhasználók számára, hogy engedélyt kérjenek a rendszergazdáktól, hogy az aktuális munkameneten belül végezzenek rendszergazdai feladatokat.
- Otthoni környezetek esetén jobb szülői felügyeletet tesz lehetővé a rendszerszintű változások felett, beleértve a telepített szoftvereket is.
fejlesztők: A megvalósítással kapcsolatos információkért lásd: Felhasználói felület újratervezése A felhasználói felület kompatibilitási.
Windows Vista rendszerben a védett rendszergazdák dönthetnek úgy, hogy értesítést kapnak az összes rendszerváltozásról, vagy sem. Az UAC alapértelmezett beállítása az összes módosítás értesítése, függetlenül attól, hogy mi a forrásuk. Ha értesítést kap, az asztal elhalványul, és a kérést jóvá kell hagynia vagy meg kell tagadnia a UAC párbeszédpanelen, mielőtt bármi mást is elvégezhet a számítógépen. Az asztal elhalványulását biztonságos asztali nevezik, mert más programok nem futtathatók halványítva.
A Windows 7 két köztes UAC-beállítást vezet be a védett rendszergazdák számára a Windows Vista kettő mellett. Az első az, hogy csak akkor értesítse a felhasználókat, ha egy program elvégzi a módosítást, így a rendszergazdák automatikusan emelt szintűek lesznek, amikor saját maguk végeznek módosítást. Ez a Windows 7 UAC alapértelmezett beállítása, és a biztonságos asztalt is használja.
A Második köztes beállítás a Windows 7-ben ugyanaz, mint az első, kivéve, hogy nem használja a biztonságos asztalt.
A Windows 7 két köztes UAC-beállítást vezet be.
Megjegyzés:kód megírásával kapcsolatos irányelveket a felhasználói fiókok felügyeletének támogatása érdekében külön cikkben találja.
Tervezési fogalmak
célok
A jól megtervezett felhasználói fiókok felügyeletének a következő céljai vannak:
- A szükségtelen szintemelés kiküszöbölése. A felhasználóknak csak rendszergazdai jogosultságokat igénylő feladatok elvégzéséhez kell emelniük az emelést. Minden más feladatot úgy kell megtervezni, hogy ne legyen szükség emelési szintre. Az örökölt szoftverek gyakran szükségtelen rendszergazdai jogosultságokat igényelnek, ha a HKLM- vagy HKCR-beállításjegyzék szakaszaiba, illetve a Programfájlok vagy a Windows Rendszer mappáiba írnak.
- Legyen kiszámítható. A standard felhasználóknak tudniuk kell, hogy mely feladatok végrehajtására van szükség a rendszergazdának, vagy egyáltalán nem végezhető el felügyelt környezetekben. A rendszergazdáknak tudniuk kell, hogy mely tevékenységek igényelnek jogosultságszint-emelést. Ha nem tudják pontosan megjósolni a jogosultságszint-emelés szükségességét, nagyobb valószínűséggel adnak hozzájárulást a felügyeleti feladatokhoz, amikor nem kellene.
- Minimális erőfeszítést igényel. A rendszergazdai jogosultságokat igénylő feladatokat úgy kell megtervezni, hogy egyetlen jogosultságszint-emelést igényeljenek. A több szintemelést igénylő feladatok gyorsan unalmassá válnak.
- Vissza a legkisebb jogosultságokra. Ha egy rendszergazdai jogosultságot igénylő feladat befejeződik, a programnak vissza kell térnie a legkevésbé jogosultsági állapotra.
Jogosultságszint-emelési tevékenységfolyam
Ha egy tevékenység szintemelést igényel, a következő lépéseket kell végrehajtania:
Belépési pont. Azok a feladatok, amelyek azonnali emelést igényelnek, ha az UAC teljes mértékben engedélyezve van, az UAC-pajzstal jelölt belépési pontok vannak megjelölve. Ebben az esetben a felhasználóknak közvetlenül az ilyen parancsok kattintása után meg kell jelenniük a jogosultságszint-emelési felhasználói felületnek, és különösen óvatosnak kell lenniük, ha a nem védett feladatokból származó jogosultságszint-emelési felhasználói felületet látják.
Ebben a példában a szülői felügyelet és a felhasználói fiókok vezérlőpultjának elemei emelést igényelnek.
Ha az UAC részlegesen engedélyezve van vagy teljesen ki van kapcsolva, az UAC-pajzs továbbra is megjelenik, hogy jelezze, hogy a feladat rendszerszintű módosításokat igényel, ezért emelést igényel, még akkor is, ha a felhasználó esetleg nem látja a Jogosultságszint-emelési felhasználói felületet. A felhasználói felület egyszerű és kiszámítható marad, ha mindig megjeleníti az UAC-pajzsot a jogosultságszint-emelést igénylő feladatokhoz.
Emelkedés. Védett rendszergazdák esetén a feladat hozzájárulást kér a hozzájárulási felhasználói felület használatával. Standard felhasználók esetén a feladat rendszergazdai hitelesítő adatokat kér a hitelesítő adatok felhasználói felületén.
Ezek a példák a hitelesítő adatok felhasználói felületét és a hozzájárulási felhasználói felületet mutatják be.
Külön emelt szintű folyamat. Belsőleg egy új emelt szintű folyamat jön létre a feladat végrehajtásához.
Vissza a legkisebb jogosultságra. Ha szükséges, térjen vissza a minimális jogosultságra, hogy elvégezze azokat a lépéseket, amelyek nem igényelnek jogosultságszint-emelést.
Vegye figyelembe, hogy a tevékenységek nem "emlékeznek" emelt szintű állapotra. Ha például a felhasználó oda-vissza navigál egy varázsló emelési belépési pontja felett, a felhasználónak minden alkalommal emelnie kell.
Használati minták
A felhasználói fiókok felügyelete több használati mintával rendelkezik (a beállítások sorrendjében):
Normál felhasználók számára használható. Úgy tervezheti meg a szolgáltatást az összes felhasználó számára, hogy hatókörét az aktuális felhasználóra korlátozza. Ha a beállításokat az aktuális felhasználóra korlátozza (szemben a rendszerszintű beállításokkal), azzal teljesen szükségtelenné teszi a jogosultságszint-emelési felhasználói felület használatát, és lehetővé teszi a felhasználók számára a feladat elvégzését.
helytelen:
Ebben a példában a Windows XP-felhasználóknak rendszergazdai jogosultságokkal kellett rendelkezniük az aktuális időzóna megtekintéséhez vagy módosításához.
Helyes:
Ebben a példában az időzóna funkciót újraterveztük a Windows 7 és a Windows Vista rendszerben, hogy az minden felhasználó számára működjön.
Külön felhasználói felületi elemekkel rendelkezik a standard felhasználók és rendszergazdák számára. Egyértelműen válassza el a standard felhasználói feladatokat a felügyeleti feladatoktól. Adjon hozzáférést az összes felhasználónak a hasznos írásvédett információkhoz. Egyértelműen azonosítsa a felügyeleti feladatokat az UAC-pajzstal.
Ebben a példában a Rendszer vezérlőpultja elem minden felhasználó számára megjeleníti az állapotát, de a rendszerszintű beállítások módosítása emelést igényel.
A standard felhasználók megkísérlhetik a feladatokat, és emelhetik a hibát. Ha a standard felhasználók megtekinthetik az információkat, és jogosultságszint-emelés nélkül végezhetnek módosításokat, akkor csak akkor érhessék el a felhasználói felületet, és csak akkor emeljék fel őket, ha a feladat meghiúsul. Ez a megközelítés akkor megfelelő, ha a standard felhasználók korlátozott hozzáféréssel rendelkeznek, például a saját fájljaik tulajdonságaival a Windows Intézőben. A Vezérlőpult hibrid központi lapjainak beállításaihoz is használható.
Ebben a példában a felhasználó megpróbálta módosítani a programfájl tulajdonságait, de nem rendelkezik megfelelő jogosultságokkal. A felhasználó emelheti a műveletet, és újra próbálkozhat.
Csak rendszergazdáknak dolgozhat. Ezt a módszert csak rendszergazdai funkciókhoz és programokhoz használja! Ha egy szolgáltatás csak rendszergazdáknak készült (és nincsenek navigációs útvonalai vagy hasznos írásvédett információi a Standard felhasználók számára), a felhasználói felület megjelenítése előtt kérheti a rendszergazdai hitelesítő adatokat a belépési ponton. Ez a módszer hosszú varázslókhoz és lapfolyamatokhoz, ha minden elérési út rendszergazdai jogosultságot igényel.
Ha a teljes program csak rendszergazdáknak szól, jelölje meg, hogy rendszergazdai hitelesítő adatokat kérhessen az indításhoz. A Windows megjeleníti az ilyen programikonokat az UAC-pajzs átfedésével.
Ebben a példában a programnak rendszergazdai jogosultságokra van szüksége az indításhoz.
Iránymutatások
UAC-pajzs ikon
Az UAC-pajzsot tartalmazó megjelenítési vezérlők jelzik, hogy a tevékenység azonnali emelést igényel, ha az UAC teljes mértékben engedélyezve van, akkor is, ha az UAC jelenleg nincs teljesen engedélyezve. Ha egy varázsló összes elérési útja és oldalfolyam szükséges, akkor a UAC-pajzsot a tevékenység belépési pontján kell megjeleníteni. Az UAC-pajzs megfelelő használata segít a felhasználóknak előre jelezni, hogy mikor van szükség emelési szintre.
Ha a program támogatja a Windows több verzióját, akkor jelenítse meg az UAC-pajzsot, ha legalább egy verzió emelést igényel. Mivel a Windows XP soha nem igényel jogosultságszint-emelést, fontolja meg a Windows XP UAC-pajzsainak eltávolítását, ha ezt következetesen és a teljesítmény károsodása nélkül teheti meg.
Ne jelenítse meg az UAC-pajzsot olyan tevékenységeknél, amelyekhez a legtöbb környezetben nincs szükség emeléshez. Mivel ez a megközelítés néha félrevezető lesz, az előnyben részesített módszer egy megfelelően védett környezetfüggő parancs használata.
Mivel az Új mappa parancs csak a rendszermappákban való használat esetén igényel jogosultságszint-emelést, UAC-pajzs nélkül jelenik meg.
Az UAC-pajzs a következő vezérlőkön jeleníthető meg:
parancsgombok:
Egy parancsgomb, amely azonnali jogosultságszint-emelést igényel.
parancshivatkozások:
Azonnali jogosultságszint-emelést igénylő parancshivatkozás.
Hivatkozások:
Azonnali jogosultságszint-emelést igénylő hivatkozás.
menük:
Egy legördülő menü, amely azonnali emelést igényel.
Mivel a tevékenységek nem emlékeznek az emelt szintű állapotra, ne módosítsa az UAC-pajzsot az állapot tükrözésére.
Az UAC-pajzs megjelenítése akkor is, ha a felhasználói fiókok felügyelete ki van kapcsolva, vagy a felhasználó a beépített rendszergazdai fiókot használja. Az UAC-pajzs következetes megjelenítése egyszerűbben programozható, és információt nyújt a felhasználóknak a feladat természetéről.
Emelkedés
Amikor csak lehetséges, a standard felhasználók által elvégzendő tervezési feladatokat emelés nélkül kell elvégezni. Adjon hozzáférést az összes felhasználónak a hasznos írásvédett információkhoz.
Tevékenységenkénti emelés, nem beállítási alapon. Egyetlen lapon vagy párbeszédpanelen ne keverje a standard felhasználói beállításokat a rendszergazdai beállításokkal. Ha például a Standard felhasználók módosíthatják a beállítások egy részét, de nem minden beállítást, akkor ezeket a beállításokat külön felhasználói felületként kell felosztani.
helytelen:
Ebben a példában a standard felhasználói beállítások helytelenül keverednek a felügyeleti beállításokkal.
Helyes:
Ebben a példában a dátum és az idő módosításának beállításai külön párbeszédpanelen találhatók, amelyek csak a rendszergazdák számára érhetők el. Az időzóna-beállítások a standard felhasználók számára érhetők el, és nem keverednek a felügyeleti beállításokkal.
Ne vegye figyelembe, hogy emelni kell a vezérlők megjelenítésének vagy letiltásának meghatározásakor. Ennek oka a következő:
- Nem felügyelt környezetekben tegyük fel, hogy a standard felhasználók a rendszergazda megkérdezésével emelhetnek. A jogosultságszint-emelést igénylő vezérlők letiltásával a felhasználók nem emelhetik fel a rendszergazdákat.
- Felügyelt környezetekben feltételezzük, hogy a Standard felhasználók egyáltalán nem emelhetnek. A jogosultságszint-emelést igénylő vezérlők eltávolítása megakadályozza, hogy a felhasználók tudják, mikor kell leállítani a keresést.
A szükségtelen emelés kiküszöbölése:
- Ha egy tevékenység emelést igényelhet, a lehető leghamarabb emelje fel a műveletet. Ha egy tevékenységhez megerősítésivan szüksége, csak a felhasználó megerősítése után jelenítse meg a jogosultságszint-emelési felhasználói felületet. Ha egy tevékenység mindig emelést igényel, emelje fel a belépési ponton.
- Az emelt szintű jogosultságok emelt szintűek maradnak, amíg az emelt szintű jogosultságokra már nincs szükség. A felhasználóknak nem kell többször emelniük az emelt szintjüket egyetlen feladat végrehajtásához.
- Ha a felhasználóknak fel kell emelnie a módosítást, de nem kell módosításokat végeznie, hagyja engedélyezve a pozitív véglegesítési gombokat, de a véglegesítést megszakításként kezelje. Ezzel kiküszöböli, hogy a felhasználóknak csak az ablak bezárásához emelniük kell az emelt szintjüket.
- helytelen:
-
- Ebben a példában a Módosítások mentése gomb le van tiltva a szükségtelen emelések elkerülése érdekében, de a felhasználók a kijelölés módosításakor engedélyezve lesznek. A letiltott véglegesítés gomb azonban úgy tűnik, hogy a felhasználóknak nincs más választásuk.
Ne jelenítsen meg hibaüzenetet, ha a feladatok meghiúsulnak, mert a felhasználók úgy döntöttek, hogy nem emelnek. Tegyük fel, hogy a felhasználók szándékosan úgy döntöttek, hogy nem folytatják a műveletet, ezért nem fogják hibának tekinteni ezt a helyzetet.
helytelen:
Ebben a példában a Fabrikam Restore helytelenül ad hibaüzenetet, ha a felhasználó úgy dönt, hogy nem emel.
Ne jelenítsen meg figyelmeztetéseket annak magyarázatára, hogy a felhasználóknak emelniük kell a jogosultságaikat a feladatok elvégzéséhez. Hagyja, hogy a felhasználók önállóan felfedezzék ezt a tényt.
Az UAC-pajzs és a jogosultságszint-emelési felhasználói felület megjelenítése a következő táblázat alapján:
Tárgy Körülmény Hová tegye az UAC-pajzsot? Mikor kell felemelni? Program A teljes program csak rendszergazdáknak szól.
UAC-pajzs átfedése a program ikonján.Emelt szintű felhasználói felület megjelenítése indításkor. Parancs A teljes parancs csak rendszergazdáknak szól.
UAC-pajzs parancsgombon vagy hivatkozáson.A jogosultságszint-emelési felhasználói felület megjelenítése, ha a parancsgombra vagy a hivatkozásra kattint, de a megerősítés után. Parancs A parancs az összes felhasználó számára megfelelő hasznos írásvédett információkat jelenít meg, de a módosítások rendszergazdai jogosultságokat igényelnek.
UAC-pajzs a parancsgombon vagy hivatkozáson a módosítások elvégzéséhez.A jogosultságszint-emelési felhasználói felület megjelenítése a parancsgombra kattintáskor, de a megerősítés után. Parancs A standard felhasználók megtekinthetik az információkat, és bizonyos módosításokat végezhetnek jogosultságszint-emelés nélkül. lehetővé teszi, hogy a standard felhasználók megkísérljenek, és a hibaszintet emelik.
Ne jelenítse meg a parancs UAC-pajzsát, hanem a jogosultságszint-emelési belépési ponthoz, ha a parancs sikertelen.A jogosultságszint-emelési felhasználói felület megjelenítése, amikor a felhasználó újrapróbálkozza a parancsot. Tevékenység lépése Minden további lépéshez emelési szint szükséges.
UAC-pajzs a Next (vagy ezzel egyenértékű) gombon.Emelt szintű felhasználói felület megjelenítése a Következő vagy más véglegesítés gombra kattintáskor. Tevékenység lépése Egyes ágak emelést igényelnek.
UAC-pajzs a jogosultságszint-emelést igénylő parancshivatkozásokon.A jogosultságszint-emelési felhasználói felület megjelenítése az UAC-pajzsra mutató parancshivatkozások kattintásakor.
Jogosultságszint-emelési felhasználói felület
- Ha a felhasználó olyan fiókot biztosít, amely nem érvényes (név vagy jelszó), vagy nem rendelkezik rendszergazdai jogosultságokkal, csak adja vissza a hitelesítő adatok felhasználói felületét. Ne jelenjen meg hibaüzenet.
- Ha a felhasználó megszakítja a hitelesítő adatok felhasználói felületét, adja vissza a felhasználót az eredeti felhasználói felületre. Ne jelenjen meg hibaüzenet.
- Ha a felhasználói fiókok vezérlése ki van kapcsolva, és egy standard felhasználó megkísérli elvégezni a jogosultságszint-emelést igénylő feladatot, adjon meg egy hibaüzenetet, amely azt jelzi, hogy "Ez a feladat rendszergazdai jogosultságokat igényel. A feladat végrehajtásához rendszergazdai fiókkal kell bejelentkeznie."
Ebben a példában a felhasználói fiókok felügyelete ki van kapcsolva, így egy hibaüzenet elmagyarázza, hogy a felhasználónak rendszergazdai fiókot kell használnia.
Varázslók
- Ne emelje fel többször. Ha egy varázsló emelt szintű lesz, emelt szintűnek kell lennie.
- Ha a feladatot a varázslóban hajtja végre, helyezzen egy UAC-pajzsot a Véglegesítés lap "Tovább" gombjára (amelynek adott címkekell lennie). Amikor a felhasználó véglegesíti a következőt:
- Ha a következő oldal egy Folyamat lap, lépjen az oldalra, és modálisan jelenítse meg a jogosultságszint-emelési felhasználói felületet. A sikeres jogosultságszint-emelés után hajtsa végre a feladatot.
- Ha a következő lap egy Befejezés lap, lépjen tovább erre a lapra (de ideiglenesen cserélje le a tartalmát "Várakozás engedélyre...") és modálisan jelenítse meg a jogosultságszint-emelési felhasználói felületet. A sikeres emelés után végezze el a feladatot, majd jelenítse meg a Befejezés lap tartalmát.
- Ha a felhasználó megszakítja a jogosultságszint-emelési felhasználói felületet, térjen vissza a Véglegesítés lapra. Ezzel lehetővé teszi a felhasználó számára, hogy újrapróbálkozjon.
- Ha a feladat végrehajtása a varázsló befejeződése után történik, helyezzen egy UAC-pajzsot a Véglegesítés lap "Befejezés" gombjára (amelynek adott címkétkell adni). Amikor a felhasználó véglegesíti a következőt:
- Maradjon a Véglegesítés lapon, és modálisan jelenítse meg a jogosultságszint-emelési felhasználói felületet. A sikeres emelés után zárja be a varázslót.
- Ha a felhasználó megszakítja a jogosultságszint-emelési felhasználói felületet, térjen vissza a Véglegesítés lapra. Ezzel lehetővé teszi a felhasználó számára, hogy újrapróbálkozjon.
- A csak rendszergazdáknak szánt hosszú varázslók esetén a felhasználói felület megjelenítése előtt a belépési ponton kérheti a rendszergazdai hitelesítő adatok megadását.
SMS
- Ne használjon három pontot csak azért, mert egy parancs emelést igényel. Az emelés szükségességét az UAC-pajzs jelzi.
Dokumentáció
A felhasználói fiókok felügyeletére való hivatkozáskor:
- Tekintse meg a funkciót felhasználói fiókkezelésként (az első említéskor) vagy UAC-ként (a későbbi említéskor), nem pedig a legkevésbé kiemelt felhasználói fiókként vagy LUA-ként.
- Tekintse meg a nem rendszergazdákat standard felhasználókként.
- A beépített számítógép-rendszergazdákra beépített rendszergazdákként hivatkozhat.
A felhasználói dokumentációban:
- Tekintse meg a rendszergazdai feladatok elvégzésére vonatkozó hozzájárulás megadását engedélyként.
A programozásban és egyéb műszaki dokumentációban:
- Tekintse meg azt a cselekményt, amely egy rendszergazdai feladat elvégzéséhez való hozzájárulást emelési jogosultságként adja meg.
- A UAC kontextusában a rendszergazdákat védett rendszergazdáknak nevezzük, ha nem emelt szintűek, és emelt szintű rendszergazdákként.
- Tekintse meg a hitelesítő adatok felhasználói felületeként a jelszavak megadásához használt párbeszédpanelt. Tekintse meg a hozzájárulás megadásához használt párbeszédpanelt, mint a hozzájárulás felhasználói felületét. Mindkettőt általában emelt szintű felhasználói felületként tekinti.