Autorisierung, Benutzer, Gruppen und das Objektmodell in SharePoint

In SharePoint wird der Zugriff auf Websites, Listen, Ordner und Listenelemente über ein rollenbasiertes Mitgliedschaftssystem geregelt, das Benutzern Rollen zuweist und sie zum Zugriff auf SharePoint-Objekte autorisiert.

Um einem Benutzer Zugriff auf ein Objekt zu gewähren, können Sie den Benutzer einer Gruppe hinzufügen, die bereits über Berechtigungen für das Objekt verfügt, oder Sie können ein Rollenzuweisungsobjekt erstellen, den Benutzer für die Rollenzuweisung festlegen, optional die Rollenzuweisung an die entsprechende Rollendefinition mit Basisberechtigungen binden und die Zuweisung dann der Auflistung der Rollenzuweisungen für das Listenelement hinzufügen. Ordner, Liste oder Website. Wenn Sie die Rollenzuweisung beim Zuweisen eines Benutzers zu einer Rolle nicht an eine Rollendefinition binden, hat der Benutzer keine Berechtigung. Im Folgenden finden Sie Möglichkeiten, die SharePoint bietet, um den Zugriff auf seine Objekte zu steuern:

  • Objekte können dieselben Berechtigungen wie die übergeordnete Website, Liste oder der übergeordnete Ordner haben (wobei sie die Rollen und Benutzer des übergeordneten Objekts erben), oder sie können einzigartige Berechtigungen haben.

  • Websites, Listen, Ordner und Elemente stellen jeweils eigene Sammlungen mit Rollenzuweisungen bereit, sodass eine präzise Verwaltung des Benutzerzugriffs auf Objekte ermöglicht wird.

  • Gruppen bestehen aus Benutzern und können Rollen zugewiesen werden. SharePoint umfasst standardmäßig die folgenden drei Gruppen:

    • owners (Administrator)

    • members (Mitwirkender)

    • visitors (Leser)

      Wenn Sie eine Website mit eindeutigen Berechtigungen über die Benutzeroberfläche erstellen, werden Sie zu einer Seite geleitet, auf der Sie als Teil der Websitebereitung Benutzer zu diesen Gruppen zuweisen können.

  • Per anonymen Zugriff können Benutzer anonym Beiträge in Listen schreiben, an Umfragen teilnehmen oder Seiten anzeigen. Sie können auch „allen authentifizierten Benutzern" Zugriff erteilen, damit alle Mitglieder Ihrer Domäne eine Website öffnen können, ohne den anonymen Zugriff aktivieren zu müssen.

  • Berechtigungen zum Erstellen einer Website (CreateSSCSite und ManageSubwebs) steuern, welche Benutzer Websites oberster Ebene, Unterwebsite oder Arbeitsbereiche erstellen dürfen.

Benutzer werden indirekt über eine Gruppe, die über eine Rollenzuweisung verfügt, oder direkt über eine Rollenzuweisung Mitglieder eines SharePoint-Objekts. Benutzer können auch Mitglieder einer Microsoft Windows NT-Domänengruppe sein, die einer Gruppe oder einer Rolle hinzugefügt wird. Eine Rollendefinition ordnet einem Benutzer oder einer Gruppe ein einzelnes Recht oder einen Satz von Rechten zu, die den Werten der Microsoft.SharePoint.SPBasePermissions-Enumeration entsprechen. Jeder Benutzer oder jede Gruppe verfügt über eine eindeutige Mitglieds-ID. Sie können das Objektmodell verwenden, um Rollenzuweisungen und -definitionen anders zu erstellen oder zu ändern als die Funktionalität der Datei addrole.aspx und der Datei editrole.aspx. Im Gegensatz zu diesen Seiten, die auf der Benutzeroberfläche angezeigt werden, erzwingt das Objektmodell keine Rechteabhängigkeit, sodass Sie eine Rollendefinition mit einer beliebigen Kombination von Rechten erstellen können. Planen Sie jedoch sorgfältig, wenn Sie das Objektmodell verwenden, um Rollendefinitionen und Berechtigungen anzupassen, da eine schlecht geplante Rollendefinition und unangemessen zugewiesene Rechte zu einer schlechten Benutzererfahrung führen können. Weitere Informationen zu SharePoint-Rechten finden Sie unter SPBasePermissions.

