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:

- Application ID
- 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
Generic

-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

GrantedPermissionAllowedResourceScopeScopeTypeInScope
Application EWS.AccessAsAppEWS.AccessAsAppsklera-allowedRooms-scopeGroupTrue



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 URLExchange Online URL (nicht verändern)
Server Version

Exchange2016 auswählen

SSL ValidationSSL Validation muss aktiviert sein
EWS ImpersonationEWS Impersonation muss aktiviert sein
Gültige SMTP AdresseEs 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 TypeOffice365 OAuth 2.0 (Application Permission) auswählen
Azure Verzeichnis IDZuvor notierte Directory (tenant) ID  eintragen (Menüpunkt App registrations)
Azure App IDZuvor notierte Application (client) ID (Menüpunkt App registrations)
Azure App SecretZuvor 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".