Freigeben über


Rolle, Vererbung, Erhöhung von Berechtigungen und Kennwortänderungen in SharePoint

Rollen, Rollendefinitionen und rollenzuweisungen

Eine Rolle besteht aus zwei Teilen: einer Rollendefinition und einer Rollenzuweisung.

Die Rollendefinition oder Berechtigungsstufe ist die Liste der Rechte, die der Rolle zugeordnet sind. Ein Recht ist eine eindeutig steuerbare Aktion innerhalb einer SharePoint-Website. Beispielsweise kann ein Benutzer mit der Rolle Lesen Seiten auf der Website durchsuchen und Elemente in Listen anzeigen. Benutzerberechtigungen werden nie direkt mithilfe von Rechten verwaltet. Alle Benutzer- und Gruppenberechtigungen werden über Rollen verwaltet. Eine Rollendefinition ist eine Auflistung von Rechten, die an ein bestimmtes Objekt gebunden sind. Rollendefinitionen (z. B. "Vollzugriff", " Lesen", "Mitwirken", "Entwerfen" oder " Eingeschränkter Zugriff") sind auf die Website beschränkt und bedeuten überall innerhalb der Website dasselbe, aber ihre Bedeutung kann sich zwischen Websites innerhalb derselben Websitesammlung unterscheiden. Rollendefinitionen können auch von der übergeordneten Website geerbt werden, ebenso wie Berechtigungen geerbt werden können.

Die Rollenzuweisung ist die Beziehung zwischen der Rollendefinition, den Benutzern und Gruppen und dem Bereich (z. B. kann ein Benutzer ein Leser in Liste 1 sein, während ein anderer Benutzer leser in Liste 2 ist). Die durch die Rollenzuweisung ausgedrückte Beziehung ist der Schlüssel, um die SharePoint-Sicherheitsverwaltung rollenbasiert zu machen. Alle Berechtigungen werden über Rollen verwaltet. Sie weisen einem Benutzer niemals Rechte direkt zu. Sie weisen nur sinnvolle Auflistungen von Rechten (Rollendefinitionen) zu, die klar definiert und konsistent sind. Sie verwalten eindeutige Berechtigungen, indem Sie Mithilfe von Rollenzuweisungen Benutzer und Gruppen zu rollendefinitionen hinzufügen oder daraus entfernen.

Der Websiteadministrator kann die standardmäßigen Rollendefinitionen anpassen und zusätzliche benutzerdefinierte Rollen mithilfe der Seite Rollen verwalten erstellen, auf der die verfügbaren Rollendefinitionen der Website aufgelistet sind.

Vererbung von Rollendefinitionen

SharePoint unterstützt erbende Rollendefinitionen auf ähnliche Weise, wie es unterstützt Vererbung von Berechtigungen und Vererbung von Rollendefinitionen Knacken erfordert auch Unterbrechen der Vererbung von Berechtigungen.

Jeder SharePoint-Objekt kann haben einen eigenen Satz von Berechtigungen oder erben die Berechtigungen von seinem übergeordneten Container. SharePoint unterstützt keine teilweise Vererbung, in dem ein Objekt alle Berechtigungen des übergeordneten Objekts erben und auch einige eigene Berechtigungen haben. Die Berechtigungen sind entweder eigene oder vererbte. gesteuerte Vererbung unterstützt SharePoint nicht. Ein Objekt kann beispielsweise nur von seinem übergeordneten Container, nicht von einem anderen Objekt oder Container erben.

Wenn eine Website Rollendefinitionen erbt, sind die Rollen schreibgeschützt - genauso wie die schreibgeschützten Berechtigungen in einer geerbten Website. Der Benutzer kann über einen Link zur übergeordneten Website navigieren, die die spezifischen Rollendefinitionen enthält. Die Standardeinstellung für alle neuen Websites, und zwar auch für Websites mit spezifischen Berechtigungen, sieht vor, dass Rollendefinitionen von der übergeordneten Website geerbt werden. Wenn die Berechtigungen websitespezifisch sind, können Rollendefinitionen auf geerbte Rollendefinitionen zurückgesetzt oder als lokale Rollendefinitionen bearbeitet werden.

