ACHTUNG:
Die hier beschriebene Anleitung unter Verwendung der ApplicationImpersonation Rolle wird seitens Microsoft in Exchange Online ab 1.3.2025 nicht mehr unterstützt und kann nur noch für on-premises Exchange Server verwendet werden.
----
1. Allgemeines
Mittels Impersonation ist es möglich, dem Service Account Zugriff auf Microsoft Exchange Kalender zu gewähren.
Der Service Account kann mittels Impersonation die Identität der verschiedenen Raumpostfach Accounts annehmen und z.B. Kalendereinträge auslesen bzw. hinzufügen.
2. Scope
Um Impersonation auf bestimmte Accounts zu beschränken, muss ein Management Scope angelegt werden.
Der Service Account kann Impersonation dadurch nur auf die im Scope enthaltenen Postfächer anwenden. Sklera hat somit nur beschränkten Zugriff auf Ihre Postfächer.
3. Vorgehensweise mittels PowerShell
In folgendem Beispiel wird eine Distribution Group angelegt, die alle Raumpostfächer enthält, auf die das sklera CMS Zugriff haben soll. Anschließend wird ein Management Scope erstellt, welcher mittels -RecipientRestrictionFilter "MemberOfGroup" auf den Distinguished Name der Distribution Group verweist.
Info: Das Postfach, welches später im sklera Room Manager beim Verknüpfen der Kalender angegeben wird (Feld: Gültige SMTP Adresse), muss ebenfalls Mitglied der Distribution Group sein (für die Abfrage der Raumlisten notwendig).
3.1 Mit Powershell zu Exchange verbinden
3.2 Distribution Group erstellen
New-Distributiongroup -name "sklera-allowedRooms" -Displayname "sklera-allowedRooms" -Type "Distribution"
3.3 Mitglieder (Accounts der Raumpostfächer + Account mit gültiger SMTP Adresse) zu Distribution Group hinzufügen
Add-DistributionGroupMember -Identity "sklera-allowedRooms" -Member "Room1" Add-DistributionGroupMember -Identity "sklera-allowedRooms" -Member "Room2" Add-DistributionGroupMember -Identity "sklera-allowedRooms" -Member "svc-sklera"
3.4 Distinguished Name (DN) der zuvor erstellten Distribution Group in Variable speichern
$DistGroupDN = $(Get-DistributionGroup sklera-allowedRooms@yourcompany.onmicrosoft.com).DistinguishedName
$DistGroupDN = $(Get-DistributionGroup sklera-allowedRooms@yourcompany.onmicrosoft.com).DistinguishedName
3.5 Scope erstellen und Recipient Restriction Filter auf zuvor erstellte Distribution Group setzen
New-ManagementScope -Name sklera-ImpersonationScope -RecipientRestrictionFilter "MemberOfGroup -eq '$DistGroupDN'"
New-ManagementScope -Name sklera-ImpersonationScope -RecipientRestrictionFilter "MemberOfGroup -eq '$DistGroupDN'"
3.6 Dem Service Account die Rolle "ApplicationImpersonation" und den Scope "sklera-ImpersonationScope" zuweisen
New-ManagementRoleAssignment -Name:sklera-Impersonation -Role:ApplicationImpersonation -CustomRecipientWriteScope sklera-ImpersonationScope -User:svc-sklera
4. Weiterführende externe Links
- Konfigurieren eines Identitätswechsels
https://learn.microsoft.com/de-de/exchange/client-developer/exchange-web-services/how-to-configure-impersonation