Eszközobjektumok SDDL-je

A biztonsági leíró definíciós nyelve (SDDL) a biztonsági leírók megjelenítésére szolgál. Az eszközobjektumok biztonságát egy INF-fájlba helyezett vagy az IoCreateDeviceSecure-nek átadott SDDL-sztring határozza meg. A Biztonsági leíró definíciós nyelv teljes mértékben dokumentálva van a Microsoft Windows SDK dokumentációjában.

Bár az INF-fájlok támogatják az SDDL teljes tartományát, az IoCreateDeviceSecure rutin csak a nyelv egy részhalmazát támogatja. Ez az alkészlet itt van definiálva.

Az eszközobjektumok SDDL-karakterláncai a "D:P" formátumot követik, amelyet egy vagy több "(A;;Hozzáférés;;;SID)" kifejezés követ. A SID-érték egy biztonsági azonosítót ad meg, amely meghatározza, hogy kire vonatkozik az Access-érték (például egy felhasználó vagy csoport). A hozzáférési érték határozza meg a SID számára engedélyezett hozzáférési jogosultságokat. Az Access és a SID értékei a következők.

Ha SDDL-t használ az eszközobjektumokhoz, az illesztőprogramnak a Wdmsec.lib-hez kell kapcsolódnia.

Hozzáférés
Egy ACCESS_MASK értéket ad meg, amely meghatározza az engedélyezett hozzáférést. Ez az érték "0xhexa" formátumú hexadecimális értékként vagy kétbetűs szimbolikus kódok sorozataként írható, amelyek a hozzáférési jogosultságokat jelölik.

Az általános hozzáférési jogosultságok megadásához az alábbi kódok használhatók.

Kód Általános hozzáférési jogosultság

GA

ÁLTALÁNOS_MINDEN

GR

Általános_olvasás

GW

Általános Írás

GX

ÁLTALÁNOS_VÉGREHAJTÁS

Az alábbi kódokkal adhat meg bizonyos hozzáférési jogosultságokat.

Kód Adott hozzáférési jogosultság

RC

OLVASÁS_ELLENŐRZÉS

SD

töröl

Fehér törpe

WRITE_DAC

TULAJDONOS_MÓDOSÍTÁSA

GENERIC_ALL a fenti két táblában felsorolt összes jogosultságot biztosítja, beleértve az ACL módosításának lehetőségét is.

SID
A megadott hozzáféréssel rendelkező SID-et adja meg. Az SID-k fiókokat, aliasokat, csoportokat, felhasználókat vagy számítógépeket jelölnek.

Az alábbi SID-k a számítógépen lévő fiókokat jelölik.

SID Leírás

SY

Rendszer

Magát az operációs rendszert jelöli, beleértve a felhasználói módú összetevőket is.

LS

Helyi szolgáltatás

Egy előre definiált fiók a helyi szolgáltatásokhoz (amely szintén a Hitelesített és a Világ szolgáltatáshoz tartozik). Ez a SID Windows XP-től kezdve érhető el.

NS

Hálózati szolgáltatás

Előre definiált fiók a hálózati szolgáltatásokhoz (amely szintén a Hitelesített és a Világ szolgáltatáshoz tartozik). Ez a SID Windows XP-től kezdve érhető el.

A következő SID-k a gépen lévő csoportokat jelölik.

SID Leírás

Bölcsészdiploma

Adminisztrátorok

A beépített Rendszergazdák csoport a gépen.

BU

Beépített felhasználói csoport

A tartomány összes helyi felhasználói fiókját és felhasználóit lefedő csoport.

BG

Beépített vendégcsoport

A helyi vagy tartományi vendégfiók használatával bejelentkező felhasználókat lefedő csoport.

Az alábbi SID-k azt írják le, hogy a felhasználó milyen mértékben lett hitelesítve.

SID Leírás

AU

Hitelesített felhasználók

A helyi gép vagy egy tartomány által felismert összes felhasználó. A Beépített vendégfiók használatával bejelentkezett felhasználók hitelesítése nem történik meg. A Vendégek csoport tagjai azonban hitelesítve vannak a gépen vagy a tartományban található egyéni fiókokkal.

EGY

Névtelen bejelentkezett felhasználó