Vererbung von Rollendefinitionen in einer Website wirkt sich auf die Vererbung von Berechtigungen folgenden Regeln:

  • Das Erben von Berechtigungen ist nur möglich, wenn auch Rollendefinitionen geerbt werden.

  • Das Erstellen spezifischer Rollendefinitionen ist nur möglich, wenn auch spezifische Berechtigungen erstellt werden.

  • Das Zurücksetzen auf geerbte Rollendefinitionen ist nur möglich, wenn alle spezifischen Berechtigungen innerhalb der Website zurückgesetzt werden. Die vorhandenen Berechtigungen sind abhängig von den Rollendefinitionen.

  • Das Zurücksetzen auf geerbte Berechtigungen ist nur möglich, wenn auch eine Zurücksetzung auf geerbte Rollendefinitionen erfolgt. Die Berechtigungen für eine Website sind immer an die Rollendefinitionen für diese Website geknüpft.

Verwalten von Benutzertoken

SharePoint ruft Benutzertokeninformationen aus der SharePoint-Datenbank ab. Wenn der Benutzer die Website noch nie besucht hat oder das Token des Benutzers mehr als 24 Stunden zuvor generiert wurde, generiert SharePoint ein neues Benutzertoken, indem versucht wird, die Liste der Gruppen zu aktualisieren, zu denen der Benutzer gehört.

Wenn es sich bei dem Benutzerkonto um ein NT-Konto handelt, verwendet SharePoint die AuthZ-Schnittstelle, um im Active Directory-Verzeichnisdienst eine Abfrage nach der TokenGroups-Eigenschaft durchzuführen. Hierbei können Fehler auftreten, wenn SharePoint im Extranetmodus ausgeführt wird und nicht über die Berechtigung zum Abfragen von Active Directory nach dieser Eigenschaft verfügt.

Wenn das Benutzerkonto ein Mitgliedschaftsbenutzer ist, fragt SharePoint die ASP.NET RoleManager für alle Rollen, denen der Benutzer angehört. Dies kann fehlschlagen, wenn eine ordnungsgemäße .config-Datei für die aktuelle ausführbare Datei nicht vorhanden ist.

Wenn SharePoint die Gruppenmitgliedschaften des Benutzers nicht aus Active Directory oder <roleManager> abrufen kann, enthält das neu generierte Token nur die eindeutige Sicherheits-ID (SID) des Benutzers. Wird keine Ausnahme ausgelöst, aber ein Eintrag in der Server-ULS-Protokoll geschrieben wird. Das neue Token wird auch in der SharePoint-Datenbank geschrieben, damit es nicht innerhalb von 24 Stunden wiederhergestellt wird.

Nach SharePoint ein aktuell Token aus der SharePoint-Datenbank oder durch Generieren eines neuen Tokens erhält, SharePoint den Zeitstempel der aktuellen Zeit werden festgelegt und dann an den Aufrufer zurückgegeben wird. Dadurch wird sichergestellt, dass das Token 24 Stunden aktuell ist.

Nachdem das SPUserToken-Objekt an den Aufrufer zurückgegeben wurde, liegt es in der Verantwortung des Aufrufers, das Token nicht mehr zu verwenden, nachdem es abgelaufen ist. Sie können ein Hilfsprogramm nachverfolgen möchten den Ablauf des token Aufzeichnung der Zeit, wenn Sie das Token abrufen, schreiben und Vergleichen der Diff mit aktuellen Zeit vor SPWebService.TokenTimeout .

Wenn ein abgelaufene Token zum Erstellen einer SharePoint-Website verwendet wird, wird eine Ausnahme ausgelöst. Der Standardwert token-Timeout ist 24 Stunden. Auf sie kann über SPWebService.TokenTimeout zugegriffen werden.

Erhöhung von Berechtigungen

