INHALTSVERZEICHNIS
1. Allgemeines
Microsoft hat mit Februar 2025 die RBAC Rolle "ApplicationImpersonation" entfernt.
https://techcommunity.microsoft.com/blog/exchange/critical-update-applicationimpersonation-rbac-role-deprecation-in-exchange-onlin/4295762
Die bisher in sklera verwendete Methode (Office365 OAuth 2.0 User Permission) für die Exchange Online (Office365) Integration funktioniert daher nicht mehr.
Durch die Umstellung müssen in sklera nun Application Permissions anstelle von Delegated (User) Permissions verwendet werden. Die Berechtigung für die App wird durch ein Management Role Assignment und RBAC for Applications gesteuert. Es werden keine speziellen API-Permissions für die App benötigt. Wie bisher ist auch hiermit gewährleistet, dass die sklera App nur auf bestimmte Unternehmenspostfächer Zugriff hat.
2. Migration
Folgende Schritte sind für die Umstellung auf (Office365 OAuth 2.0 Application Permission) notwendig.
2.1 Microsoft Entra ID
2.1.1 App Informationen notieren
Wechseln sie auf https://entra.microsoft.com/, klicken Sie auf den Menüpunkt "Applications > App registrations" und wählen Sie ihre App aus (z.B. sklera Exchange Connector).
Folgende IDs müssen notiert werden:
- Application (client) ID
- Directory (tenant) ID
Die Informationen werden später im sklera Room Manager zum Herstellen der Exchange Verknüpfung benötigt.
2.1.2 Client Secret erstellen
Wenn Sie ihr bisher verwendetes Client Secret nicht kennen muss ein neues angelegt werden.
Wechseln Sie dazu zum Menüpunkt "Certificates & Secrets" und klicken Sie auf den Button "New Client Secret".
2.1.3 Wert des Client Secrets notieren
Der Wert des "Client Secrets" wird später im sklera Room Manager zum Herstellen der Exchange Verknüpfung benötigt.
2.1.4 Enterprise App Informationen notieren
Klicken Sie auf den Menüpunkt "Applications > Enterprise applications" und wählen Sie ihre App aus (z.B. sklera Exchange Connector).
Folgende IDs müssen notiert werden:
- Object ID
Die Informationen werden später in Exchange Online zum erstellen eines Service Principals benötigt.
2.2 Exchange online (PowerShell)
2.2.1 Microsoft PowerShell öffnen und mit Exchange Online verbinden
Connect-ExchangeOnline
2.2.2 Service Principal für die App erstellen
New-ServicePrincipal -AppId aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa -ObjectId oooooooo-oooo-oooo-oooo-oooooooooooo -DisplayName "skleraExchangeConnector"
Info: Für AppId und ObjectId müssen die Daten aus dem Menüpunkt “Enterprise Application” verwendet werden (nicht aus Menüpunkt “App registrations”).
2.2.3 Management Role Assignment erstellen
Die Zugriffsberechtigung auf die Raumpostfächer kann weiterhin durch Angabe des bereits vorhandenen Custom Resource Scopes festgelegt werden.
New-ManagementRoleAssignment -App oooooooo-oooo-oooo-oooo-oooooooooooo -Role "Application EWS.AccessAsApp" -CustomResourceScope "sklera-allowedRooms-scope" -Name SKLERA_EWS_ACCESS
-App = Object ID aus dem Menüpunkt "Enterprise applications"
-CustomResourceScope = Name des bereits vorhandenen Management Scopes
Info: Wenn Sie den Namen Ihres bisher verwendeten Management Scopes nicht kennen, kann dieser mit dem Befehl Get-ManagementScope ermittelt werden.
2.2.4 Bisher verwendetes Management Role Assignment entfernen
Das bisher verwendete Management Role Assignment, welches einem Service User die Rolle "ApplicationImpersonation" und den Management Scope zugewiesen hat, kann entfernt werden.
2.2.5 Zugriffsberechtigung testen
Der Test zeigt an, ob sklera Zugriff auf das angegebene Raumpostfach hat oder nicht: inScope = True / False
Test-ServicePrincipalAuthorization -Identity oooooooo-oooo-oooo-oooo-oooooooooooo -Resource galileo
-Identity = Object ID aus dem Menüpunkt "Enterprise applications"
-Resource = Name des Raumpostfachs
RoleName | GrantedPermission | AllowedResourceScope | ScopeType | InScope |
Application EWS.AccessAsApp | EWS.AccessAsApp | sklera-allowedRooms-scope | Group | True |
2.3 sklera CMS
2.3.1 Bestehende Exchange Verknüpfung aufheben
Die bisherige Verknüpfung mit einem Exchange Kalender muss im sklera CMS unter "Module > Room Manager > Verknpüfungen & Settings > Exchange / Office365" aufgehoben werden. Klicken Sie dazu auf "Verknüpfung aufheben".
2.3.2 Kalender neu verknüpfen
Klicken Sie dazu auf den Button "Kalender verknüpfen".
EWS URL | Exchange Online URL (nicht verändern) |
Server Version | Exchange2016 auswählen |
SSL Validation | SSL Validation muss aktiviert sein |
EWS Impersonation | EWS Impersonation muss aktiviert sein |
Gültige SMTP Adresse | Es muss eine gültige E-Mail Adresse eingetragen sein (für die Abfrage der Raumlisten notwendig). Kann z.B. die SMTP-Adresse eines Raumes oder eines separaten Postfachs sein, das sich im Scope befindet. |
Auth Type | Office365 OAuth 2.0 (Application Permission) auswählen |
Azure Verzeichnis ID | Zuvor notierte Directory (tenant) ID eintragen (Menüpunkt App registrations) |
Azure App ID | Zuvor notierte Application (client) ID (Menüpunkt App registrations) |
Azure App Secret | Zuvor notierter Wert des Client Secrets (Menüpunkt App registrations) |
2.3.3 Testsync einen Raumes durchführen
Wechseln Sie zum Menüpunkt "Räume" und klicken Sie bei einem verbundenen Raum in den Optionen auf "Verknüpften Kalender aktualisieren".