Sicherheitsrichtlinie

Eine Sicherheitsrichtlinie bietet eine Möglichkeit, einheitliche Sicherheit für alle Websitesammlungen innerhalb einer Webanwendung (virtueller Server) zu erzwingen. Mithilfe von Richtlinien können Sie einzelnen SharePoint-Benutzern und Domänengruppen mithilfe von Windows-Authentifizierung oder austauschbaren Authentifizierungssystemen eine Rolle oder Eine Sammlung von Rechten zuweisen, sharePoint-Gruppen jedoch nicht. Jeder Richtlinieneintrag gibt Rechte für einen Benutzer oder eine Gruppe in der Webanwendung an.

Die Richtlinie wird auf der logischen Webanwendungsebene oder auf der Zonenebene festgelegt. Ein Benutzer kann beispielsweise über unterschiedliche Richtlinien für http://Server und http://Server.extranet.microsoft.comverfügen, auch wenn die beiden Webanwendungen denselben Inhalt aufweisen.

Rechte können über eine Richtlinie gewährt oder verweigert werden. Durch die Gewährung eines Rechts erhält der Benutzer oder die Gruppe dieses Recht für alle geschützten Objekte innerhalb der Webanwendung, unabhängig von lokalen Berechtigungen für das Objekt. Das Verweigern eines Rechts hat eine höhere Priorität als die Gewährung des Rechts, wodurch dieses Recht für den Benutzer oder die Gruppe für alle geschützten Objekte innerhalb der Webanwendung aktiv blockiert wird. Das Verweigern aller Elemente für einen Benutzer verhindert, dass dieser Benutzer auf Inhalte zugreifen kann, auch wenn der Benutzer explizite Berechtigungen für bestimmte Inhalte besitzt: Die Richtlinie setzt Berechtigungen auf Websiteebene außer Kraft.

In Benutzerrichtlinien werden die Benutzer und Gruppen sowohl von ihrem Security Identifier (SID) als auch von ihrem Anmelde- oder Benutzernamen identifiziert. Das Anwenden einer Richtlinienrolle ähnelt dem Verwalten von Berechtigungen für eine Website, eine Liste, eine Ordner oder ein Dokument: Sie fügen Benutzer oder Gruppen hinzu, und weisen diese einer oder mehreren Rollendefinitionen zu. Jede Webanwendung verfügt über eigene Richtlinienrollen. Ein weiterer Unterschied zwischen Richtlinienrollen und Verwaltungsberechtigungen besteht darin, dass zentrale Administratoren einem Benutzer eine Berechtigung über eine Webanwendung verweigern können.

Hinweis

Richtlinienrollen in der Zentraladministration unterscheiden sich von den Rollendefinitionen für eine Websitesammlung.

Benutzer, Gruppen und Prinzipale

Ein einzelner Benutzer ( SPUser ) hat Zugriff auf SharePoint-Objekte direkt über eine individuelle Rollenzuweisung oder indirekt über die Mitgliedschaft in einer Domänengruppen oder einer SharePoint-Gruppe ( SPGroup ) mit Rollenzuweisung. Bei einer direkten Rollenzuweisung ist der Benutzer der Prinzipal ( SPPrincipal ). In einer Domänengruppen- oder SharePoint-Gruppen-Rollenzuweisung ist die Domänengruppe oder die SharePoint-Gruppe der Prinzipal.