Mithilfe von Rechteerweiterungen, einem in Windows SharePoint Services 3.0 neu eingeführten Feature, können Sie programmgesteuert Aktionen im Code mit einer höheren Berechtigungsstufe ausführen. Mit der SPSecurity.RunWithElevatedPrivileges-Methode können Sie einen Delegaten bereitstellen, der eine Teilmenge des Codes im Kontext eines Kontos mit höheren Berechtigungen als der aktuelle Benutzer ausführt.

Es folgt eine standardmäßige Verwendung von RunWithElevatedPrivileges.


SPSecurity.RunWithElevatedPrivileges(delegate()
{
    // Do things by assuming the permission of the "system account".
});

Häufig müssen Sie zum Ausführen von Aktionen in SharePoint ein neues SPSite-Objekt abrufen, um die Änderungen vorzunehmen. Beispiel:


SPSecurity.RunWithElevatedPrivileges(delegate()
{
    using (SPSite site = new SPSite(web.Site.ID))
    {
       // Do things by assuming the permission of the "system account".
    }
});

Obwohl rechteerweiterungen eine leistungsstarke Technik zum Verwalten der Sicherheit bietet, sollten sie mit Vorsicht verwendet werden. Sie sollten keine direkte Schäden, nicht gesteuerte Mechanismen für Personen mit niedrigen Berechtigungen, die Ihnen erteilten Berechtigungen zu umgehen verfügbar machen.

Wichtig: Wenn die an RunWithElevatedPrivileges übergebene Methode Schreibvorgänge enthält, sollte dem Aufruf von RunWithElevatedPrivileges ein Aufruf von SPUtility.ValidateFormDigest() oder SPWeb.ValidateFormDigest() vorangestellt werden.

Automatische Kennwortänderung

Features für die automatische kennwortänderung können Sie aktualisieren und Bereitstellen von Kennwörtern ohne manuelle Kennwort Updateaufgaben für mehrere Konten, Dienste und Webanwendungen. Dadurch wird das Verwalten von Kennwort in SharePoint einfacher. Features für die automatische kennwortänderung können Sie bestimmen, ob ein Kennwort Testzeitraum und das Kennwort zurücksetzen können mithilfe von eine lange, kryptografisch starke zufällige Zeichenfolge ist.

Verwaltete Konten

Verwenden Sie verwaltete Konten, um Features für die automatische kennwortänderung implementieren. Verwaltete Konten erhöhen der Sicherheit und Anwendungsisolation sicherzustellen. Mit verwalteten Konten können Sie folgende Aktionen ausführen:

  • Konfigurieren von Features für die automatische kennwortänderung zum Bereitstellen von Kennwörtern in allen Diensten in einer Farm.

  • Konfigurieren von SharePoint-Webanwendungen und -Diensten, die auf Anwendungsservern in einer SharePoint-Farm ausgeführt werden, sodass sie verschiedene Domänenkonten verwenden.

  • Zuordnen von verwalteten Konten zu verschiedenen Diensten und Webanwendungen in einer Farm.

  • Erstellen Sie mehrerer Konten in Active Directory-Domänendienste (AD DS) und anschließendes registrieren Sie jedes dieser Konten in SharePoint.

Außerdem können verwaltete Konten registrieren und aktivieren Sie SharePoint Kontokennwörter Steuerelement. Benutzer müssen informiert geplanten kennwortänderungen und verwandte Dienst unterbrechen, aber die Konten, die von einer SharePoint-Farm, Webanwendungen, verwendet werden und verschiedene Dienste automatisch zurücksetzen und bereitgestellt, die in der Farm nach Bedarf, basierend auf einzeln konfigurierte Kennwort zurücksetzen Zeitpläne.

Zu den Vorgängen, die Sie mit der SPManagedAccount-Klasse ausführen können, gehören:

  • Kennwort ändern

  • Festlegen eines Zeitplans für die Kennwortänderung

  • Verteilen der Kennwortänderung

  • Bestimmen der letzten Änderung eines Kennworts

  • Erzwingen einer minimalen Länge für ein Kennwort

Weitere Informationen zur API für verwaltete Konten finden Sie über die folgenden Hyperlinks:

Siehe auch