Condividi tramite


Descrittori di sicurezza per oggetti privati

Per creare un descrittore di sicurezza, un server protetto può utilizzare la stessa procedura usata da un'applicazione per creare un descrittore di sicurezza per un oggetto a protezione diretta. Per il codice di esempio, vedere Creazione di un descrittore di sicurezza per un nuovo oggetto in C++. In alternativa, un'applicazione server protetta può chiamare la funzione BuildSecurityDescriptor per eseguire questa operazione. Se un puntatore a un descrittore di sicurezza auto-relativo esistente viene fornito a BuildSecurityDescriptor, creerà il nuovo descrittore di sicurezza con le informazioni acquisite da tale descrittore di sicurezza unito a nuove informazioni sul controllo di accesso passate come parametri nella chiamata di funzione. Il proprietario e il gruppo vengono facoltativamente specificati dalle strutture TRUSTEE passate alla funzione. Il descrittore di sicurezza creato da BuildSecurityDescriptor è in formato auto-relativo .

Inoltre, l'API Di Windows fornisce un set di funzioni per l'unione delle informazioni di sicurezza client con informazioni ereditate dal descrittore di sicurezza per un oggetto padre o da un descrittore di sicurezza predefinito. Le funzioni CreatePrivateObjectSecurity, GetPrivateObjectSecurity, SetPrivateObjectSecurity e DestroyPrivateObjectSecurity consentono di recuperare le informazioni predefinite da un token di accesso, supportare l'ereditarietà e modificare parti specifiche del descrittore di sicurezza. Ciò può essere utile quando un client crea un oggetto privato in una gerarchia di oggetti protetti. Ad esempio, è possibile usare la funzione CreatePrivateObjectSecurity per creare un descrittore di sicurezza contenente gli ACL specificati dal client, gli ACL ereditati da un oggetto padre e il proprietario predefinito dal token di accesso del client di creazione. Mentre BuildSecurityDescriptor crea descrittori di sicurezza dalle informazioni di controllo di accesso passate nella chiamata di funzione o da un descrittore di sicurezza esistente, CreatePrivateObjectSecurity crea un descrittore di sicurezza esclusivamente dalle informazioni nei descrittori di sicurezza esistenti.

La funzione LookupSecurityDescriptorParts ottiene informazioni sul descrittore di sicurezza da un descrittore di sicurezza auto-relativo esistente. Queste informazioni includono la specifica del proprietario e del gruppo, il numero di ACL nell'elenco SACL o DACL e l'elenco di ACL nell'elenco SACL o DACL.