Exchange 2016: Verwalten von Telefonnummern delegieren (RBAC)

Wer das Verwalten von Telefonnummern an bestimmte Personen oder Gruppen delegieren möchte, kann dazu das Exchange Feature “Role Based Access Control (RBAC)“ verwenden. Benutzer oder Gruppen kann mittels RBAC der Zugriff auf das Exchange Admin Center gewährt werden, wo diese Benutzer allerdings nur zuvor festgelegte Aktionen durchführen dürfen.

Anhand des folgenden Beispiels kann einem Benutzer erlaubt werden, nur die Telefonnummern anderer Benutzer zu verwalten.

Vorhandene RBAC Rolle kopieren

Es gibt bereits einige vordefinierte RBAC Rollen für verschiedene administrative Zwecke. Die vorhandenen Rollen können als Vorlage genutzt werden, sodass nur bestimmte Aktionen im EAC ausgeführt werden können. Damit ein Benutzer Telefonnummern für andere Benutzer verwalten kann, bietet sich die Rolle “Mail Recipients” an. Die Rolle kann als Vorlage für die eigene Rolle “Manage Telephone Numbers” verwendet werden:

New-ManagementRole -Name "Manage Telephone Numbers" -Parent "Mail Recipients"

RBAC Rolle kopieren

Somit existiert nun eine neue RBAC Rolle mit dem Namen “Manage Telephone Numbers”, die über alle Einstellungen der Rolle “Mail Recipients” verfügt.

Neue RBAC Rolle anpassen

Die ursprüngliche Rolle “Mail Recipients” und damit auch die neue Rolle “Manage Telephone Numbers” hat viel zu viele Berechtigungen wenn es nur um das Verwalten von Telefonnummern geht, daher können nun die Rechte entsprechend eingeschränkt werden. Um die Rolle “Manage Telephone Numbers” einzuschränken, werden alle nicht benötigten Befehle entfernt.

Die folgenden Befehle entfernen alle Befehle die nicht für das Verwalten von Telefonnummern benötigt werden:

Get-ManagementRoleEntry "Manage Telephone Numbers\*" | Where-Object {$_.Name -notmatch "Get-"} | Remove-ManagementRoleEntry -confirm:$false
Get-ManagementRoleEntry "Manage Telephone Numbers\*" | Where-Object {$_.Name -match "Get-AcceptedDomain"} | Remove-ManagementRoleEntry -confirm:$false
Get-ManagementRoleEntry "Manage Telephone Numbers\*" | Where-Object {$_.Name -match "Get-ActiveSync"} | Remove-ManagementRoleEntry -confirm:$false
Get-ManagementRoleEntry "Manage Telephone Numbers\*" | Where-Object {$_.Name -match "Get-AddressBookPolicy"} | Remove-ManagementRoleEntry -confirm:$false
Get-ManagementRoleEntry "Manage Telephone Numbers\*" | Where-Object {$_.Name -match "Get-DomainController"} | Remove-ManagementRoleEntry -confirm:$false
Get-ManagementRoleEntry "Manage Telephone Numbers\*" | Where-Object {$_.Name -match "Get-HybridConfiguration"} | Remove-ManagementRoleEntry -confirm:$false
Get-ManagementRoleEntry "Manage Telephone Numbers\*" | Where-Object {$_.Name -match "Get-ManagementRoleAssignment"} | Remove-ManagementRoleEntry -confirm:$false
Get-ManagementRoleEntry "Manage Telephone Numbers\*" | Where-Object {$_.Name -match "Get-ResourceConfig"} | Remove-ManagementRoleEntry -confirm:$false
Get-ManagementRoleEntry "Manage Telephone Numbers\*" | Where-Object {$_.Name -match "Get-RoleAssignmentPolicy"} | Remove-ManagementRoleEntry -confirm:$false
Get-ManagementRoleEntry "Manage Telephone Numbers\*" | Where-Object {$_.Name -match "Get-SecurityPrincipal"} | Remove-ManagementRoleEntry -confirm:$false
Get-ManagementRoleEntry "Manage Telephone Numbers\*" | Where-Object {$_.Name -match "Get-ServiceAvailabilityReport"} | Remove-ManagementRoleEntry -confirm:$false
Get-ManagementRoleEntry "Manage Telephone Numbers\*" | Where-Object {$_.Name -match "Get-ServiceStatus"} | Remove-ManagementRoleEntry -confirm:$false
Get-ManagementRoleEntry "Manage Telephone Numbers\*" | Where-Object {$_.Name -match "Get-SiteMailbox"} | Remove-ManagementRoleEntry -confirm:$false
Get-ManagementRoleEntry "Manage Telephone Numbers\*" | Where-Object {$_.Name -match "Get-SiteMailboxProvisioningPolicy"} | Remove-ManagementRoleEntry -confirm:$false
Get-ManagementRoleEntry "Manage Telephone Numbers\*" | Where-Object {$_.Name -match "Get-TextMessagingAccount"} | Remove-ManagementRoleEntry -confirm:$false
Get-ManagementRoleEntry "Manage Telephone Numbers\*" | Where-Object {$_.Name -match "Get-Trust"} | Remove-ManagementRoleEntry -confirm:$false
Get-ManagementRoleEntry "Manage Telephone Numbers\*" | Where-Object {$_.Name -match "Get-UnifiedAuditSetting"} | Remove-ManagementRoleEntry -confirm:$false
Get-ManagementRoleEntry "Manage Telephone Numbers\*" | Where-Object {$_.Name -match "Get-LogonStatistics"} | Remove-ManagementRoleEntry -confirm:$false
Get-ManagementRoleEntry "Manage Telephone Numbers\*" | Where-Object {$_.Name -match "Get-OwaMailboxPolicy"} | Remove-ManagementRoleEntry -confirm:$false
Get-ManagementRoleEntry "Manage Telephone Numbers\*" | Where-Object {$_.Name -match "Get-PhysicalAvailabilityReport"} | Remove-ManagementRoleEntry -confirm:$false
Get-ManagementRoleEntry "Manage Telephone Numbers\*" | Where-Object {$_.Name -match "Get-RbacDiagnosticInfo"} | Remove-ManagementRoleEntry -confirm:$false
Get-ManagementRoleEntry "Manage Telephone Numbers\*" | Where-Object {$_.Name -match "Get-Mobile"} | Remove-ManagementRoleEntry -confirm:$false