Bármely felhasználó, aki identitás nélkül jelentkezett be, például egy névtelen hálózati munkamenet során. A Beépített vendégfiók használatával bejelentkező felhasználók nem hitelesítve vagy névtelenül jelentkeznek be. Ez a SID Windows XP-től kezdve érhető el.

Az alábbi SID-k bemutatják, hogyan jelentkezett be a felhasználó a gépre.

SID Leírás

NE

Interaktív felhasználók

Azok a felhasználók, akik kezdetben "interaktívan" jelentkeztek be a gépre, például helyi bejelentkezések és távoli asztalok bejelentkezései.

NU

Hálózati bejelentkezési felhasználó

A gépet távolról, interaktív asztali hozzáférés nélkül elérő felhasználók (például fájlmegosztás vagy RPC-hívások).

Fehér törpe

Világ

A Windows XP előtt ez a SID minden munkamenetet lefedett, legyen szó hitelesített felhasználókról, névtelen felhasználókról vagy a Beépített vendégfiókról.

A Windows XP-től kezdve ez a SID nem fedi le a névtelen bejelentkezési munkameneteket; csak a hitelesített felhasználókra és a Beépített vendégfiókra vonatkozik.

A nem megbízható vagy a "korlátozott" kódra a World SID sem vonatkozik. További információkért tekintse meg a korlátozott kód (RC) sid leírását az alábbi táblázatban.

A következő SID-k külön említést érdemelnek.

SID Leírás

RC

Korlátozott kód

Ez a SID a nem megbízható kód általi hozzáférés szabályozására szolgál. Az RC-sel rendelkező jogkivonatok ACL-érvényesítése két ellenőrzésből áll, egyet a jogkivonat normál SID-listájából (például WD-t tartalmaz), egyet pedig egy második listából (amely általában RC-t és az eredeti jogkivonat-azonosítók egy részét tartalmazza). A hozzáférés csak akkor biztosított, ha egy jogkivonat mindkét teszten megfelel. Így az RC valójában más SID-kkel együtt működik.

Az ACL-nek, amely megadja az RC-t, meg kell adnia a WD-t is. Ha az RC párosul a WD-vel egy ACL-ben, egy 'Mindenki' szuperhalmaz van leírva, amely a nem megbízható kódot is tartalmazza.

Előfordulhat, hogy a nem megbízható kódot az Explorer "Futtatás másként" lehetőségével indítják el. Alapértelmezés szerint a World nem fedi le a nem megbízható kódot.

UD

User-Mode illesztőprogramok

Ez a SID hozzáférést biztosít a felhasználói módú illesztőprogramokhoz. Ez a SID jelenleg csak a User-Mode Illesztőprogram-keretrendszerhez (UMDF) írt illesztőprogramokra vonatkozik. Ez a SID a Windows 8-tól érhető el.

A Windows korábbi verzióiban, amelyek nem ismerik fel az "UD" rövidítést, meg kell adnia ennek a SID-nek a teljes formáját (S-1-5-84-0-0-0-0-0) az UMDF-illesztőprogramok hozzáférésének biztosításához. További információ: Eszközhozzáférés szabályozása a User-Mode Illesztőprogram-keretrendszer dokumentációjában.

SDDL-példák eszközobjektumokhoz

Ez a szakasz a Wdmsec.h fájlban található előre definiált SDDL-sztringeket ismerteti. Ezeket sablonként is használhatja az eszközobjektumok új SDDL-sztringjeinek definiálásához.

SDDL_DEVOBJ_KERNEL_ONLY

"D:P"

SDDL_DEVOBJ_KERNEL_ONLY az "üres" ACL. A felhasználói módú kód (beleértve a rendszerként futó folyamatokat is) nem tudja megnyitni az eszközt.

A PnP buszvezérlő ezt a leírót használhatja egy PDO létrehozásakor. Az INF-fájl ezután megadhatja az eszköz lazább biztonsági beállításait. Ennek a leírónak a megadásával a buszvezető meggyőződne arról, hogy az eszköznek az INF feldolgozása előtt történő megnyitása nem fog sikerülni.

