Condividi tramite


Controllo dell'accesso ai dispositivi

Il processo host del driver UMDF viene eseguito nel contesto dell'account del servizio locale. Il driver potrebbe dover accedere ad altri dispositivi o componenti che non consentono l'accesso generalizzato all'account del servizio locale.

A partire da Windows 8, il sistema operativo include un ID di sicurezza (SID) che identifica i driver UMDF. Includendo questo SID nei requisiti di sicurezza dei dispositivi, i dispositivi o i componenti possono consentire l'accesso ai driver UMDF impedendo l'accesso da altre richieste dall'account del servizio locale.

Il SID per i driver UMDF è SDDL_USER_MODE_DRIVERS e la definizione è in sddl.h. La rappresentazione completa di questo SID è:

S-1-5-84-0-0-0-0-0

L'abbreviazione di questo SID è UD. Questa abbreviazione è disponibile a partire da Windows 8.

Un driver esterno al driver UMDF può specificare il SID nel file INF o nel driver, prima di creare l'oggetto dispositivo.

Specificare la sicurezza dei dispositivi in un file INF

Nel file INF è possibile usare il formato abbreviato o il formato completo del SID.

Il modulo abbreviato è disponibile a partire da Windows 8:

HKR,,Security,,"D:P(A;;GA;;;BA)(A;;GA;;;SY)(A;;GA;;;UD)"   

Nei sistemi operativi precedenti a Windows 8, è necessario usare il modulo completamente specificato:

HKR,,Security,,"D:P(A;;GA;;;BA)(A;;GA;;;SY)(A;;GA;;;S-1-5-84-0-0-0-0-0)"       

Specificare la sicurezza del dispositivo in un driver KMDF

Per specificare i requisiti di sicurezza nel driver, è necessario usare il formato abbreviato, disponibile solo a partire da Windows 8. Ad esempio, un driver KMDF potrebbe abilitare l'accesso al dispositivo dai driver UMDF usando quanto segue:

RtlInitUnicodeString(&sddlString, L"D:P(A;;GA;;;BA)(A;;GA;;;SY)(A;;GA;;;UD)");
status = WdfDeviceInitAssignSDDLString(DeviceInit, &sddlString);