Udostępnij przez


Operacje deskryptora zabezpieczeń

Interfejs API systemu Windows udostępnia funkcje umożliwiające uzyskiwanie i ustawianie składników deskryptora zabezpieczeń skojarzonych z zabezpieczanym obiektem. Użyj funkcji GetSecurityInfo i GetNamedSecurityInfo, aby pobrać wskaźnik do deskryptora zabezpieczeń obiektu. Te funkcje mogą również pobierać wskaźniki do poszczególnych składników deskryptora zabezpieczeń: DACL, SACL, identyfikator SID właściciela i identyfikator SID grupy podstawowej. Użyj funkcji SetSecurityInfo i SetNamedSecurityInfo, aby ustawić składniki deskryptora zabezpieczeń obiektu.

Ogólnie rzecz biorąc, należy użyć GetSecurityInfo i SetSecurityInfo z obiektami zidentyfikowanymi przez uchwyt, a SetNamedSecurityInfo i GetNamedSecurityInfo z obiektami zidentyfikowanymi przez nazwę. Aby uzyskać więcej informacji na temat określonych funkcji do użycia podczas pracy z różnymi typami obiektów, zobacz Zabezpieczane obiekty.

Interfejs API systemu Windows udostępnia dodatkowe funkcje do manipulowania składnikami deskryptora zabezpieczeń. Aby uzyskać informacje na temat pracy z listami kontroli dostępu (DACLs lub SACLs), zobacz Pobieranie informacji z listy ACL i Tworzenie lub modyfikowanie listy ACL. Aby uzyskać informacje o identyfikatorach SID, zobacz Identyfikatory zabezpieczeń (SID).

Aby uzyskać informacje o kontrolce w deskryptorze zabezpieczeń, wywołaj funkcję GetSecurityDescriptorControl. Aby ustawić bity sterujące związane z automatycznym dziedziczeniem ACE, wywołaj funkcję SetSecurityDescriptorControl. Inne bity sterowania są ustawiane przez różne funkcje, które ustawiają składnik deskryptora zabezpieczeń. Jeśli na przykład użyjesz SetSecurityInfo, aby zmienić listę DACL obiektu, funkcja ustawia lub czyści bity odpowiednio, aby wskazać, czy deskryptor zabezpieczeń ma listę DACL, czy jest to domyślna lista DACL itd. Innym przykładem jest bity sterowania menedżera zasobów (RM) zawarte w deskryptorze zabezpieczeń. Te bity są używane zgodnie z implementacją menedżera zasobów i są dostępne za pośrednictwem funkcji GetSecurityDescriptorRMControl i SetSecurityDescriptorRMControl.