Startseite » Exchange » Berechtigungsmanagement bei der Migration von Postfächern

Berechtigungsmanagement bei der Migration von Postfächern

Die Migration von lokalen Exchange-Servern zu Exchange Online (EXO) stellt Unternehmen vor Herausforderungen, insbesondere im Hinblick auf die Verwaltung von Nutzerberechtigungen. Dieser Beitrag beleuchtet, warum eine sorgfältige Planung und das Management von Berechtigungen zentral für den Erfolg der Migration sind.

Herausforderungen bei der Migration

Berechtigungen wie „Full Access“, „Send As“ und „Send On Behalf“ werden oft nicht automatisch mit den Nutzerkonten migriert. Besonders in Hybridkonfigurationen, bei denen Nutzer und Berechtigungen nicht gemeinsam in Batches überführt werden, können wichtige Zugriffsrechte verloren gehen​ (TechGenix)​.

In der Artikelserie „Exchange Hybrid Cross-Premises Mailbox Permissions Demystified“ von TechGenix werden die Herausforderungen und Lösungen für das Management von Postfachberechtigungen in einer Hybridumgebung detailliert untersucht. Hier sind einige Kernpunkte aus der Serie:

  • Teil 1: Einführung und Grundlagen – Der erste Teil führt in die Problematik ein, dass spezifische Berechtigungen wie „Full Access“, „Send As“ und „Send On Behalf“ während der Migration von On-Premise zu Exchange Online nicht automatisch übertragen werden. Dies kann zu erheblichen Betriebsstörungen führen, wenn nicht vorsorglich geplant wird.
  • Teil 2: Tiefere technische Einsichten – Der zweite Teil vertieft die technischen Aspekte und erklärt, wie Berechtigungen auf Objektebene innerhalb von Active Directory und Exchange verwaltet werden. Besonders wird auf die Notwendigkeit hingewiesen, dass sowohl Quell- als auch Zielmailboxen im gleichen Bereich (entweder On-Premise oder Online) liegen müssen, damit Berechtigungen korrekt übertragen und genutzt werden können.
  • Teil 3: Best Practices und Fehlerbehebung – Im dritten Teil werden Best Practices für das Management von Berechtigungen während der Migration erörtert. Es werden Strategien vorgestellt, um häufige Fehler zu vermeiden und die Kontinuität der Nutzerzugriffe sicherzustellen.
  • Teil 4: Ausblick und weitere Schritte – Der vierte Teil schließt mit einem Ausblick auf fortgeschrittene Strategien für das Berechtigungsmanagement in großen Hybridumgebungen und bietet Lösungsansätze für spezifische, komplexe Szenarien.

Wichtigkeit der Batch-Migration

In großen Enterprise-Unternehmen ist es essenziell, zusammenhängende Nutzerkonten zu identifizieren und diese gemeinsam in Migrationsbatches zu überführen. Dies stellt sicher, dass Berechtigungsabhängigkeiten erhalten bleiben und erleichtert die Wiederherstellung der Funktionalität in der neuen Umgebung. Die sorgfältige Planung von Migrationsbatches sollte ein Hauptfokus beim Erstellen von Migrationsframeworks sein, um Betriebsunterbrechungen zu minimieren und die Sicherheit zu gewährleisten.

Technischer Lösungsansatz: PowerShell-Skript

Das folgende PowerShell-Skript zeigt einen effektiven Ansatz, um Berechtigungen nach einer Migration zu verwalten. Es deckt das Auslesen, Entfernen, Neu Setzen und Überprüfen der Berechtigungen ab:

# Connect-ExchangeOnline
$MailboxName = "user@domain.ch"

# Full Access
$FullAccess = Get-MailboxPermission -Identity $MailboxName |
Where-Object {$_.AccessRights -like "*FullAccess*" -and -not $_.IsInherited} |
Select-Object User

# Send-As
$SendAs = Get-RecipientPermission -Identity $MailboxName |
Where-Object {$_.AccessRights -eq "SendAs"} |
Select-Object Trustee

# Send-On-Behalf
$SendOnBehalf = (Get-Mailbox -Identity $MailboxName).GrantSendOnBehalfTo

# Format and output results
Write-Host "Full Access for $MailboxName : "
$FullAccess | ForEach-Object { Write-Host "- $($_.User)" }

Write-Host "Send As for $MailboxName :"
$SendAs | ForEach-Object { Write-Host "- $($_.Trustee)" }

Write-Host "Send On Behalf for $MailboxName :"
$SendOnBehalf | ForEach-Object { Write-Host "- $_" }

# $MailboxName = "Postfachname"

# Speichern der aktuellen Berechtigungen
$FullAccessUsers = Get-MailboxPermission -Identity $MailboxName |
Where-Object {
$_.AccessRights -like "*FullAccess*" -and
-not $_.IsInherited -and
$_.User -notlike "NT AUTHORITY\SELF"
} | Select-Object -ExpandProperty User

$SendAsUsers = Get-RecipientPermission -Identity $MailboxName |
Where-Object {
$_.AccessRights -eq "SendAs" -and
$_.Trustee -notlike "NT AUTHORITY\SELF"
} | Select-Object -ExpandProperty Trustee

$SendOnBehalfUsers = (Get-Mailbox -Identity $MailboxName).GrantSendOnBehalfTo |
Where-Object {
$_ -notlike "NT AUTHORITY\SELF"
}

# Entfernen aller Berechtigungen, außer für NT AUTHORITY\SELF
$FullAccessUsers | ForEach-Object {
Remove-MailboxPermission -Identity $MailboxName -User $_ -AccessRights "FullAccess" -Confirm:$false
}

$SendAsUsers | ForEach-Object {
Remove-RecipientPermission -Identity $MailboxName -Trustee $_ -AccessRights "SendAs" -Confirm:$false
}

# Entfernen der Send On Behalf Berechtigungen, indem alle gespeichert Benutzer entfernt werden
Set-Mailbox -Identity $MailboxName -GrantSendOnBehalfTo @()

# Warten für 20 Sekunden
Start-Sleep -Seconds 10

# Ausgabe der Berechtigungen nach dem Entfernen
Write-Host "Berechtigungen nach dem Entfernen:"
$CurrentFullAccess = Get-MailboxPermission -Identity $MailboxName |
Where-Object {
$_.AccessRights -like "*FullAccess*" -and
-not $_.IsInherited
} | Select-Object User

$CurrentSendAs = Get-RecipientPermission -Identity $MailboxName |
Where-Object {
$_.AccessRights -eq "SendAs"
} | Select-Object Trustee

$CurrentSendOnBehalf = (Get-Mailbox -Identity $MailboxName).GrantSendOnBehalfTo

Write-Host "Aktuelle Full Access Berechtigungen:"
$CurrentFullAccess | ForEach-Object { Write-Host "- $($_.User)" }

Write-Host "Aktuelle Send As Berechtigungen:"
$CurrentSendAs | ForEach-Object { Write-Host "- $($_.Trustee)" }

Write-Host "Aktuelle Send On Behalf Berechtigungen:"
$CurrentSendOnBehalf | ForEach-Object { Write-Host "- $_" }

# Frage, ob die Berechtigungen neu gesetzt werden sollen
$answer = Read-Host "Möchten Sie die Berechtigungen basierend auf den gespeicherten Werten neu setzen? (Ja/Nein)"
if ($answer -eq "Ja") {
# Erneutes Setzen der Berechtigungen basierend auf den gespeicherten Werten
$FullAccessUsers | ForEach-Object {
Add-MailboxPermission -Identity $MailboxName -User $_ -AccessRights "FullAccess" -InheritanceType All
}

$SendAsUsers | ForEach-Object {
Add-RecipientPermission -Identity $MailboxName -Trustee $_ -AccessRights "SendAs" -Confirm:$false
}

# Send-On-Behalf neu setzen
if ($SendOnBehalfUsers.Count -gt 0) {
Set-Mailbox -Identity $MailboxName -GrantSendOnBehalfTo $SendOnBehalfUsers
}

Write-Host "Berechtigungen wurden basierend auf den gespeicherten Werten neu gesetzt."
} else {
Write-Host "Keine Berechtigungen neu gesetzt."
}