Hasonlóképpen, a nem WDM-illesztők is használhatják ezt a leírót, hogy elérhetetlenné tegyék az eszközobjektumokat, amíg a megfelelő felhasználói módú program (például egy telepítő) be nem állítja a beállításjegyzék végső biztonsági leíróját.

Ezekben az esetekben az alapértelmezett érték a szigorú biztonság, szükség esetén lazítva.

SDDL_DEVOBJ_SYS_ALL

"D:P(A;; GA;;; SY)"

SDDL_DEVOBJ_SYS_ALL hasonló a SDDL_DEVOBJ_KERNEL_ONLY, azzal a kivételével, hogy a rendszerként futó felhasználói módú kód a kernel módú kódon kívül bármilyen hozzáféréshez is megnyithatja az eszközt.

Előfordulhat, hogy az örökölt illesztőprogramok ezt az ACL-t használják a szigorú biztonsági beállítások megadásához, és lehetővé teszik, hogy a szolgáltatás futásidőben nyissa meg az eszközt az egyes felhasználók számára a SetFileSecurity felhasználói módú függvény használatával. Ebben az esetben a szolgáltatásnak rendszerként kell futnia.

SDDL_DEVOBJ_SYS_ALL_ADM_ALL

"D:P(A;;GA;;;SY)(A;;GA;;;BA)"

SDDL_DEVOBJ_SYS_ALL_ADM_ALL lehetővé teszi, hogy a rendszermag, a rendszer és a rendszergazda teljes ellenőrzést gyakoroljon az eszköz felett. Más felhasználók nem férhetnek hozzá az eszközhöz.

SDDL_DEVOBJ_SYS_ALL_ADM_RWX_WORLD_R

"D:P(A;; GA;;; SY)(A;; GRGWGX;;; BA)(A;; GR;;; WD)"

SDDL_DEVOBJ_SYS_ALL_ADM_RWX_WORLD_R lehetővé teszi a kernel és a rendszer teljes vezérlését az eszköz felett. Alapértelmezés szerint a rendszergazda hozzáférhet a teljes eszközhöz, de nem módosíthatja az ACL-t (először a rendszergazdának kell átvennie az irányítást az eszköz felett.)

Mindenki (a world SID) olvasási hozzáférést kap. A nem megbízható kód nem fér hozzá az eszközhöz (előfordulhat, hogy a nem megbízható kód az Explorer Futtató mód lehetőségével indítható el). Alapértelmezés szerint a World nem fedi le a korlátozott kódot.)

Azt is vegye figyelembe, hogy a bejárási hozzáférés nem engedélyezett a normál felhasználók számára. Ezért előfordulhat, hogy ez nem megfelelő leíró egy névtérrel rendelkező eszközhöz.

SDDL_DEVOBJ_SYS_ALL_ADM_RWX_WORLD_R_RES_R

"D:P(A;; GA;;; SY)(A;; GRGWGX;;; BA)(A;; GR;;; WD)(A;; GR;;; RC)"

SDDL_DEVOBJ_SYS_ALL_ADM_RWX_WORLD_R_RES_R lehetővé teszi a kernel és a rendszer teljes vezérlését az eszköz felett. Alapértelmezés szerint a rendszergazda hozzáférhet a teljes eszközhöz, de nem módosíthatja az ACL-t (először a rendszergazdának kell átvennie az irányítást az eszköz felett.)

Mindenki (a world SID) olvasási hozzáférést kap. Emellett a nem megbízható kódok is hozzáférhetnek a kódhoz. Előfordulhat, hogy a nem megbízható kódot az Explorer "Futtatás másként" lehetőségével indítják el. Alapértelmezés szerint a World nem fedi le a korlátozott kódot.

Azt is vegye figyelembe, hogy a bejárási hozzáférés nem engedélyezett a normál felhasználók számára. Ezért előfordulhat, hogy ez nem megfelelő leíró egy névtérrel rendelkező eszközhöz.

Ezek az SDDL-sztringek nem tartalmaznak öröklésmódosítókat. Ezért csak eszközobjektumokhoz használhatók, és nem használhatók fájlokhoz vagy beállításkulcsokhoz. Az öröklés SDDL használatával történő megadásáról további információt a Microsoft Windows SDK dokumentációjában talál.