SharePoint Server unterstützt Windows-Benutzer (z. B. DOMAIN\ User_Alias) und externe Benutzer (durch austauschbare Authentifizierung). Die Benutzeridentität wird vom Identitätsverwaltungssystem gepflegt (wie den Active Directory-Verzeichnisdienst). Das Benutzerprofil (das den Anzeigenamen des Benutzers, seine E-Mail-Adresse und weitere Informationen enthält) ist auf den Ebenenbereich der Websitesammlung bezogen. Wird eine Anzeigename geändert, betrifft dies die gesamte Websitesammlung.

Eine Gruppe ist eine Sammlung von Benutzern, über die SharePoint Server die Sicherheit verwaltet. Die benutzerbasierte Verwaltung ist für einfache Websites einfach, wird aber komplexer, wenn die Anzahl eindeutig geschützter Ressourcen zunimmt. Beispielsweise kann ein Benutzer über die Rolle "Mitwirken" für Liste 1, die Rolle "Lesen " für Liste 2 und die Rolle "Entwurf " für Liste 3 verfügen. Dieses Modell lässt sich nicht gut skalieren, wenn beispielsweise 50.000 Benutzer vorhanden sind. Dies würde dazu führen, dass Zugriffssteuerungslisten (Access Control Lists, ACLs) 50.000 Zugriffssteuerungseinträge (Access Control Entries, ACEs) für jedes eindeutig geschützte Objekt umfassen.

Gruppen sind die Antwort auf Probleme bei Verwaltbarkeit und Skalierung einer benutzerbasierter Rechteverwaltung. Das Konzept einer gruppenbasierten Verwaltung mag abstrakter oder komplizierter klingen, aber es sorgt für eine einfachere Verwaltung komplexer Websites mit vielen eindeutig gesicherten Objekten. Beispiel: Der Fall, in dem Sie einen Benutzer zu einer Gruppe hinzufügen, der bereits die entsprechende Rolle für verschiedene Objekte im System zugewiesen wurde. Die Überprüfung von Gruppenberechtigungen lässt sich besser skalieren, da weniger Gruppen-ACEs gespeichert werden müssen.

SharePoint Server unterstützt zwei Gruppentypen: Domänengruppen und SharePoint-Gruppen. Domänengruppen liegen außerhalb der Kontrolle durch SharePoint Server; Benutzer können SharePoint Server nicht dazu verwenden, Domänengruppenmitgliedschaften zu definieren, zu durchsuchen oder zu ändern. SharePoint-Gruppen sind auf den Bereich der Websitesammlungsebene bezogen und können nur innerhalb der Websitesammlung verwendet werden. Domänengruppen können überall im Bereich des Active Directory-Verzeichnisdiensts verwendet werden.

Ein Prinzipal ist ein Benutzer oder eine Gruppe, der zum Steuern der Sicherheit verwendet wird. Wenn Sie einen Benutzer zu einer Website hinzufügen, ist der Benutzer der Prinzipal, aber wenn Sie der Website eine Gruppe hinzufügen, ist die Gruppe der Prinzipal. Der Schlüssel zum Skalieren der Sicherheit in SharePoint Server besteht darin, die Anzahl der Prinzipale pro Bereich angemessen zu halten. Durch die Verwendung von Gruppen kann eine kleinere Anzahl von Prinzipalen verwendet werden, um einer viel größeren Anzahl von Benutzern Zugriff zu gewähren.

Ansicht der Objektbeziehungen - Bereiche, Benutzer, Gruppen und Rollen

Abbildung 1 zeigt einen Überblick des SharePoint Server-Sicherheitsverwaltungssystems in einem logischen Datenbankdiagramm. jedes Feld steht für ein Sicherheitsobjekt im System. Die Linien symbolisieren die Beziehungen zwischen den Objekten. Die Notationen 1 und N stehen für den Beziehungstyp. Die Abbildung zeigt, wie Berechtigungsdaten in einem Benutzertoken und in einer ACL strukturiert sind.

Abbildung 1: Autorisierungsobjektbeziehungen

Autorisierungsobjektbeziehungen

Ein Bereich stellt ein eindeutig gesichertes Objekt oder eine Gruppe von Objekten dar. Der Bereich kann auf Website-, Listen-, Ordner- oder Elementebene festgelegt sein.

Benutzer und Gruppen haben eine Many-to-Many-Beziehung (N:N). Jeder Benutzer ( SPUser ) kann Mitglied mehrerer Gruppen sein, und jede Gruppe ( SPGroup ) kann mehrere Benutzer haben.

Rechte und Rollendefinitionen haben ebenfalls eine Many-to-Many-Beziehung (N:N). Jedes Recht ( SPBasePermissions ) kann Teil mehrerer Rollendefinitionen sein. Beispiel: Das Insert List Items-Recht ist mit eingeschlossen in die Contributor, Designer- und Administrator-Rollendefinitionen. Jede Rollendefinition ( SPRoleDefinition ) kann mehrere Rechte beinhalten. Beispiel: Contributor beinhaltet das Recht zum Einfügen, Aktualisieren und Löschen von Listenelementen.

Rollendefinitionen und Rollenzuweisungen ( SPRoleAssignment ) haben eine One-to-Many-Beziehung (1:N). Jede Rollendefinition wird in mehreren Rollenzuweisungen verwendet. Die Leser in Liste 1 und die Leser in Liste 2 können unterschiedlich sein, aber ihre Rollenzuweisungen können eine gemeinsame Rollendefinition haben: Reader.

Benutzer oder Gruppen und Rollenzuweisungen besitzen n:n-Beziehungen. Jeder Benutzer oder jede Gruppe kann Mitglied mehrerer Rollenzuweisungen in einem bestimmten Objekt sein. Ein Benutzer kann sowohl Mitglied der Designer-Rolle als auch der Administrator-Rolle für dasselbe Objekt sein.

Bereiche und Rollenzuweisungen verfügen über eine 1:n-Beziehung (1 zu N). Jeder Bereich verfügt über mehrere Rollenzuweisungen, aber jede Rollenzuweisung hat nur einen Bereich. Beispielsweise kann ein Benutzer ein Leser in der Liste Ereignisse und ein anderer Benutzer ein Mitwirkender in der Liste Ereignisse sein, aber keine dieser Rollenzuweisungen gilt für die Liste Ankündigungen. Die einzige Möglichkeit für zwei Listen, dieselbe Rollenzuweisung gemeinsam zu nutzen, besteht darin, ihre Berechtigungen vom übergeordneten Container zu erben. In diesem Fall ist der Sicherheitsbereich der Container, nicht die beiden Listen.

Benutzertoken und Zugriffssteuerungslisten

Um die Überprüfung von Berechtigungen zu beschleunigen, implementiert SharePoint Server Benutzertoken und ACLs in seinem Sicherheitsmodell. Das Benutzertoken identifiziert den Authentifizierungsprozess, der auf einen Benutzer angewendet wird. Ein Windows-Benutzer verfügt über ein komplexes Token: eine eindeutige Zeichenfolge für den Benutzer (SID) und eine Liste aller Windows-Domänengruppen für den Benutzer (z. B. DOMAIN\Department 15688). Ein Benutzer, der nicht über Windows-Authentifizierung verfügt, kann über ein sehr einfaches Token mit einer eindeutigen Zeichenfolge für den Benutzernamen oder ein komplexes Token mit Gruppen-/Rollenmitgliedschaft verfügen, wie in Windows-Authentifizierung angegeben. Die SharePoint-Gruppenmitgliedschaft für jeden Benutzer wird durch ein Benutzertoken ausgedrückt, sodass SharePoint Server durch Lesen des Benutzertokens alle Gruppen für den aktuellen Benutzer identifiziert.

