Exchange Integration in sklera

Um Kalendereinträge von Exchange in sklera anzeigen zu können wird die EWS Schnittstelle verwendet.


Die Angabe des EWS Endpoints – normalerweise https://SERVER/EWS/Exchange.asmx – der Loginname und ein Passwort eines berechtigten Benutzers muss im sklera Room Manager Modul hinterlegt werden.


Anschließend können die Kalender des Benutzers in sklera bei der Raumzuordnung ausgewählt werden:



Geben Sie nun die Zugangsdaten für das Exchange Konto an:



1 … Adresse des Exchange EWS Endpoints

2 … Exchange Versionsnummer auswählen (im Zweifel nicht verändern)

3 … Anmeldetyp auswählen. Unterstützt wird basic oder ntlm

4 … Loginname auswählen (E-Mail-Adresse)

5 … Passwort


Bei erfolgreicher Verbindung stehen nun die berechtigten Kalender des Benutzeraccounts zur Auswahl wenn ein neuer Raum angelegt oder ein bestehender bearbeitet wird:



Office 365 / Exchange online Integration

Für Office365 als Serveradresse https://outlook.office365.com/EWS/Exchange.asmx und als Authentication Type basic auswählen.


Modern Authentication:

AchtungAb Oktober 2020 stellt Microsoft die basic Authentifizierung ein und es ist erforderlich eine moderne Authentifizierung basierend auf OAuth 2.0 zu verwenden. Ab sklera Version 3.7.2 steht hierzu die notwendige Unterstützung zur Verfügung.


Für sklera on-premise oder private Cloud Kunden ist es hierzu notwendig eine eigene Unternehmens App in Azure AD zu registrieren. Als Reply URL ist https://SKLERA_SERVER/exchange/oauth anzugeben (SKLERA_SERVER ist hierbei durch die eigene sklera Server URL zu ersetzen).


Folgende API Berechtigungen werden von der App benötigt:

- Legacy APIs > Exchange > Delegated > EWS -> EWS.AccessAsUser.All
- MS Graph > Delegated > offline_access
- MS Graph > Delegated > user.read


Die angeforderten Berechtigungen müssen durch einen Admin durch klick auf den Button "Administratorzustimmung für Unternehmen erteilen" bestätigt werden.


Anschließend sind die Server Daten in sklera zu hinterlegen, benötigt hierzu werden:

- Tenant ID
- Application ID
- Application Secret (unter Azure > App registrations > Clients & Secrets anzulegen)


EWS Impersonation muss aktiviert werden und der Auth Type ist auf Office365 OAuth 2.0 (User Permission) zu setzen. Im Feld "Gültige SMTP Adresse" kann bspw die Mailadresse des verwendeten Service Accounts eingetragen werden.

 


Als nächstes muss die App mit dem korrekten Benutzer freigeschalten werden. Hierzu bitte den zunächst auf https://login.microsoftonline.com gehen und sicherstellen, dass man abgemeldet ist. Anschließend den Button "Schritt 2" anklicken.


Es wird nun die Anmeldemaske in einem neuen Browserfenster angezeigt. Nun bitte mit einem entsprechenden Service Account anmelden um die Verknüpfung mit sklera fertigzustellen.


Tipp: Drücken Sie die rechte Maustaste auf den Button Schritt 2 um die hinterlegte Link zu kopieren. Öffnen Sie den kopierten Link nun in einer Privaten Browsersession um sicherzustellen, dass keine automatische Anmeldung als aktueller Windows Benutzer erfolgt.


Zugriffssteuerung mittels EWS Impersonation:

Der verwendete Service Account benötigt die Impersonation Rolle und mittels einem eigenen ManagementScope kann der Zugriff auf ausgewählte Postfächer gesteuert werden.


Nähere Infos zur Einrichtung der entsprechenden Objekte in Exchange finden sich hier:

https://www.msxfaq.de/code/ews_impersonation.htm 


Ressourcenpostfächer für Räume:

Um Raumpostfächer auslesen zu können müssen diese in einer Raumliste angelegt werden. Dies gilt sowohl für Exchange online (Office 365) als auch on premise.


Sofern in Ihrer Organisation noch keine Raumlisten existieren können diese mittels folgenden Powershell Befehl erzeugt werden:


New-DistributionGroup StandortName -Type distribution -RoomList


Anschließend müssen die gewünschten Räume in die Raumliste hinzugefügt werden (in GUI möglich). 


Der Account der in sklera eingerichtet wurde muss selbstverständlich entsprechende Zugriffsberechtigung auf das gewünschte Ressourcenpostfach und den enthaltenden Kalender besitzen.


Verwenden Sie den Powershell Befehl "Add-MailboxFolderPermission" um diese zu setzen - Bsp für Raumpostfach "Galileo" und Benutzer "sklera":

Add-MailboxFolderPermission -identity “galileo:\Calendar” -user “sklera” -AccessRights Editor

Bei aktiviertem Rückkanal werden Änderungen in sklera an den Terminen auch in Exchange übertragen - dies wird für die Ad-Hoc Raumbuchungsfunktion benötigt, also um Raumbuchungen direkt am Display vornehmen zu können. Ist diese Funktion nicht gewünscht benötigt der Service Account nur lesenden Zugriff auf die Kalenderdaten.


Powershell Beispiel:

##Exchange Cmds##
# Raumliste == Vienna, EWS Login == sklera@sklera.local, Raumpostfach == galileo

1. Raumliste anlegen
New-DistributionGroup Vienna -Type distribution -RoomList

2. Raumpostfach in Raumliste hinzufügen
Add-DistributionGroupMember -Identity Vienna -Member galileo

3. Kalenderberechtigungen setzen:
Add-MailboxFolderPermission -identity “galileo:\Calendar” -user “sklera@sklera.local” -AccessRights Editor



Weiterführende externe Links: