INHALTSVERZEICHNIS


1. Allgemeines

Die Anbindung von Exchange Online erfolgt über die Microsoft Graph API in Kombination mit RBAC (Role-Based Access Control).


Die Einrichtung erfordert Konfigurationen in Microsoft Entra ID, Exchange Online (PowerShell) und im sklera CMS.



1.1 Microsoft Entra ID

1.1.1 App registrieren

  • Zur Einrichtung ist die Registrierung einer Anwendung in Microsoft Entra ID erforderlich.
    Rufen Sie dazu das Microsoft Entra admin center auf: https://entra.microsoft.com

    Navigieren Sie im Portal zu "Entra ID > App registrations" und klicken Sie auf den Button "New registration".

  • Wählen Sie einen Namen für Ihre App und hinterlegen Sie die passende Redirect URI. Klicken Sie anschließend auf den Button "Register".

    Info: Die Redirect URI ist abhängig von Ihrer sklera Cloud Variante.



    sklera Cloud VarianteRedirect URI
    sklera Public Cloudhttps://my.sklera.tv/oauth/microsoft/callback
    sklera Private Cloudhttps://<YOUR_CMS_URL>/oauth/microsoft/callback



  • Notieren Sie die Application (client) ID und die Directory (tenant) ID.
    Diese werden später im sklera Room Manager zum Verknüpfen der Kalender benötigt.



1.1.2 Client Secret erstellen

  • Im Menüpunkt "Certificates & secrets" muss ein Client Secret angelegt werden.
    Klicken Sie dazu auf den Button "New client secret".

  • Wählen Sie eine Description (optional) und legen Sie den Gültigkeitszeitraum fest.
    Klicken Sie anschließend auf den Button "Add".

  • Notieren Sie den Wert (Value) des Client secrets. Dieser wird später im sklera Room Manager zum Herstellen der Verbindung benötigt.



1.1.3 Enterprise App Eigenschaften notieren

  • Klicken Sie auf den Menüpunkt "Enterprise apps" und suchen Sie Ihre App (z.B. sklera Exchange Connector).
    Notieren Sie Application ID und Object ID. Diese werden später in Exchange Online zum erstellen eines Service Principals benötigt.



1.1.4 API Permission hinzufügen

Damit Räume im Room Manager grafisch hinzugefügt werden können, benötigt dieser Zugriff auf Ihre Room Lists.

Wenn die erforderliche API Permission (Place.Read.All) nicht erteilt wird, können neue Räume nur durch Eingabe der SMTP-Adresse (Input Room Address) hinzugefügt werden. Eine grafische Auswahl ist in diesem Fall nicht möglich.


Beispiel für grafische Raumauswahl:


Wenn Sie keine Room Lists verwenden bzw. die API Permission nicht erteilen möchten, können Sie die folgenden Schritte überspringen und mit Punkt 1.1.5 fortfahren.


  • Wechseln Sie zu "API permissions". 

  • Klicken Sie auf "Add a permission". 

  • Wählen Sie "Microsoft Graph".

  • Wählen Sie "Application permissions".

  • Suchen Sie nach "Place" und wählen Sie "Place.Read.All" aus. 

  • Erteilen Sie die Admin-Zustimmung durch Klick auf den Button "Grant admin consent for ...". 

  • Klicken Sie auf "Yes". 



1.1.5 Zugriffsberechtigung auf Raumpostfächer konfigurieren - Teil 1/2

Der sklera Room Manager erhält ausschließlich Zugriff auf Postfächer, die entweder Mitglied einer festgelegten "Security Group" oder in einem definierten "Management Scope" enthalten sind. Ein Zugriff auf andere Postfächer ist nicht möglich.


Es muss dazu eine Security Group oder ein Management Scope erstellt werden und mittels Management Role Assignment die gewünschte Rolle (Berechtigung) zugewiesen werden.


VarianteHinweis
A: Security Group

oder

B: Management Scope
Einfache Methode, für die meisten Kunden empfohlen
Die Zugriffsberechtigung des Room Managers auf Exchange wird über die Mitgliedschaft der Räume in einer Security Group gesteuert.
Fortgeschrittene Methode, für spezielle Anforderungen
Die Zugriffsberechtigung des Room Managers auf Exchange wird über einen Management Scope anhand beliebiger Attribute (z. B. Postfachtyp, Alias, Standort) gesteuert.


Rolle (Berechtigung)ZweckHinweis
Application Calendars.ReadWrite

oder

Application Calendars.Read
Lese- und Schreibzugriff auf KalenderErforderlich, wenn Termine vom Room Manager in Exchange erstellt, geändert oder gelöscht werden sollen (Rückkanal).
Lesezugriff auf KalenderAusreichend, wenn ausschließlich lesender Zugriff auf Termine in Exchange erforderlich ist (kein Rückkanal).


Achtung: Änderungen an Berechtigungen in Microsoft Entra ID können aufgrund von Replikation und Caching verzögert wirksam werden.




Variante A (einfache Methode, für die meisten Kunden empfohlen - Security Group)

Mit dieser Variante wird die Zugriffsberechtigung über die Mitgliedschaft der Raumpostfächer in einer Security Group gesteuert.

  • Erstellen Sie eine neue Security Group, indem Sie im Menü "Groups" auf den Button "New group" klicken.

  • Wählen Sie einen Namen für die Security Group und klicken Sie anschließend auf den Button "Create".


  • Navigieren Sie zu "All Groups" und wählen Sie die soeben erstellte Security Group aus.

  • Notieren Sie die Object ID. Diese wird später im Abschnitt Exchange Online (PowerShell) zum Erstellen eines Management Role Assignments benötigt. 

  • Navigieren Sie zum Menüpunkt "Members" und klicken Sie auf den Button "Add members"

  • Suchen Sie nach den gewünschten Räumen und fügen Sie diese durch Klick auf den Button "Select" zur Gruppe hinzu.




Variante B (fortgeschrittene Methode, für spezielle Anforderungen - Management Scope)

Mit dieser Variante wird die Zugriffsberechtigung über die Zugehörigkeit der Raumpostfächer zu einem Management Scope gesteuert.
Der Management Scope kann anhand beliebiger Attribute (z. B. Postfachtyp, Alias, Standort) festgelegt werden.


Die Einrichtung erfolgt ausschließlich über die PowerShell und wird weiter unten beschrieben.




1.2 Exchange Online (PowerShell)

1.2.1 Mit Exchange online Verbinden

  • Öffnen Sie die PowerShell und verbinden Sie sich mit Exchange Online.
Connect-ExchangeOnline
Generic



1.2.2 Room List anlegen

Damit Raumpostfächer im sklera Room Manager grafisch hinzugefügt werden können, müssen diese zu einer Room List hinzugefügt werden.
Wenn keine Room Lists vorhanden sind, können neue Räume nur durch Eingabe der SMTP-Adresse (Input Room Address) hinzugefügt werden. Eine grafische Auswahl ist in diesem Fall nicht möglich.


Mit folgenden PowerShell Befehlen können Room Lists erstellt und die gewünschten Raumpostfächer hinzugefügt werden.


  • Room List "Vienna" anlegen:
New-DistributionGroup Vienna -Type distribution -RoomList
Generic


  • Raumpostfach "Galileo" zur Room List "Vienna" hinzufügen
Add-DistributionGroupMember -Identity Vienna -Member galileo
Generic



1.2.3 Service Principal für Ihre App erstellen

  • Damit die gewünschten Berechtigungen mittels Management Role Assignment zugewiesen werden können, muss ein Service Principal in Exchange Online erstellt werden.
New-ServicePrincipal -AppId aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa -ObjectId oooooooo-oooo-oooo-oooo-oooooooooooo -DisplayName "skleraExchangeConnector"
Generic
ParameterBeschreibung
-AppIdApplication ID Ihrer Enterprise App aus dem Menüpunkt "Enterprise apps".
-ObjectIdObject ID Ihrer Enterprise App aus dem Menüpunkt "Enterprise apps".
-DisplayNameBeliebiger Name für den ServicePrincipal



1.2.4 Zugriffsberechtigung auf Raumpostfächer konfigurieren - Teil 2/2

Fortsetzung Variante A (einfache Methode, für die meisten Kunden empfohlen - Security Group)

Die gewünschte Rolle (Berechtigung) wird mittels Management Role Assignment zugewiesen und auf die Mitglieder der Security Group beschränkt.

  • Management Role Assignment erstellen
New-ManagementRoleAssignment -App oooooooo-oooo-oooo-oooo-oooooooooooo -Role "Application Calendars.ReadWrite" -RecipientGroupScope ssssssss-ssss-ssss-ssss-ssssssssssss -Name SKLERA_GRAPH_CALENDARS_READWRITE
Generic
ParameterBeschreibung
-AppObject ID Ihrer Enterprise App aus dem Menüpunkt "Enterprise apps" (entspricht der Object ID Ihres Service Principals in Exchange Online).
-RoleApplication Calendars.ReadWrite oder Application Calendars.Read.
-RecipientGroupScopeID Ihrer zuvor erstellten Security Group.
-NameBeliebiger Name des Management Role Assignments.




Fortsetzung Variante B (fortgeschrittene Methode, für spezielle Anforderungen - Management Scope)

In folgendem Beispiel wird ein Management Scope erstellt, der alle Postfächer vom Typ RoomMailbox beinhaltet und deren Alias mit room-at- beginnt.

  • Management Scope erstellen
New-ManagementScope -Name "sklera_allowedRooms_scope" -RecipientRestrictionFilter "RecipientTypeDetails -eq 'RoomMailbox' -and Alias -like 'room-at-*'"
Generic


Die gewünschte Rolle (Berechtigung) wird mittels Management Role Assignment auf die im Management Scope enthaltenen Raumpostfächer zugewiesen.

  • Management Role Assignment erstellen
New-ManagementRoleAssignment -App oooooooo-oooo-oooo-oooo-oooooooooooo -Role "Application Calendars.ReadWrite" -CustomResourceScope "sklera_allowedRooms_scope" -Name SKLERA_GRAPH_CALENDARS_READWRITE
Generic
ParameterBeschreibung
-AppObject ID Ihrer Enterprise App aus dem Menüpunkt "Enterprise apps" (entspricht der Object ID Ihres Service Principals in Exchange Online).
-RoleApplication Calendars.ReadWrite oder Application Calendars.Read.
-CustomResourceScopeName Ihres zuvor erstellten Management Scopes.
-NameBeliebiger Name des Management Role Assignments.



1.2.5 Zugriffsberechtigung testen

Mit folgendem Befehl kann ermittelt werden, ob der sklera Room Manager Zugriff auf das angegebene Raumpostfach hat oder nicht.

Test-ServicePrincipalAuthorization -Identity oooooooo-oooo-oooo-oooo-oooooooooooo -Resource galileo
Generic
ParameterBeschreibung
-IdentityObject ID aus dem Menüunkt "Enterprise apps" (entspricht der Object ID Ihres Service Principals in Exchange Online).
-ResourceName des Raumpostfachs.


InScope muss True sein, damit Zugriff auf das entsprechende Postfach möglich ist.




1.3 sklera CMS

1.3.1 Im sklera CMS einloggen

  • Melden Sie sich mit einem sklera Benutzer an, der Zugriff auf das Room Manager Modul hat.



1.3.2 Microsoft Graph Kalender verknüpfen


  • Wechseln Sie zu "Module > Room Manager" und klicken Sie im Abschnitt "Microsoft 365 (Graph)" auf den Button "Link Calendar".
  • Geben Sie Tenant ID, Client ID, Client Secret aus "Entra ID admin center > App registrations" ein und klicken Sie anschließend auf "Save".
  • Melden Sie sich mit Ihrem Microsoft Administrator Account an und akzeptieren Sie die angeforderten Berechtigungen.



1.3.3 Kalender hinzufügen / bearbeiten

Nach erfolgreicher Verbindung können die berechtigten Kalender im sklera Room Manager ausgewählt werden.




2. Allgemeine Hinweise

2.1 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.


Siehe: https://docs.microsoft.com/de-de/exchange/troubleshoot/client-connectivity/calendar-shows-organizer-name


Lösung:
Öffnen Sie die Exchange Management Shell und führen Sie folgenden Befehl aus:

Set-CalendarProcessing -Identity <RESOURCEMAILBOX> -DeleteSubject $False -AddOrganizerToSubject $False
Generic
Info: Diese Einstellung wirkt sich nur auf neue und nicht auf bestehende Termine aus. 




3. Weiterführende externe Links