Udostępnij za pośrednictwem


Zmienianie zabezpieczeń dostępu w zabezpieczanych obiektach

Drukarki, usługi, klucze rejestru, aplikacje DCOM i przestrzenie nazw WMI są zabezpieczanymi obiektami. Dostęp do zabezpieczanych obiektów jest chroniony przez deskryptory zabezpieczeń , które określają użytkowników, którzy mają dostęp. Począwszy od systemu Windows Vista, wiele zabezpieczanych obiektów ma metody pobierania lub ustawiania deskryptora zabezpieczeń. Przy użyciu odpowiednich uprawnień można odczytywać lub zmieniać deskryptory zabezpieczeń w zabezpieczanych obiektach. Za pomocą tych metod można kontrolować, które konta użytkowników lub grupy mają dostęp do drukarki, usługi, przestrzeni nazw usługi WMI lub innego obiektu. Aby uzyskać więcej informacji na temat deskryptorów zabezpieczeń i ich użycia w usłudze WMI, zobacz Dostęp do obiektów zabezpieczalnych WMI.

W tym temacie omówiono następujące sekcje:

Metody deskryptora obiektów i zabezpieczeń

Poniższa lista zawiera metody, które umożliwiają zabezpieczanym obiektom udostępnianie możliwości odczytywania lub zmieniania deskryptora zabezpieczeń:

Notatka

Gdy nowa lista kontroli dostępu do zabezpieczeń (SACL) nie jest określona w wywołaniu metody SetSecurityDescriptor, deskryptor zabezpieczeń SACL na docelowym zabezpieczanym obiekcie jest ustawiony na null, aby poprzednie ustawienie SACL nie było utrwalane.

 

Konwertowanie między formatami deskryptora zabezpieczeń

Deskryptory zabezpieczeń to złożone tablice bajtów binarnych, które muszą być zwykle tworzone i zmieniane w języku C++. Po użyciu jednej z metod Get w celu uzyskania deskryptora zabezpieczeń klasa Win32_SecurityDescriptorHelper dostarcza metody, które konwertują deskryptory zabezpieczeń na Język definicji deskryptora zabezpieczeń (SDDL) lub na wystąpienia Win32_SecurityDescriptor.

Można łatwiej manipulować listami kontroli dostępu (ACL) w Win32_SecurityDescriptor wystąpieniach lub wewnątrz SDDL. Aby uzyskać więcej informacji na temat struktury i używania deskryptorów zabezpieczeń w usłudze WMI, zobacz Obiekty deskryptora zabezpieczeń usługi WMI.

W języku C++ lub C# użyj funkcji konwersji, aby przekonwertować deskryptory zabezpieczeń binarnych na Security Descriptor Definition Language (SDDL). Aby zmodyfikować wartości deskryptora zabezpieczeń w aplikacjach języka C++, użyj ConvertSecurityDescriptorToStringSecurityDescriptor i ConvertStringSecurityDescriptorToSecurityDescriptor.

Problemy z zabezpieczeniami

Zaleca się, aby zmiany deskryptorów zabezpieczeń odbywały się z dużą ostrożnością, aby bezpieczeństwo obiektu nie zostało naruszone. Należy pamiętać, że kolejność wpisów kontroli dostępu (ACL) w uznaniowej liście kontroli dostępu (DACL) może mieć wpływ na bezpieczeństwo dostępu. Aby uzyskać więcej informacji, zobacz Order of ACEs in a DACL.

Obiekty deskryptorów zabezpieczeń WMI

Klasa pomocnicza deskryptora zabezpieczeń

najlepsze rozwiązania dotyczące zabezpieczeń

Utrzymywanie Zabezpieczeń Usługi WMI

kontroli dostępu

dostęp do przestrzeni nazw WMI