Exchange Integration in sklera
INHALTSVERZEICHNIS
Eigener Exchange Server (on premises)
Um Kalendereinträge von Exchange in sklera anzeigen zu können wird die EWS Schnittstelle verwendet.
Es müssen Konfigurationen am Exchange Server und im sklera CMS vorgenommen werden.
Konfiguration Exchange Server
1. Raumliste anlegen
Damit Raumpostfächer von sklera ausgelesen werden können müssen diese einer Raumliste hinzugefügt werden.
Sofern in Ihrer Organisation noch keine Raumlisten existieren, können diese mittels folgendem Powershell Befehl erstellt werden und die gewünschten Raumpostfächer zur Raumliste hinzugefügt werden.
Beispiel:
2. Zugriff auf Kalender der Postfächer gewähren
Variante A: Add-MailboxFolderPermission
Beispiel für Raumpostfach "Galileo" und Benutzer Service Account "sklera":
Add-MailboxFolderPermission -identity “galileo:\Calendar” -user “sklera” -AccessRights Editor
Variante B: EWS Impersonation
Der verwendete Service Account benötigt in Exchange die Impersonation Rolle. Mittels ManagementScope kann der Zugriff auf ausgewählte Postfächer beschränkt werden.
Nähere Infos zur Einrichtung der entsprechenden Objekte in Exchange finden sich hier:
https://www.msxfaq.de/code/ews_impersonation.htm
Konfiguration sklera CMS
1. Kalender verknüpfen
Die Verknüpfung mit einem Exchange Kalender muss im sklera CMS unter "Module > Room Manager > Verknpüfungen & Settings > Exchange / Office365" eingerichtet werden. Klicken Sie dazu auf den Button "Kalender verknüpfen".
2. Zugangsdaten für das Exchange Konto angeben.
EWS URL | Adresse des Exchange EWS Endpoints (z.B. https://SERVER/EWS/Exchange.asmx) |
Server Version | Exchange Versionsnummer auswählen (im Zweifel nicht verändern) |
SSL Validation | SSL aktivieren / deaktivieren |
Auth Type | Anmeldetyp auswählen. Unterstützt wird basic oder ntlm |
EWS Impersonation | Impersonation aktivieren / deaktivieren (Konfiguration am Exchange Server notwendig) |
Benutzername | Loginname eines berechtigten Benutzers eingeben (E-Mail-Adresse) |
Passwort | Passwort des berechtigten Benutzers |
3. Kalender hinzufügen / bearbeiten
Nach erfolgreicher Verbindung stehen die berechtigten Kalender des Benutzeraccounts im Menüpunkt "Räume" zur Auswahl, wenn ein neuer Raum hinzugefügt oder ein bestehender bearbeitet wird.
Office 365 / Exchange Online Integration mit RBAC Zugriffkontrolle
Es müssen Konfigurationen in Microsoft Entra ID, Exchange Online und im sklera CMS vorgenommen werden.
Konfiguration Microsoft Entra ID
1. App registrieren
Für sklera on-premise oder private Cloud Kunden ist es notwendig eine eigene Unternehmens App in Microsoft Entra ID (ehem. Azure AD) https://entra.microsoft.com/ zu registrieren. Klicken Sie dazu im Menüpunkt "Applications > App registrations" auf den Button "New Registration".
2. App Informationen notieren
Diese werden später im sklera Room Manager zum Herstellen der Exchange Verknüpfung benötigt. Folgende IDs müssen notiert werden:
- Application (client) ID bzw. Anwendungs-ID (Client)
- Directory (tenant) ID bzw. Verzeichnis-ID (Mandant)
3. Client Secret erstellen
Im Menüpunkt "Certificates & Secrets" muss ein Client Secret angelegt werden. Klicken Sie dazu auf den Button "New Client Secret".
4. Wert des Client Secrets notieren
Der Value des "Client Secrets" wird später im sklera Room Manager zum Herstellen der Exchange Verknüpfung benötigt.
5. Security Group erstellen
Neue Security Group erstellen und alle Raumpostfächer als Mitglieder hinzufügen, auf die das sklera CMS Zugriff haben soll.
6. Object ID notieren
Die Object ID der soeben erstellen Security Group wird später zum Erstellen des Management Role Assignments benötigt.
Konfiguration Exchange Online (Powershell)
1. Microsoft Powershell öffnen und mit Exchange Online verbinden
Connect-ExchangeOnline
2. Service Principal für die zuvor angelegte App erstellen
New-ServicePrincipal -AppId aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa -ObjectId bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb -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”).
3. Management Role Assignment erstellen
New-ManagementRoleAssignment -App bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb -Role "Application EWS.AccessAsApp" -RecipientGroupScope cccccccc-cccc-cccc-cccc-cccccccccccc -Name SKLERA_EWS_ACCESS
Info:
-App = Object ID aus dem Punkt "Enterprise applications"
-RecipientGroupScope = Object ID der zuvor erstellten Security Group
4. Raumliste anlegen
Damit Raumpostfächer von sklera ausgelesen werden können müssen diese einer Raumliste hinzugefügt werden.
Sofern in Ihrer Organisation noch keine Raumlisten existieren, können diese mittels folgendem Powershell Befehl erstellt werden und die gewünschten Raumpostfächer zur Raumliste hinzugefügt werden.
Beispiel:
##Exchange Cmds## # Raumliste == Vienna, Raumpostfach == galileo 1. Raumliste anlegen New-DistributionGroup Vienna -Type distribution -RoomList 2. Raumpostfach zur Raumliste hinzufügen Add-DistributionGroupMember -Identity Vienna -Member galileo
Konfiguration sklera CMS
1. Kalender verknpüfen
Die Verknüpfung mit einem Exchange Kalender muss im sklera CMS unter "Module > Room Manager > Verknpüfungen & Settings > Exchange / Office365" eingerichtet werden. Klicken Sie dazu auf den Button "Kalender verknüpfen".
2. Verbindungsdaten eingeben
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). |
Auth Type | Office365 OAuth 2.0 (Application Permission) auswählen |
Azure Verzeichnis ID | Zuvor notierten Wert eintragen |
Azure App ID | Zuvor notierten Wert eintragen |
Azure App Secret | Zuvor notierten Wert eintragen |
3. Kalender hinzufügen / bearbeiten
Nach erfolgreicher Verbindung stehen die berechtigten Kalender des Benutzeraccounts im Menüpunkt "Räume" zur Auswahl, wenn ein neuer Raum hinzugefügt oder ein bestehender bearbeitet wird.
Weiterführende externe Links
- Raumlisten allgemein (abgerufen am 04.03.2020):
https://www.msxfaq.de/konzepte/raumlisten.htm - Herstellen einer Verbindung mit Exchange Online PowerShell
https://learn.microsoft.com/de-de/powershell/exchange/connect-to-exchange-online-powershell?view=exchange-ps - Erstellen und Verwalten von Raumpostfächern
https://learn.microsoft.com/de-de/exchange/recipients/room-mailboxes?view=exchserver-2019
Hinweise
Ressourcenpostfächer mit aktivierter AutoAccept Funktion
Falls bei Ressourcenpostfächern in Ihrer Exchange Umgebung die automatische Annahme von Besprechungsanfragen aktiviert ist, wird im Kalender der Betreff des Termins durch den Namen des Organisators ersetzt.
Dies ist ein Standardverhalten von Exchange und tritt auf, weil AddOrganizerToSubject und DeleteSubject auf "True" gesetzt sind.
Lösung:
Öffnen Sie die Exchange Management Shell und führen Sie folgenden Befehl aus:
Set-CalendarProcessing -Identity <RESOURCEMAILBOX> -DeleteSubject $False -AddOrganizerToSubject $False
Info: Diese Einstellung wirkt sich nur auf neue und nicht auf bestehende Termine aus.
Aus Globaler Adressliste (GAL) ausgeblendete Raumpostfächer
Damit Raumpostfächer mit dem Room Manager verknüpft werden können, müssen diese in Exchange in der Globalen Adressliste vorhanden sein.
Bei Bedarf können Raumpostfächer nach ihrer Verknüpfung mit dem Room Manager in der Globalen Adressliste ausgeblendet werden.