Festlegen von Sicherheitseinstellungen für die Erstellung von Namespaces

Die MOF-Datei (Managed Object Format), die einen Namespace erstellt, kann auch die Sicherheitsbeschreibungen für den Namespace definieren, indem der NamespaceSecuritySDDL-Qualifizierer in die Sicherheitsbeschreibung im SDDL-Format (Security Descriptor Definition Language) eingeschlossen wird.

Sie können NamespaceSecuritySDDL verwenden, um einen beliebigen Namespace zu schützen. Sie können diesen Qualifizierer auch in einer einfachen MOF-Datei verwenden, um die Sicherheitsbeschreibung für einen vorhandenen Namespace zu ändern. Die SDDL-Zeichenfolge wird von WMI verarbeitet, um die Namespacesicherheit einzurichten, aber nicht als Zeichenfolge gespeichert. Wenn keine Sicherheitsbeschreibung angegeben ist, wird die Standardsicherheit verwendet. Weitere Informationen finden Sie unter Festlegen von Namespace-Sicherheitsbeschreibungen.

Das folgende Verfahren legt die Sicherheitsbeschreibung für den Namespace root\MyNamespace fest. 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 erlaubt dem Benutzer, Daten zu lesen, Methoden auszuführen, Daten in Anbieterklassen zu schreiben und Remotezugriff zu verwenden: WBEM_ENABLE, WBEM_METHOD_EXECUTE, WBEM_WRITE_PROVIDER, WBEM_REMOTE_ACCESS. Weitere Informationen finden Sie unter Zugriff auf WMI-Namespaces.

So legen Sie eine Namespace-DACL fest

  1. 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 „root\MyNamespace“ ist und die Datei den Namen „MyNamespace_security.mof“ trägt.

    #pragma autorecover
    #pragma namespace("\\\\.\\root")
    [NamespaceSecuritySDDL ("O:BAG:BAD:(A;CI;0x60003;;;WD)")]
    Instance of __Namespace
    {
      Name = "MyNamespace";
    };
    
  2. Beachten Sie, dass bei der SDDL-Zeichenfolge die Groß-/Kleinschreibung beachtet wird: Die Buchstaben müssen groß geschrieben werden.

    Das folgende Codebeispiel enthält die Buchstaben „o“ und „g“ in der SDDL-Zeichenfolge als Kleinbuchstaben. was dazu führt, 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";
    };
    
  3. Führen Sie Mofcomp.exe aus, um die MOF-Datei zu kompilieren.

    c:\mofcomp MyNamespace_security.mof

    Verwenden Sie in C++ die IMoFCompiler-Methoden.

  4. Wenn beim Festlegen der Namespace-DACL ein Fehler auftritt, sollten Sie die folgenden Fehlermeldungen berücksichtigen:

    Fehler BESCHREIBUNG
    WBEM_E_INVALID_PARAMETER Es gibt keine geerbte DACL. Alternativ dazu 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.

     

Festlegen von Sicherheitsbeschreibungen für Namespaces

Konstanten für Zugriffsberechtigungen von Namespaces

ACE-Flagkonstanten für Namespaces

Ändern der Zugriffssicherheit für sicherungsfähige Objekte