Festlegen der Sicherheit bei der Namespaceerstellung
Die MOF-Datei (Managed Object Format), die einen Namespace erstellt, kann auch die Sicherheitsbeschreibungen für den Namespace definieren, indem der NamespaceSecuritySDDL-Qualifizierer mit dem Sicherheitsdeskriptor im SDDL-Format (Security Descriptor Definition Language) eingeschlossen wird.
Sie können NamespaceSecuritySDDL verwenden, um jeden Namespace zu schützen. Sie können diesen Qualifizierer auch in einer einfachen MOF-Datei verwenden, um den Sicherheitsdeskriptor für einen vorhandenen Namespace zu ändern. Die SDDL-Zeichenfolge wird von WMI verarbeitet, um die Namespacesicherheit herzustellen, aber nicht als Zeichenfolge gespeichert. Wenn kein Sicherheitsdeskriptor angegeben ist, wird die Standardsicherheit verwendet. Weitere Informationen finden Sie unter Setting Namepace Security Descriptors.
Mit dem folgenden Verfahren wird der Sicherheitsdeskriptor für den \ MyNamespace-Stammnamespace festgelegt. Die SDDL-Zeichenfolge legt den Besitzer und die Gruppe auf authentifizierte Benutzer fest und gibt eine DACL (Discretionary Access Control List) an, die von untergeordneten Namespaces geerbt wird. Die DACL ermöglicht dem Benutzer das Recht, Daten zu lesen, Methoden auszuführen, Daten in Anbieterklassen zu schreiben und den Remotezugriff zu verwenden: WBEM _ ENABLE, WBEM-METHODE _ _ EXECUTE, WBEM-SCHREIBANBIETER, _ _ WBEM _ REMOTE _ ACCESS. Weitere Informationen finden Sie unter Zugriff auf WMI-Namespaces.
So legen Sie eine Namespace-DACL fest
Erstellen Sie eine MOF-Datei (Managed Object Format), oder ändern Sie Ihre vorhandene MOF-Datei, die den Namespace definiert, um den NamespaceSecuritySDDL-Qualifizierer mit der SDDL-Zeichenfolge hinzuzufügen.
Das folgende Codebeispiel zeigt, dass der zu ändernde Namespace der \ Stammnamespace ist und die Datei den Namen MyNamespace _ security.mof hat.
#pragma autorecover #pragma namespace("\\\\.\\root") [NamespaceSecuritySDDL ("O:BAG:BAD:(A;CI;0x60003;;;WD)")] Instance of __Namespace { Name = "MyNamespace"; };Beachten Sie, dass bei der SDDL-Zeichenfolge die Groß-/Kleinschreibung beachtet wird: Die Buchstaben müssen groß geschrieben werden.
Das folgende Codebeispiel zeigt die Buchstaben "o" und "g" in der SDDL-Zeichenfolge als Kleinbuchstaben und führt dazu, dass Mofcomp.exe einen Fehler zurückgibt.
#pragma autorecover #pragma namespace("\\\\.\\root") [NamespaceSecuritySDDL("o:BAg:BAD:(A;CI;0x60003;;;WD)")] Instance of __Namespace { Name = "MyNamespace"; };Führen Sie Mofcomp.exe aus, um die MOF-Datei zu kompilieren.
c: \ mofcomp MyNamespace _ security.mof
Verwenden Sie in C++ die IMoFCompiler-Methoden.
Wenn beim Festlegen der Namespace-DACL ein Fehler auftritt, beachten Sie die folgenden Fehlermeldungen:
Fehler Beschreibung WBEM _ E _ INVALID _ PARAMETER Es gibt keine geerbte DACL. Alternativ hat der Aufrufer gegen die DACL oder die SD im übergeordneten Namespace verstoßen. WBEM _ E _ ACCESS _ DENIED Der Aufrufer verfügt nicht über die Berechtigung zum Aktualisieren der SDDL in MOF.