Alternatives Modell für Web-App-Richtlinien in SharePoint Online
Web-App-Richtlinien sind ein Konzept, mit dem SharePoint-Administratoren Benutzern und Gruppen Berechtigungen für alle Websites unter einer Webanwendung erteilen oder verweigern können. Diese Berechtigungserteilungen und -ablehnungen haben Vorrang vor den Berechtigungen, die auf den Websites in der Webanwendung festgelegt wurden, und sind daher ein Mechanismus, der normalerweise in Szenarien wie den folgenden verwendet wird:
- Erteilen Sie einem Dienstkonto Berechtigungen für alle Websites, da dieses Dienstkonto verwendet wird, um einen Hintergrundprozess auszuführen, der die Daten auf allen Websites bearbeiten muss. Das Dienstkonto kann auch von einem Workflow verwendet werden, um zurück zu SharePoint zu gelangen.
- Gewähren sie dem Supportteam schreibgeschützten Zugriff auf alle Websites, damit der Supporttechniker die Website mit dem Endbenutzer durchlaufen kann.
- Benutzern (z. B. nach dem Verlassen des Unternehmens) den Zugriff auf alle Inhalte verweigern
Webanwendungsrichtlinien sind in SharePoint Online nicht mehr vorhanden, und es ist keine identische alternative Implementierung möglich. Mithilfe des vorhandenen SharePoint-Sicherheitsmodells können Sie jedoch ähnliche Ergebnisse erzielen. In diesem Artikel und Video erfahren Sie mehr darüber.
Gewähren des Zugriffs
Was ist der geschäftliche Grund für diese Berechtigungserteilung?
Bevor Sie mit der Implementierung von Berechtigungserteilungen beginnen, ist es wichtig zu verstehen, warum eine Gewährung erforderlich war. Fragen, die Sie sich stellen können, sind:
- Ist das Gewähren des Zugriffs auf alle Daten in Ihrem SharePoint Online-Mandanten erforderlich? Pushback und Überprüfen, ob der Zugriff auf alle Daten ein absolutes Muss ist, um ein Geschäftsszenario zu unterstützen
- Ist die "Eine", die die gewährte Berechtigung verwendet, eine Anwendung oder ein Benutzer? Wenn es sich um eine Anwendung handelt, ist es möglicherweise möglich, mit einem App-Prinzipal mit mandantenweiten SharePoint Online-Berechtigungen zu arbeiten, insbesondere, wenn es sich um eine intern entwickelte Anwendung handelt.
Das folgende Flussdiagramm erfasst diese Fragen:
Wichtig
Nur für den Fall, dass der gewährte Zugriff von einem Benutzer oder einer Anwendung genutzt wird, die nicht mit App-Prinzipalen kompatibel ist, sollten Sie den Zugriff über Benutzer oder Gruppen gewähren. Wenn möglich, bevorzugen Sie App-Prinzipale vor Benutzern und Gruppen aus folgenden Gründen:
- App-Prinzipalen werden alle Websites zugewiesen, d. h., wenn eine Website hinzugefügt wird, hat der App-Prinzipal automatisch auch Zugriff darauf. Bei Benutzer-/Gruppenzugriff muss der jeweilige Benutzer/die entsprechende Gruppe zuerst der neuen Website hinzugefügt werden.
- App-Prinzipale " überschreiben" Berechtigungsvererbungseinstellung. Angenommen, eine Unterwebsite verfügt über eine fehlerhafte Berechtigungsvererbung, und das Gewähren von Zugriff auf die Stammwebsite durch einen Benutzer-/Gruppenbesitzer, -mitwirken oder -ansicht gewährt Zugriff auf die Unterwebsite, während der App-Prinzipal immer Zugriff hat.
Gewähren des Zugriffs mithilfe von App-Prinzipalen
Für alle nicht menschlichen Zugriffe ist es ratsam, App-Prinzipale wie zuvor erläutert zu verwenden. Hierfür gibt es zwei Ansätze:
- Verwenden einer Azure AD-Anwendung: Dies ist die bevorzugte Methode bei Verwendung von SharePoint Online, da Sie auch anderen Office 365-Diensten (falls erforderlich) Berechtigungen erteilen können und sie über eine Benutzeroberfläche (Azure-Portal) verfügen, um Ihre App-Prinzipale zu verwalten.
- Verwenden eines SharePoint-App-Only Prinzipal: Diese Methode ist älter und funktioniert nur für den SharePoint-Zugriff, ist aber weiterhin relevant. Diese Methode ist auch das empfohlene Modell, wenn Sie noch lokal in SharePoint arbeiten, da dieses Modell sowohl in SharePoint lokal als auch in SharePoint Online funktioniert.
Beide Modelle werden ausführlich im Artikel Zugreifen auf SharePoint mithilfe eines Anwendungskontexts erläutert, der auch als reine App bezeichnet wird .
Gewähren des Zugriffs über Benutzer und Gruppen
Wenn Sie Zugriff auf alle Ihre Websites gewähren möchten, müssen Sie entweder einem Benutzer oder einer Gruppe Zugriff auf alle Websites einzeln gewähren. Dieses Modell unterscheidet sich von dem, was Sie bisher mit Web-App-Richtlinien verwendet haben, aber es ist das einzige Modell, das Sie verwenden können, um einem Benutzerkonto oder einer Gruppe Zugriff auf alle Websites zu gewähren.
Berechtigungen, die gewährt werden können
Mithilfe von Web-App-Richtlinien haben Sie die Möglichkeit, entweder "Vollzugriff" oder "Vollständig lesen" zu gewähren, was in SharePoint-Berechtigungen übersetzt wird:
Web-App-Richtlinienerteilung | Entsprechende SharePoint-Berechtigung |
---|---|
Vollzugriff | Hinzufügen zu Websitesammlungsadministratoren |
Vollständiger Lesevorgang | Hinzufügen mithilfe der Berechtigungsstufe "Lesen" (= Websitebesucher) |
Hinzufügen mithilfe der Berechtigungsstufe "Vollzugriff" (= Websitebesitzer) | |
Hinzufügen mithilfe der Berechtigungsstufe "Bearbeiten" (= Websitemitglieder) |
Wir haben uns bewusst dafür entschieden, die Rolle "Websitesammlungsadministrator" für die Gewährung "Vollzugriff" zu verwenden, da wir auf diese Weise das Problem der Berechtigungsvererbung vermeiden. In SharePoint können Benutzer die Berechtigungsvererbung unterbrechen und daher eindeutige Berechtigungen für Objekte (z. B. Unterwebsites, Listen, Listenelemente) erteilen. Wenn dies geschehen wäre und Sie beispielsweise der Websitesammlungsbesitzergruppe einen Benutzer hinzufügen, verfügt dieser Benutzer nicht über Berechtigungen für das Objekt mit eindeutigen Berechtigungen.
Wichtig
Wenn das von Ihnen implementierte Geschäftsszenario mit den Einschränkungen der Berechtigungsvererbung leben kann, können Sie jede der beschriebenen SharePoint-Berechtigungen verwenden. Wenn Sie 100 % sicheren Zugriff auf alle Inhalte garantieren müssen, ist die einzige gute SharePoint-Berechtigung die Rolle des Websitesammlungsadministrators.
Gewähren durch Hinzufügen eines Benutzers oder einer Gruppe?
Sie können dasselbe Ergebnis erzielen, indem Sie entweder einem Benutzer oder einer Gruppe die Berechtigungen erteilen, aber beide Modelle verfügen über Pro- und Cons.
Kategorie | Gruppe | Benutzer |
---|---|---|
Clarity | Eine Gruppe kann ein oder mehrere Konten enthalten, die in der Regel für die anderen Websitesammlungsadministratoren nicht sichtbar sind. | Benutzerkonto ist immer sichtbar, es besteht kein Zweifel daran |
Wartung | Sie können den Zugriff ganz einfach gewähren, indem Sie der Gruppe neue Mitglieder hinzufügen. | Neue Mitglieder müssen allen Websites hinzugefügt werden |
Manipulationssicher | Eine Gruppe kann die tatsächlichen Konten mit Zugriff (z. B. juristisches Konto) abschirmen, und andere Administratoren entfernen die Berechtigungen für die Gruppe weniger. | Es gibt vollständige Transparenz, andere Administratoren entfernen möglicherweise eher die "seltsamen" Benutzer von ihrer Website. |
Wichtig
Das Erteilen von Berechtigungen mithilfe einer Gruppe ist ein flexibleres Modell.
Was ist mit modernen Teamwebsites (auch als Gruppenwebsites bezeichnet)?
Moderne Teamwebsites sind SharePoint-Teamwebsites, die mit einer Microsoft 365-Gruppe verbunden sind. Diese Microsoft 365-Gruppe fungiert als zentrales Modell zum Gewähren des Zugriffs auf alle Dienste auf der Grundlage dieser Gruppe (z. B. SharePoint-Website, Exchange-Postfach, Planner, ...). Für diese Websites haben Sie zwei Optionen zum Gewähren des Zugriffs:
- Fügen Sie Benutzerkonten (keine Gruppen) entweder den Mitgliedern oder Besitzern der Microsoft 365-Gruppe hinzu, die mit der modernen Teamwebsite verbunden ist. Der Vorteil dieses Ansatzes besteht darin, dass die erteilte Berechtigung für alle Dienste gilt, die diese Gruppe verwenden. Bei der Auswertung von Web-App-Richtlinien ist dies jedoch in der Regel nicht relevant.
- Behandeln Sie die moderne Teamwebsite wie eine "normale" Website, und erteilen Sie die Berechtigung, wie in früheren Kapiteln beschrieben.
Wichtig
Es wird empfohlen, Berechtigungen auf SharePoint-Ebene zu erteilen. Behandeln Sie daher die modernen Teamwebsites wie normale klassische SharePoint-Teamwebsites. Dieser Ansatz entspricht dem, was die Webanwendungsrichtlinien bereitgestellt haben.
Erteilen von Berechtigungen mithilfe von PnP PowerShell
Die folgenden Skripts zeigen eine einfache Möglichkeit zum Gewähren des Zugriffs mithilfe von PnP PowerShell und können eine gute Ausgangsbasis für Ihre Implementierung sein. Die folgenden Skripts berücksichtigen Folgendes nicht:
- Get-PnPTenantSite listet derzeit keine modernen Teamwebsites auf.
- Get-PnPTenantSite ist nicht Multi-Geo-fähig
- Die Leistung ist nicht optimal, da die Skripts sequenziell ausgeführt werden und es keine parallele Ausführung gibt.
Da Benutzer ständig neue Websitesammlungen erstellen, ist es wichtig, diese Skripts regelmäßig auszuführen, idealerweise als geplante Aufgabe.
Hinweis
PnP PowerShell ist eine Open Source-Lösung mit aktiver Community, die Support dafür bietet. Es gibt keine SLA für den Support des Open-Source-Tools durch Microsoft.
Wichtig
Wenn Ihr Mandant über viele Websitesammlungen verfügt, ist der Ansatz mit einer benutzerdefinierten entwickelten Anwendung eine bessere Lösung für Sie.
Vollzugriff
Um Benutzern die volle Kontrolle über bestimmte (oder alle) SharePoint-Websites zu geben, können Sie SharePoint PowerShell verwenden, um die Zielbenutzer zu Websitesammlungsadministratoren der Zielwebsites (einschließlich aller) zu machen. Dies kann von einem globaler Administrator- oder SharePoint-Dienstadministrator erfolgen. Es wird empfohlen, den Zugriff nach Bedarf hinzuzufügen und dann zu entfernen. Das folgende Skript weist beispielsweise allen Websitesammlungen in einem Mandanten eine Liste von Administratoren zu. Im Beispiel werden die SharePoint-Muster und -Methoden (PnP) von PowerShell-Befehlen verwendet, um zwei Benutzer zu Administratoren aller Websitesammlungen im Mandanten zu machen.
# comma-separated list of users and groups to be added
$adminAccounts = "admin1@contoso.onmicrosoft.com","admin21@contoso.onmicrosoft.com"
# Specify the tenant here
$tenant = "contoso"
# Note: This example assumes that you are managing your credentials in Windows as documented here:
# https://github.com/SharePoint/PnP-PowerShell/wiki/How-to-use-the-Windows-Credential-Manager-to-ease-authentication-with-PnP-PowerShell
write-host "Connecting to https://$($tenant)-admin.sharepoint.com"
Connect-PnPOnline -Url "https://$($tenant)-admin.sharepoint.com"
#Note: we are only fetching the root site collection and any site collection in the /sites path
#Update filters here accordingly to match your requirements
write-host "Getting list of site collections"
$sitecollections = Get-PnPTenantSite | where {($_.Url -like "*$($tenant).sharepoint.com/") -or ($_.Url -like "*$($tenant).sharepoint.com/sites/*")}
foreach($sitecollection in $sitecollections) {
write-host "Adding administrators to $($sitecollection.Url)"
Set-PnPTenantSite -Url $sitecollection.Url -Owners $adminAccounts
}
Vollständiger Lesevorgang
Um Benutzern das vollständige Lesen bestimmter (oder aller) SharePoint-Websites zu ermöglichen, können Sie SharePoint PowerShell verwenden, um die Zielbenutzer einer Leserolle für die Websitesammlung hinzuzufügen. Dies kann von einem globaler Administrator- oder SharePoint-Dienstadministrator erfolgen. Die allgemeinen Schritte umfassen das Definieren einer SharePoint-Leserolle für die Websitesammlung oder die Wiederverwendung einer vorhandenen Rolle und das anschließende Zuweisen von Benutzern oder Gruppen zur Rolle. Informationen zur Verwendung von Azure AD-Gruppen, einschließlich solcher mit dynamischer Mitgliedschaft, zum Steuern des Zugriffs auf Ressourcen finden Sie unter Verwalten des Zugriffs auf Ressourcen mit Azure Active Directory-Gruppen. Im Beispiel werden die SharePoint-Muster und -Methoden (PnP) von PowerShell-Befehlen verwendet, um eine neue Leserolle für alle Websitesammlungen im Mandanten zu erstellen.
# Specify the tenant here
$tenant = "contoso"
# Note: This example assumes that you are managing your credentials in Windows as documented here:
# https://github.com/SharePoint/PnP-PowerShell/wiki/How-to-use-the-Windows-Credential-Manager-to-ease-authentication-with-PnP-PowerShell
write-host "Connecting to https://$($tenant)-admin.sharepoint.com"
Connect-PnPOnline -Url "https://$($tenant)-admin.sharepoint.com"
# Note: we are only fetching the root site collection and any site collection in the /sites/ path
# Update filters here accordingly to match your requirements
write-host "Getting list of site collections"
$sitecollections = Get-PnPTenantSite | where {($_.Url -like "*$($tenant).sharepoint.com/") -or ($_.Url -like "*$($tenant).sharepoint.com/sites/*")}
foreach($sitecollection in $sitecollections) {
write-host "Set FullRead for MyGroup to $($sitecollection.Url)"
Connect-PnPOnline -Url $($sitecollection.Url)
New-PnPGroup -Title 'FullReader'
Set-PnPGroupPermissions -Identity 'FullReader' -RemoveRole 'Full Control' -AddRole 'Read'
}
Erteilen von Berechtigungen mithilfe einer benutzerdefinierten entwickelten Anwendung
Ein alternatives Modell für den PowerShell-Ansatz ist die Erstellung einer Hintergrundanwendung, die alle Websitesammlungen (einschließlich moderner Teamwebsites, OneDrive for Business Websites, standortübergreifend bei Verwendung von Multi-Geo) aufzählt, überprüft, ob der erforderliche Benutzer/die erforderliche Gruppe Zugriff hat, und wenn nicht, diese hinzufügt. Die Architektur einer solchen Anwendung könnte so einfach wie die unten definierte sein:
- Sie beginnen damit, eine Anwendung in Azure AD zu definieren, für die Sie die reine App-Nutzung einrichten (siehe Gewähren des Zugriffs über azure AD App-only), und gewähren Vollzugriff auf alle Websitesammlungen.
- Sie erstellen eine C#-Anwendung, die sich selbst mithilfe der Azure AD-Anwendung autorisiert, die Sie in Schritt 1 definiert haben, und durchlaufen alle Websitesammlungen (dies kann OD4B-Websitesammlungen umfassen), um die erforderlichen Konten/Gruppen hinzuzufügen, wenn sie nicht vorhanden sind.
- Diese C#-Anwendung muss dann gehostet und geplant werden, damit sie in regelmäßigen Abständen ausgeführt wird. Die Verwendung eines Azure-Webauftrags ist hierfür ein gutes Modell, aber das gleiche könnte durch Ausführen der Anwendung als geplante Aufgabe auf einem Server erfolgen.
Im Rahmen dieser Anleitung haben wir eine Anwendung erstellt, die Ihnen den Einstieg in diese Anleitung ermöglicht. Das Beispiel heißt Governance.EnsurePolicy und kann sich im SharePoint-PnP-Repository befinden.
Hinweis
Dieses Szenario könnte zu einer Anwendung erweitert werden, die Berechtigungen bedingt gewährt und entfernt. Beispielsweise könnten Helpdeskmitarbeiter den Zugriff für eine bestimmte Website anfordern, indem sie ein SharePoint-Listenelement erstellen, die Anwendung sieht dies und gewährt zugriff für x Stunden... und entfernt die Berechtigungen später. Diese Anwendung führt auch ein Protokoll, das anzeigt, wer wann zugriff auf welche Website gewährt wurde.
Verweigern des Zugriffs
Ersetzen von Allen Richtlinien verweigern mithilfe von Office 365- und SharePoint-Zugriffssteuerelementen
Es gibt keine "Alle verweigern"-Richtlinie in Office 365, sondern unser empfohlener Ansatz besteht darin, die Berechtigungen mithilfe von O365 SharePoint-Zugriffssteuerungsrichtlinien zu verwalten. Die Landschaft muss Benutzer, Apps und Geräte enthalten. Einige dieser Zugriffssteuerungsrichtlinien werden unten beschrieben.
Um bestimmten Benutzern den Zugriff auf Office 365 Ressourcen, einschließlich SharePoint, zu blockieren, befolgen Sie die hier beschriebenen Anweisungen: Entfernen eines ehemaligen Mitarbeiters aus Office 365. Beispielsweise, um den Zugriff auf einen Mitarbeiter zu schneiden, der die organization verlassen hat. Dies kann von einem globaler Administrator- oder Benutzerverwaltungsadministrator mithilfe des Office 365 Admin Centers oder mithilfe von PowerShell durchgeführt werden.
Um die externe Freigabe so einzuschränken, dass Anbieter, Clients oder Kunden nur Zugriff auf bestimmte Ressourcen haben, befolgen Sie die Anleitung hier: Verwalten der externen Freigabe für Ihre SharePoint Online-Umgebung. Sie können beispielsweise eine SharePoint Online-Extranetwebsite konfigurieren, die sich auf die externe Zusammenarbeit konzentriert.
Um die Freigabe für externe Benutzer aus bestimmten Domänen auf Mandanten- oder Websitesammlungsebene zu blockieren oder zuzulassen, befolgen Sie die Anweisungen hier: Eingeschränkte Domänenfreigabe in SharePoint Online und OneDrive for Business. Beispielsweise, um die Freigabe für bestimmte Geschäftspartner in bekannten Domänen zu beschränken. Dies kann von einem globaler Administrator- oder SharePoint-Dienstadministrator konfiguriert werden.
Mit Office 365 Security and Compliance Center können Sie die Überwachungsfeatures verwenden, um Dateiaktivitäten nachzuverfolgen. Weitere Informationen finden Sie in den folgenden Artikeln:
- Überwachung aller SharePoint-Websitesammlungen mithilfe des Office 365 Security and Compliance Center: Durchsuchen Sie das Überwachungsprotokoll im Office 365 Security & Compliance Center. Dieser Ansatz bietet Ihnen die Überwachung aller Websites, ein flexibles Berichterstellungsmodell, und Sie können APIs verwenden, um eine benutzerdefinierte Verarbeitung der Überwachungsdaten durchzuführen.
- Verwenden sie Office 365 Cloud App Security: Office 365 Cloud App Security gibt Ihnen Einblick in verdächtige Aktivitäten in Office 365, sodass Sie potenziell problematische Situationen untersuchen und bei Bedarf Maßnahmen ergreifen können, um Sicherheitsprobleme zu beheben. Mit Office 365 Cloud App Security können Sie alle folgenden Aktionen ausführen:
- Erfahren Sie, wie auf die Daten Ihrer organization in Office 365 zugegriffen und verwendet wird.
- Definieren von Richtlinien, die Warnungen für atypische oder verdächtige Aktivitäten auslösen
- Anhalten von Benutzerkonten mit verdächtiger Aktivität
- Benutzer müssen sich nach dem Auslösen einer Warnung wieder bei Office 365 Apps anmelden.
Mit Office 365 Security and Compliance Center können Sie auch die externe Freigabe vertraulicher Dokumente blockieren, indem Sie definieren, welche vertraulichen Typen in Ihrem organization enthalten sind (wählen Sie eine der vielen Vorlagen aus, oder erstellen Sie Eigene benutzerdefinierte typen). Informationen zu integrierten vertraulichen Typen finden Sie hier: Typen vertraulicher Informationen. Informationen zum Erstellen eigener Informationen finden Sie hier: Erstellen benutzerdefinierter vertraulicher Informationstypen.
Informationen zur Verwendung von Azure AD-Gruppen, einschließlich solcher mit dynamischer Mitgliedschaft, zum Steuern des Zugriffs auf Ressourcen finden Sie unter Verwalten des Zugriffs auf Ressourcen mit Azure Active Directory-Gruppen. Beispielsweise können Gruppen so konfiguriert werden, dass Mitglieder entfernt werden, deren Konto nicht aktiviert ist. Darüber hinaus ermöglicht Azure Active Directory Identity Protection (Teil von Azure AD Premium) Administratoren, riskante Anmeldungen zu identifizieren und die mehrstufige Authentifizierung zu blockieren oder zu erfordern.
Um den Zugriff auf nicht konforme oder nicht verwaltete Geräte zu blockieren oder einzuschränken, werden bald Funktionen bereitgestellt, die azure Active Directory-Richtlinien für bedingten Zugriff nutzen. Mit dieser Richtlinie können Sie den Zugriff auf rich-Apps auf nicht verwalteten Geräten blockieren und nur den Browserzugriff zulassen, ohne herunterladen, drucken oder synchronisieren zu müssen. Dadurch werden Datenlecks auf nicht verwalteten Geräten verhindert. Dies kann von einem globaler Administrator- oder SharePoint-Dienstadministrator konfiguriert werden.
Um den Zugriff auf nicht vertrauenswürdige Netzwerkstandorte zu blockieren, können Sie eine standortbasierte Richtlinie verwenden, um eine Liste vertrauenswürdiger IP-Adressen zu konfigurieren, von denen aus der Zugriff zulässig ist. Befolgen Sie die Anweisungen hier: Steuern des Zugriffs auf SharePoint und OneDrive basierend auf Netzwerkspeicherorten.