# Warten für 20 Sekunden
Start-Sleep -Seconds 20

Write-Host "--------------"
Write-Host "Folgende Berechtigungen greifen nach dem Ändern"

# Full Access
$FullAccess = Get-MailboxPermission -Identity $MailboxName |
Where-Object {$_.AccessRights -like "*FullAccess*" -and -not $_.IsInherited} |
Select-Object User

# Send-As
$SendAs = Get-RecipientPermission -Identity $MailboxName |
Where-Object {$_.AccessRights -eq "SendAs"} |
Select-Object Trustee

# Send-On-Behalf
$SendOnBehalf = (Get-Mailbox -Identity $MailboxName).GrantSendOnBehalfTo

# Format and output results
Write-Host "Full Access for $MailboxName : "
$FullAccess | ForEach-Object { Write-Host "- $($_.User)" }

Write-Host "Send As for $MailboxName :"
$SendAs | ForEach-Object { Write-Host "- $($_.Trustee)" }

Write-Host "Send On Behalf for $MailboxName :"
$SendOnBehalf | ForEach-Object { Write-Host "- $_" }

Das vorgestellte PowerShell-Skript behandelt das Management dieser Berechtigungen effektiv, indem es:

  1. Berechtigungen ausliest: Das Skript liest alle bestehenden Berechtigungen aus, um einen Überblick über die Zugriffsrechte zu erhalten.
  2. Berechtigungen entfernt: Es entfernt alle Berechtigungen, außer für NT AUTHORITY\SELF, und stellt sicher, dass keine veralteten oder ungültigen Berechtigungen bestehen bleiben.
  3. Berechtigungen neu setzt: Nach einer Wartezeit werden die zuvor gespeicherten Berechtigungen erneut angewendet, um die Funktionalität für die Nutzer sicherzustellen.
  4. Überprüfung der Berechtigungen: Nach der Neusetzung der Berechtigungen überprüft das Skript, ob alle erforderlichen Zugriffe korrekt wiederhergestellt wurden.

Nach der Migration

Best Practices

Nach Abschluss der Migration ist es sinnvoll, das Skript zur Überprüfung und Anpassung der Berechtigungen in den einzelnen Organisationsbereichen oder Abteilungen durchzuführen. Dies stellt sicher, dass alle Benutzer die notwendigen Zugriffsrechte gemäß ihrer aktuellen Rolle und Verantwortlichkeit erhalten.

  • Gründliche Planung: Die Migration sollte gut geplant sein, insbesondere hinsichtlich der Identifizierung und Gruppierung von Nutzern, deren Mailboxen gemeinsam migriert werden sollen.
  • Testen: Vor der eigentlichen Migration sollten ausgiebige Tests durchgeführt werden, um sicherzustellen, dass alle Berechtigungen wie erwartet funktionieren.
  • Dokumentation: Eine gründliche Dokumentation aller Berechtigungen und Einstellungen ist unerlässlich, um bei Problemen schnell reagieren zu können.

Fazit

Die Migration zu Exchange Online bietet viele Vorteile, erfordert jedoch eine methodische Vorgehensweise, insbesondere bei der Berechtigungsverwaltung. Ein proaktives Vorgehen in der Planung und Durchführung der Migration minimiert Risiken und maximiert den Nutzen der neuen Umgebung. Mit dem richtigen Ansatz und den passenden Tools kann der Übergang reibungslos und sicher gestaltet werden.

Dieser Blogbeitrag bietet eine umfassende Betrachtung der Herausforderungen und Lösungen rund um die Migration von Exchange Berechtigungen in einer Hybridumgebung und wie Unternehmen diese effektiv angehen können.

Foto des Autors
Autor

Nils Lappenbusch

Ich bin seit 2012 in der IT tätig. Seit 2020 bin ich Microsoft certified Trainer (MCT). Meine Schwerpunkte momentan liegen im Bereich Microsoft 365, Exchange 2016/2019. Die Begleitung der Einführung und Migration in die Cloud sind für mich spannende Aufgaben.

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.