Modern Public Folder Rechte

Diese Seite beschreibt eine vermutlich nicht allen Administratoren und Firmen bekannte Standardberechtigung mit Exchange öffentlichen Ordnern.

Auslöser

Ein Kunde hat einen neuen "Top Level Folder" angelegt und in Outlook bzw. per ECP nach seinen Vorgaben berechtigt.

Um so überraschter war er, dass der neue Ordner, der hier nur für die Mitglieder der Gruppe "FCGROUP1" erreichbar sein sollte, für alle Mitarbeiter sichtbar war.

In Outlook Web App musste ich den Ordner natürlich erst einmal addieren, denn hier werden die Ordner nicht mehr standardmäßig angezeigt.

Allerdings werden hier keine Berechtigungen angezeigt. In Outlook sehe ich aber auch nicht viel.

Rechte in PowerShell

Ein Blick mit der Exchange PowerShell zeigte dann die kompletten Berechtigungen:

[PS] C:\>Get-PublicFolderClientPermission -Identity "\pf1"

FolderName           User                 AccessRights
----------           ----                 ------------
PF1                  Default              {Author}
PF1                  Anonymous            {None}
PF1                  fcgroup1             {PublishingEditor}

Auf den neuen Ordner, auf dem im ECP nur die Gruppe zu sehen ist, hat Anonymous zwar keine Rechte aber die Standardrechte sind "Author". Damit ist auch klar, dass jeder in der Firma damit den neuen Ordner nicht nur sieht, sondern sogar darin mitarbeiten kann.

Diese Recht wurde bei der Anlage des Ordners von dem Root-Folder vererbt aber kann weder per ECP noch per Outlook gesehen oder entfernt werden. Ich habe extra eine Exchange-Umgebung mit einer neuen Public Folder Hierarchie aufgebaut.

# Anlage einer neuen und ersten PublicFolder Mailbox
[PS] C:\>New-Mailbox PF -PublicFolder

Name                      Alias                ServerName       ProhibitSendQuota
----                      -----                ----------       -----------------
PF                        PF                   ex01             Unlimited

# Anzeige der Standardrechte des Root-Folders
[PS] C:\>Get-PublicFolderClientPermission -Identity "\"

FolderName           User                 AccessRights
----------           ----                 ------------
IPM_SUBTREE          Default              {Author}
IPM_SUBTREE          Anonymous            {None}


# Anzeige der Standardrechte eines neuen Ordners, ehe die Gruppe "fcgroup1" addiert wurde
[PS] C:\>Get-PublicFolderClientPermission -Identity "\pf1"

FolderName           User                 AccessRights
----------           ----                 ------------
PF1                  Default              {Author}
PF1                  Anonymous            {None}

Im ECP kann man natürlich auch die Standardrechte des Root-Ordners anzeigen.

Aber auch der Administrator sieht hier die Default-Rechte nicht. Sie müssen also schon wissen, dass "Default:Author" hat.

Rechte zum Rechte anzeigen

Ich habe mir dann doch mal die "Besitzer" Rechte auf dem Ordner PF1 gegeben:

