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 identificatore 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 per 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.

Specifica della sicurezza del dispositivo in un file INF

Nel file INF è possibile usare il formato abbreviato o il formato completamente specificato 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 alla 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)"       

Specifica della sicurezza del dispositivo in un driver KMDF

Per specificare i requisiti di sicurezza nel driver, è necessario usare il modulo abbreviato, che è disponibile solo a partire da Windows 8. Ad esempio, un driver KMDF può 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);