Freigeben über


Sicherheitsbeschreibungen für private Objekte

Um einen Sicherheitsdeskriptor zu erstellen, kann ein geschützter Server die gleiche Prozedur verwenden, die eine Anwendung zum Erstellen eines Sicherheitsdeskriptors für ein sicherungsfähiges Objekt verwenden würde. Beispielcode finden Sie unter Erstellen eines Sicherheitsdeskriptors für ein neues Objekt in C++. Alternativ kann eine geschützte Serveranwendung dazu die Funktion BuildSecurityDescriptor aufrufen. Wenn ein Zeiger auf einen vorhandenen selbstrelativen Sicherheitsdeskriptor für BuildSecurityDescriptor bereitgestellt wird, wird der neue Sicherheitsdeskriptor mit Informationen aus diesem Sicherheitsdeskriptor erstellt, die mit neuen Zugriffssteuerungsinformationen zusammengeführt werden, die als Parameter im Funktionsaufruf übergeben werden. Der Besitzer und die Gruppe werden optional durch TRUSTEE-Strukturen angegeben, die an die Funktion übergeben werden. Der von BuildSecurityDescriptor erstellte Sicherheitsdeskriptor hat ein selbstrelatives Format.

Darüber hinaus bietet die Windows-API eine Reihe von Funktionen zum Zusammenführen von Clientsicherheitsinformationen mit Informationen, die vom Sicherheitsdeskriptor für ein übergeordnetes Objekt oder von einer Standardsicherheitsbeschreibung geerbt werden. Die Funktionen CreatePrivateObjectSecurity, GetPrivateObjectSecurity, SetPrivateObjectSecurity und DestroyPrivateObjectSecurity bieten die Möglichkeit, Standardinformationen aus einem Zugriffstoken abzurufen, die Vererbung zu unterstützen und bestimmte Teile des Sicherheitsdeskriptors zu bearbeiten. Dies kann nützlich sein, wenn ein Client ein privates Objekt in einer Hierarchie von gesicherten Objekten erstellt. Beispielsweise können Sie die CreatePrivateObjectSecurity-Funktion verwenden, um einen Sicherheitsdeskriptor zu erstellen, der vom Client angegebene ACEs, ACEs, die von einem übergeordneten Objekt geerbt werden, und den Standardbesitzer aus dem Zugriffstoken des erstellenden Clients enthält. Während BuildSecurityDescriptor Sicherheitsdeskriptoren entweder aus Zugriffssteuerungsinformationen erstellt, die an den Funktionsaufruf übergeben werden, oder aus einem vorhandenen Sicherheitsdeskriptor, erstellt CreatePrivateObjectSecurity einen Sicherheitsdeskriptor ausschließlich aus den Informationen in vorhandenen Sicherheitsbeschreibungen.

Die LookupSecurityDescriptorParts-Funktion ruft Sicherheitsbeschreibungsinformationen aus einem vorhandenen selbstrelativen Sicherheitsdeskriptor ab. Diese Informationen umfassen die Besitzer- und Gruppenspezifikation, die Anzahl der ACEs in der SACL oder DACL sowie die Liste der ACEs in der SACL oder DACL.