Add-PublicFolderClientPermission `
   -Identity "\pf1" `
   -User adm-fcarius `
   -AccessRights owner

Dann hat Outlook auch alle anderen Rechte korrekt angezeigt.

Ich bin nicht sicher aber bei früheren Exchange Versionen ist mir das so nicht aufgefallen. Ich dachte, sich sehe auch mit weniger Rechten zumindest, wer neben mir noch berechtigt ist.

Das bedeutet aber auch für den Stammordner:

"ReadItems",
"EditOwnedItems",
"DeleteOwnedItems",
"EditAllItems",
"DeleteAllItems",
"FolderVisible"

Umsetzung der Rechte

Die Berechtigungen der Ordner sind eine Kombination aus mehreren Einzelrechten. Über die GUI können Sie vordefinierte Rechte einstellen.

Wenn Sie sich die Mühe machen, diese rechte mal aufzuschlüsseln, bekommen Sie folgende Matrix. Denken Sie daran, dass z.B. "DeleteAllItems" natürlich auch "DeleteOwnedItems" mit einschließt, obwohl in der GUI dies nicht angekreuzt ist. Es ist aber das umfassendere Recht.

Rolle PS-Rolle

ReadItems

CreateItems

EditOwnedItems

DeleteOwnedItems

DeleteAllItems

EditAllItems

CreateSubfolders

FolderOwner

FolderContact

FolderVisible

Besitzer

Owner

OK OK

OK OK OK OK OK OK

Veröffentlichender Bearbeiter

PublishingEditor

OK OK OK

OK OK OK

OK

Bearbeiter

Editor

OK OK OK

OK

OK

OK

Autor

Author

OK OK OK OK

OK

Keine

None

OK

Veröffentlichender Autor

PublishingAuthor

OK OK OK OK

OK

OK

Mitwirkender

Contributor

OK OK OK OK

OK

Prüfer

Reviewer

OK

OK

Nicht bearbeitender Autor

NonEditingAuthor

OK OK OK

OK

Alle anderen Kombinationen werden als "Benutzerdefiniert" angezeigt. Als Parameter bei "Add-PublicFolderClientPermission" können Sie entweder eine der acht vordefinierten Rollen nutzen oder die Berechtigungen einzeln addieren.

# Vergabe von Rechten anhand der vordefinierten Rollen
Add-PublicFolderClientPermission -Identity "\pf1" -User fcgroup1 -AccessRights author

# Vergabe ueber eigene Zusammenstellung
Add-PublicFolderClientPermission -Identity "\pf1" -User fcgroup1 -AccessRights ReadItems,CreateItems

Eine Kombination von Rollen und Einzelrechten geht nicht:

[PS] C:\>Add-PublicFolderClientPermission -Identity "\pf1" -User fcgroup1 -AccessRights author,DeleteAllItems
Cannot bind parameter 'AccessRights' to the target. Exception setting "AccessRights": "The access rights of a mailbox
folder can't contain both specific permissions and precanned roles."

Bei den eigenen Zusammenstellungen sollten Sie natürlich sichergehen, dass die Rechte einen Sinn ergeben. Wenn z.B. Standard die "Autoren"-Rechte geben aber explizit nur als FolderOwner aufgeführt werden, dann addiert Exchange automatisch das Recht "FolderVisible"

[PS] C:\>Get-PublicFolderClientPermission -Identity "\pf1"

FolderName           User                 AccessRights
----------           ----                 ------------
PF1                  Default              {Author}
PF1                  Anonymous            {FolderVisible}
PF1                  adm-fcarius          {FolderOwner, FolderVisible}

Das ist in Outlook auch sichtbar und ich kann als Besitzer auch die Rechte des Ordners ändern.:

Ich kann mich sogar selbst entfernen. Ich kann aber keine neuen Elemente anlegen.

Sonderfall "Folder Visible"

Zudem gibt es noch eine Sache mit "Folder visible". Aus der Tabelle sehen Sie, dass Sie durchaus einen Eintrag mit dem Recht "Kein" anlegen können, aber der Benutzer oder die Gruppe dennoch das Recht hat, Ordner zu sehen. Sie könnten natürlich sagen, dass man den ACL-Eintrag besser löscht, wenn er eh keine Rechte hat aber damit ist damit ist auch das Flag "Folder Visible" verbunden. Wenn das Fehlt, kann können die ansonsten mit "keine" versehenen Rechte den Order gar nicht sehen und damit ist auch der Weg zu den Unterordnern verbaut.

Wenn Sie daher in Outlook nicht den Eintrag komplett löschen sondern nur das Recht auf "keine" setzen, dann bleibt die Checkbox in "Folder Visible" aktiv. Unstimmig wird es aber nun in der Powershell. Wenn Sie dort die Rechte wie folgt setzen, dann wird das "Folder Visible" nicht gesetzt.

Add-PublicFolderClientPermission "\Ordnername" –User username –AccessRights None

Dann haben wir wirklich einen ziemlich unsinnigen ACL-Eintrag. Sie sollten dann mindestens folgendes machen

Add-PublicFolderClientPermission "\Ordnername" –User username –AccessRights FolderVisible

Der Benutzer oder die Gruppe kann dann den Ordner sehen, damit er auch Unterordner mit den entsprechenden Berechtigungen erreichen kann aber sieht keine Elemente in dem Ordner selbst. Das erinnert mich etwas an die Funktion "Access Based Enumeration" bei Datenhaltung auf Dateiservern.

Ergebnis

Wenn Sie Exchange mit öffentlichen Ordnern neu einführen, dann sollten Sie als erstes die Berechtigungen auf dem Basisordner auf ihre Anforderungen anpassen. Dass jeder Benutzer ihres Exchange Servers eigenständig neue öffentliche Ordner anlegen kann, war schon in früheren Versionen so und ich habe auch damals eine Änderung empfohlen.

Auch damals konnte jeder Anwender neue Ordner anlegen, wenn der Administrator dies nicht beschränkt. Daher rate ich auch bei den "Modern Public Foldern" diese Einstellung so anzupassen, dass "Standard" auch keine Berechtigungen mehr hat und vielleicht eine Gruppe oder der Provisioning-Prozess nur die erforderlichen Berechtigungen erhält. Der kann dann auch bei den neu angelegten Ordnern der ersten Hierarchiestufe dafür sorgen, dass "Standard" nicht gleich wieder die Lese-Berechtigungen bekommt und damit Informationen von eigentlich nicht berechtigten Personen gelesen werden können.

Schade ist, dass zumindest in meiner Umgebung weder der Administrator per ECP noch der Benutzer in Outlook die Berechtigungen von "Standard" oder "Anonym" einsehen oder ändern konnten, wenn sie nicht "Besitzer" waren. Eine Kontrolle durch den Anwender selbst ist damit nicht möglich.

Tipp: Bestimmen Sie immer einen "Besitzer" eines Ordners und weisen Sie ihn darauf hin, dass er umgehend die Berechtigungen so setzt, wie er es wünscht.

Weitere Links