Eine ACL ist ein binäres Objekt, das die Rechte der Benutzer und Gruppen bezüglich eines bestimmten Objekts haben. Eine ACL besteht aus mehreren ACEs, wobei jeder Sicherheitsprinzipal (Benutzer oder Gruppe) ein ACE in der ACL ist. Rechte, Rollendefinitionen und Rollenzuweisungen werden in einer ACL für jeden Bereich strukturiert, so dass SharePoint Server erkennt, welcher Benutzer/welche Gruppe welche Aktionen im Bereich ausführen darf.

Objektmodelländerungen: veraltete, aber abwärtskompatible Sicherheitsobjekte

In SharePoint nutzen alle Objektbereiche dieselbe grundlegende Berechtigungsverwaltung gemeinsam. SharePoint verwaltet Berechtigungen über Rollendefinitionen, die auf Listen-, Ordner- und Elementebene eine konsistente Bedienerfreundlichkeit bieten. Die folgenden Sicherheitsobjekte in Windows SharePoint Services 2.0 sind veraltet, aber dienen immer noch der Rückwärtskompatibilität:

Um Benutzer Rollen zuzuweisen, verwenden Sie Member der Microsoft.SharePoint.SPRoleAssignment-Klasse und der Microsoft.SharePoint.SPRoleAssignmentCollection-Klasse . Die SPBasePermisssions -Enumeration, die SPRights ersetzt, beinhaltet weitere Berechtigungen. Die SPBasePermisssions -Enumeration enthält auch ältere Berechtigungen, die zu denselben Konstantenwerten wie vorherige Berechtigungen in SPRights passen. Das SharePoint-Gruppenkonzept wird dem vorhandenen SPGroup -Objekt und dem SPGroupCollection -Objekt, das für websiteübergreifende Gruppen steht, zugeordnet.

Richtlinienrollen: Erstellen oder Ändern von Sicherheitsrichtlinien für URL-Zonen

Wenn Sie Sicherheitsrichtlinien für URL-Zonen erstellen oder ändern möchten, verwenden Sie die folgenden Klassen und ihre Member:

Gastrollen (Beschränkter Zugriff) für eine Anpassung gemeinsam genutzter Ressourcen

Eine Gastrolle soll die gemeinsam auf der Plattform genutzten Ressourcen zu harmonisieren. Beispiel: Die Design- und Navigationsstruktur der Website dient zum Rendern der Seite in eine Listenansicht. Dieses Prinzip wird erweitert, um Berechtigungen auf Ordnerebene und Listenebene mit einzuschließen.

Das SharePoint-Objektmodell nennt dies weiterhin die Guest-Rolle für semantische Kompatibilität mit dem vorherigen Objektmodell, obwohl die Rolle in der Benutzeroberfläche jetzt Beschränkter Zugriff genannt wird.

Ordern- und Elementerweiterungen

Wenn einem Benutzer Berechtigungen für einen Ordner erteilt werden, erhält er ebenfalls die Guest-Rolle für die übergeordnete Liste dieses Ordners und für die übergeordnete Website dieser Liste, für jeden eindeutig gesicherten Bereich oberhalb des Ordners, bis hin zur ersten eindeutigen Vorgängerwebsite. Dies gilt auch für Listenelemente: Die Erteilung einer Benutzerberechtigung für ein Element gibt dem Benutzer auch die Guest-Rolle für alle übergeordneten Ordner, Listen und Website, bis hin zur ersten eindeutigen Vorgängerwebsite.

Entfernen von Benutzern aus einem Bereich oder aus allen Bereichen

Das Entfernen eines Benutzers aus einem Bereich entfernt ihn ebenfalls aus allen eindeutig gesicherten Bereich unterhalb des aktuellen Bereichs. Beispiel: Das Entfernen eines Benutzers von einer Website entfernt ihn auch aus den eindeutig gesicherten Listen auf der Website.

Die einzige Möglichkeit, einen Benutzer aus allen Bereichen zu entfernen, ist, ihn aus der Websitesammlung zu entfernen. Diese Vorgehensweise entfernt den Benutzer aus allen Rollen für alle Bereiche in der Websitesammlung.

Siehe auch