Was Anwendungs- und Dienstentwickler über Gruppen wissen müssen
Beim Entwickeln einer Anwendung oder eines Diensts können Sie Gruppen verwenden, um die Verwaltung zu delegieren oder den Zugriff auf die Anwendung oder den Dienst als Ganzes oder Teil zu steuern. Beispielsweise kann eine Anwendung steuern, wer verschiedene Verwaltungsvorgänge ausführen kann. Erstellen Sie dazu ACEs, die den entsprechenden Gruppen bestimmte Zugriffsrechte gewähren. Es ist eine gute Programmierpraxis, einen ACE zu haben, der Zugriff auf eine Gruppe gewährt, als mehrere ACEs zu haben, die einzelnen Benutzern oder Computern Zugriff gewähren.
Es wird empfohlen, dass Anwendungen die folgenden Richtlinien verwenden, wenn Sie Gruppen verwenden:
- Erstellen Sie keine Abhängigkeiten von hartcodierten Gruppen, was zu Komplikationen führen kann, wenn die Gruppe gelöscht oder verschoben wird.
- Vermeiden Sie die Verwendung integrierter Gruppen, es sei denn, die Funktion der Gruppe stellt die spezifischen Anforderungen für die Anwendung bereit. Beispielsweise muss ein Benutzer nicht Mitglied der Gruppe Administratoren sein, nur um dem Benutzer die Berechtigung zum Erstellen eines Computerkontos zu erteilen. Dadurch erhalten die Benutzer Berechtigungen und Berechtigungen, die er möglicherweise nicht benötigt, was zu einem Sicherheitsrisiko führen kann. Stattdessen sollten Sie eine neue Sicherheitsgruppe erstellen, die über die erforderlichen spezifischen Berechtigungen verfügt, und den Benutzer dieser neuen Gruppe hinzufügen.
- Beachten Sie beim Erstellen neuer Gruppen die folgenden Empfehlungen:
- Schützen Sie die Gruppe, indem Sie ACEs festlegen, die steuern, wer Mitglieder hinzufügen oder entfernen kann.
- Verwenden Sie globale Gruppen, wenn sie für die Zugriffssteuerung für Objekte in Active Directory Domain Services verwendet werden.
- Verwenden Sie universelle Gruppen nur bei Bedarf (Mitgliederdaten sind global über den globalen Katalog erforderlich; die Gruppe kann einen beliebigen Benutzer/jede Gruppe enthalten). Wenn Sie universelle Gruppen verwenden, platzieren Sie globale Gruppen in der universellen Gruppe, und fügen Sie Benutzer aus der globalen Gruppe hinzu/entfernen. Vermeiden Sie übermäßige Änderungen an universellen Gruppen für die Replikationseffizienz.
- Verwenden Sie keine Gruppenmitgliedschaft für die Zugriffssteuerung. Verwenden Sie stattdessen ein ACE, und steuern Sie den Zugriff, indem Sie das System eine Zugriffsüberprüfung durchführen lassen.
Um den Zugriff auf Vorgänge zu steuern, die nicht in die vordefinierten Zugriffsrechte für Objekte in Active Directory-Domäne-Diensten passen, verwenden Sie das Feature Zugriffsrechte steuern der Zugriffssteuerung in Windows 2000. Weitere Informationen finden Sie unter ADS_RIGHTS_ENUM.
So verwenden Sie ein Steuerungszugriffsrecht, um das Recht zum Ausführen eines Vorgangs zu steuern
- Erstellen Sie ein Steuerungszugriffsrecht, das den Typ des Zugriffs auf die Anwendung oder den Dienst definiert. Weitere Informationen finden Sie unter Steuern von Zugriffsrechten.
- Erstellen Sie ein Objekt in Active Directory Domain Services, das die Anwendung, den Dienst oder die Ressource darstellt.
- Fügen Sie der DACL im Objektsicherheitsdeskriptor Objekt-ACEs hinzu, um Benutzern oder Gruppen das Steuerelementzugriffsrecht für dieses Objekt zu gewähren oder zu verweigern. Weitere Informationen finden Sie unter Festlegen von Zugriffsrechten für ein Objekt.
- Wenn ein Benutzer versucht, den geschützten Vorgang auszuführen, verwendet Ihre Anwendung oder Ihr Dienst die AccessCheckByTypeResultList-Funktion , um zu bestimmen, ob dem Benutzer das Steuerelementzugriffsrecht gewährt wird. Weitere Informationen finden Sie unter Überprüfen eines Steuerelementzugriffsrechts in der ACL eines Objekts.
- Basierend auf dem Ergebnis der Zugriffsprüfung für das Objekt kann Ihre Anwendung oder Ihr Dienst dem Benutzer den Zugriff auf die Anwendung oder den Dienst gewähren oder verweigern.
Eine Dienstanwendung könnte auch eine Gruppe erstellen, deren Mitglieder die verschiedenen Dienstinstanzen sind. Beispielsweise kann ein Dienst mit Instanzen, die auf mehreren Computern in einem Unternehmen installiert sind, über eine gemeinsame Protokolldatei verfügen, in die alle Dienstinstanzen schreiben. Das Dienstinstallationsprogramm erstellt die Protokolldatei und verwendet eine DACL, um nur Mitgliedern einer Gruppe Zugriff zu gewähren. Die Gruppenmitglieder wären die Benutzerkonten, unter denen die verschiedenen Dienstinstanzen ausgeführt werden, oder wenn die Dienste unter dem LocalSystem-Konto ausgeführt werden, wären die Mitglieder die Computerkonten der Hostserver.