RBAC Rolle anpassen

Die Rolle “Manage Telephone Numbers” enthält jetzt nur noch CMDLets die zum Anzeigen der Daten nötig sind. Damit nun auch Telefonnummern geändert oder eingetragen werden können, muss ebenfalls das entsprechende Rechte vergeben werden.

Mit dem folgenden Befehl werden der Rolle wieder entsprechende CMDLets mit eingeschränktem Parametersatz zugewiesen:

Add-ManagementRoleEntry "Manage Telephone Numbers\Set-User" -Parameters MobilePhone,Phone,Fax,OtherFax,HomePhone,identity

RBAC Rolle anpassen

Jetzt ist die Rolle soweit angepasst, das nur noch Telefonnummern (und Fax) editiert werden können.

RBAC Rolle zuweisen

Zum Schluss muss die neue Rolle noch Benutzern zugewiesen werden, damit sie die entsprechenden Rechte erhalten:

New-ManagementRoleAssignment -Role "Manage Telephone Numbers" -User lucky

RBAC Rolle zuweisen

Der Benutzer mit dem Namen “Lucky” ist in diesem Fall der Glückliche der alle Telefonnummern der Organisation pflegen und anpassen darf.

Die Benutzersicht

Der Benutzer “Lucky” hat nun einen eingeschränkten Zugriff auf das Exchange Admin Center in dem er nur die Einstellungen sieht, die für die Rolle “Manage Telephone Numbers”gelten:

RBAC Rolle testen

Der Benutzer kann jetzt zwar noch die Einstellungen der Postfächer sehen, aber nicht verändern:

RBAC Rolle testen

Telefonnummern hingegen dürfen durch den Benutzer verändert werden:

RBAC Rolle testen

Mittels RBAC Rollen lassen sich also mit wenig Aufwand administrative Tätigkeiten delegieren. Das hier gezeigte Beispiel lässt sich auch für andere Aufgaben umsetzen. Etwa das Verwalten von E-Mail Adressen oder das Anlegen von Postfächern. Die Vorgehensweise ist immer die gleiche:

  • Rolle die am besten passt als Vorlage nutzen
  • Neue Rolle entsprechend der Bedürfnisse anpassen
  • Testen
  • Rolle entsprechend der Bedürfnisse anpassen
  • Testen
  • Rolle zuweisen

3 Kommentare zu “Exchange 2016: Verwalten von Telefonnummern delegieren (RBAC)”

  1. Hi,

    Super Anleitung, ich teste das mal.
    Könnte man das erweitern, das diese User auch Kontakte erstellen könnten?

    VG

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.