Datenzugriff, Berechtigungen & Tokens

In diesem Artikel finden Sie ein detaillierte Beschreibung der für die Nutzung von CI-Cloud erforderlichen Microsoft Berechtigungen und Tokens, sowie Hintergrundinformationen und weiterführende Links zum Thema.

Microsoft Graph ist die zentrale Schnittstelle zu Daten, Informationen und Einstellungen in Microsoft 365. CI-Cloud nutzt diese Schnittstelle für den Zugriff auf Daten (z.B. für die Erstellung von E-Mail Signaturen) und um Einstellungen vorzunehmen (z.B. Setzen des Abwesenheitsstatus). Die Microsoft Graph API wird durch die Microsoft Identity Plattform geschützt. Um die Microsoft Graph API nutzen zu können, muss eine Anwendung bei der Microsoft Identity Plattform registriert sein und entweder durch einen Benutzer oder einen Administrator autorisiert werden.

Sicherheit durch OAuth

Die Autorisierung erfolgt über das standardisierte und sichere OAuth Protokoll. Der Anwender kann mit Hilfe dieses Protokolls den selektiven Zugriff auf die in Microsoft 365 enthaltenen Daten erlauben (Autorisierung), ohne geheime Details seiner Zugangsberechtigung (Authentifizierung) preiszugeben. Die Übermittlung von Passwörtern an Dritte wird somit vermieden.

Arten von Berechtigungen

Microsoft Graph verfügt über zwei Arten von Berechtigungen: Anwendungsberechtigungen (application permissions) und delegierte Berechtigungen (delegated permissions). CI-Cloud ist ein Service bei dem der Datenaustausch überwiegend im Hintergrund und ohne zutun des Anwenders erfolgt. Die Zugriffsberechtigung erfolgt deshalb auf Anwendungssebene (in der Abbildung hervorgehoben) und erfordert deshalb die einmalige Autorisierung durch einen Administrator.

(Bild-Quelle: https://docs.microsoft.com/de-de/graph/auth/auth-concepts)

Eine Ausnahme ist das von CI-Cloud benötigte Token für die Nutzung des Exchange Web Service (EWS) im Zusammenhang mit CI-Out-of-Office Manager und CI-Archive. Hierbei handelt es sich um eine delegierte Berechtigung (Details folgen im nächsten Abschnitt).

Administrative Berechtigungen

Uns erreicht oft die Frage, ob für die Autorisierung der Global Administrator benötigt wird. Nein, der Global Administrator ist nicht erforderlich - wird aber empfohlen. Empfohlen deshalb, weil der Global Admin die erforderlichen Berechtigungen hat und Sie somit unmittelbar loslegen können und Zeit für die Anlage eines weiteren Accounts sparen. Die Angst, dass die Anwendung dann mit “Global Admin Berechtigung” agiert, ist unbegründet und beruht auf einem falschen Verständnis des Autorisierungsverfahrens mit OAuth und der Microsoft Identity Plattform. Die gewährten Berechtigungen sind auf die im Einwilligungsvorgang aufgelisteten Berechtigungen begrenzt. Die effektive Berechtigung kann deshalb niemals größer sein. Bei der delegierten Berechtigung ist sogar das Gegenteil der Fall: Hat der autorisierende Account eingeschränkte Berechtigungen fallen auch die effektiven Berechtigungen geringer aus (siehe Schnittmenge “Effektive permission” in obiger Grafik).

image-20211018120703250

Sofern nicht der Global Administrator für die Autorisierung verwendet wird, gelten nachfolgende Mindestanforderungen. (Ausführliche Beschreibung zu den Rollen unterhalb der Tabelle, sowie in der Microsoft Hilfe).

AufgabeMindestanforderung
Autorisierung (Registrierung der App Tokens)Rolle “Anwendungsadmin”
Registrierung Connector (CI-Disclaimer und CI-ExtendRuleset)Rolle “Exchange-Admin”
Erweiterte Berechtigung für EWS (CI-Out-of-Office Manager und CI-Archive)Rolle “Anwendungsadmin” sowie Exchange Berechtigung “ApplicationImpersonation”

Durchführung der Autorisierung

Zur Durchführung der Autorisierung (Registrieren der App-Tokens), muss der verwendete Account Mitglied der Rollengruppe Anwendungsadmin (Application Admin) sein. Benutzer mit dieser Rolle können alle Aspekte von Unternehmensanwendungen, Anwendungsregistrierungen und Anwendungsproxyeinstellungen erstellen und verwalten.

Registrierung des Connector (nur CI-Disclaimer und CI-ExtendRuleset)

Für die Nutzung von CI-Disclaimer (= serverseitig angefügte E-Mail Signatur) und CI-ExtendRuleset (erweitertes Regelwerk) ist die Verbindung zwischen Microsoft 365 Exchange Online und CI-Cloud über einen Exchange Connector erforderlich. Für die Erstellung von Connector (ausgehend und eingehend) sowie der begleitenden Transport-Rule muss der verwendete Account Mitglied der Rollengruppe Exchange-Administrator sein.

Exchange Web Service (EWS) für CI-Out-of-Office Manager und CI-Archive

Zur Durchführung der Autorisierung für den Exchange Web Service, muss der verwendete Account Mitglied der Rollengruppe Anwendungsadmin (Application Admin) sein und zusätzlich im Exchange Online die Berechtigung ApplicationImpersonation besitzen. Die Exchange Berechtigung muss explizit im Exchange Control Panel (ECP) oder über PowerShell (Cmdlet New-ManagementRoleAssignment) gesetzt werden. Es handelt sich hierbei um eine Berechtigungsrolle im Exchange und ist unabhängig vom Azure Active Directory. Deshalb gilt: Die ApplicationImpersonation muss immer vorhanden sein, auch wenn der Global Administrator verwendet wird.

Hintergrundinformationen: Bei dem Token für CI-Out-of-Office Manager und/oder CI-Archive handelt es sich um ein Token mit delegierten Berechtigungen. Damit agiert die Anwendung als der angemeldete Benutzer. Die tatsächliche Berechtigung entspricht der Schnittmenge der im Einwilligungsvorgang gewährten Einzelberechtigungen und den Berechtigungen des Benutzers in dessen Namen agiert wird (vgl. Abbildung “Arten von Berechtigungen"). Auch in diesem Fall gilt: die gewährten Berechtigungen sind auf die im Einwilligungsvorgang aufgelisteten Einzelberechtigungen begrenzt und niemals mehr – auch dann nicht, wenn für die Autorisierung der Global Admin verwendet wird. Im Umkehrschluss gilt das nicht. Hat der Benutzer weniger Berechtigungen als die gewährten, oder werden ihm diese nach der Autorisierung wieder entzogen, wirkt sich das unmittelbar auf die Berechtigung der Anwendung bzw. des Tokens aus.

Hinweis: Wir sind aktuell dabei das Exchange Online EWS Token auf ein MS Graph Application Token umzustellen. Das hat den Vorteil, dass sich die Berechtigungen noch granularer steuern lassen und die Abhängigkeit zum Benutzer Account nicht mehr besteht. Da bisher nahezu die gesamte Kommunikation mit dem Exchange über den Exchange Web Service erfolgte, gibt es dementsprechend viele Abhängigkeiten. Der Wechsel benötigt deshalb etwas Zeit. Bis dahin wird das EWS Token, wie oben beschrieben, weiterhin benötigt. Sobald der Umstieg erfolgen kann, werden die davon betroffenen Kunden von uns persönlich informiert.

API-Berechtigungen

Microsoft Graph macht differenzierte Berechtigungen verfügbar, die den Zugriff von Apps auf Ressourcen wie Benutzer, Gruppen und E-Mails granular steuern. Wir verfolgen das Prinzip der minimalen Berechtigung, d.h. so wenig Berechtigungen wie möglich, nur so viele wie zwingend erforderlich. Aus diesem Grund haben wir die Berechtigungen auf verschiedene Applikationen bzw. Tokens aufgeteilt. Für jede Anwendung innerhalb der CI-Cloud, gibt es eine eigene Anwendung die ausschließlich die dafür benötigten Berechtigungen anfordert.

Die Autorisierung der einzelnen Anwendungen führen Sie im CI-Cloud Portal unter Nachrichtenfluss > Zugriff verwalten durch. Hier sehen Sie ein Übersicht der Anwendungen, deren aktuellen Status und haben die Möglichkeit diese zu autorisieren.

image-20211018114807075

Nachfolgend die Auflistung der Anwendungen mit den dafür erforderlichen Berechtigungen.

Basis Zugriff für CI-Disclaimer & CI-Sign

Der Basis Zugriff (Azure App Name “CI-Cloud-MSG") wird für die Synchronisierung von Benutzerdaten und Gruppen zur Erstellung von E-Mail Signaturen und Disclaimer benötigt.

API BerechtigungBeschreibungTyp
Directory.Read.AllErmöglicht der App, Daten im Verzeichnis Ihrer Organisation zu lesen, z. B. Benutzer, Gruppen und Apps.Application
User.Read.AllErmöglicht der App, den vollständigen Satz von Profileigenschaften, Gruppenmitgliedschaften, Berichte und Vorgesetzte von anderen Benutzern in Ihrer Organisation ohne angemeldeten Benutzers zu lesen.Application

Erweiterter Zugriff für CI-Disclaimer (optional)

Dieses Token (Azure App Name “CI-Cloud-MSG-Updater") wird für das Anfügen der E-Mail Signatur unter “gesendete Elemente” benötigt. Das Token ist optional – es wird nur benötigt wenn das Feature “update sent items” genutzt wird.

API BerechtigungBeschreibungTyp
Mail.ReadWriteDie App kann E-Mails in allen Postfächern ohne angemeldeten Benutzer erstellen, lesen, aktualisieren und löschen. Umfasst nicht über die Berechtigung zum Senden von E-Mails.Application

CI-Out-of-Office Manager

Hierbei handelt es sich um das neue MS Graph Token (Azure App Name “CI-Out-of-Office-Manager") für den CI-Out-of-Office Manager, welches das EWS Token ablösen wird. Es ist für den Betrieb des CI-Out-of-Office Manager erforderlich.

API BerechtigungBeschreibungTyp
Directory.Read.AllErmöglicht der App, Daten im Verzeichnis Ihrer Organisation zu lesen, z. B. Benutzer, Gruppen und Apps.Application
User.Read.AllErmöglicht der App, den vollständigen Satz von Profileigenschaften, Gruppenmitgliedschaften, Berichte und Vorgesetzte von anderen Benutzern in Ihrer Organisation ohne angemeldeten Benutzers zu lesen.Application
Calendars.ReadWriteErmöglicht der App, Ereignisse in allen Kalendern ohne einen angemeldeten Benutzer zu erstellen, zu lesen, zu aktualisieren und zu löschen.Application
Contacts.ReadWriteErmöglicht der App, alle Kontakte in allen Postfächern ohne einen angemeldeten Benutzer zu erstellen, zu lesen, zu aktualisieren und zu löschen.Application
Group.Read.AllErmöglicht es der App, Mitgliedschaften für alle Gruppen ohne einen angemeldeten Benutzer zu lesen. Die App kann außerdem, den Kalender, Unterhaltungen, Dateien und andere Gruppeninhalte für alle Gruppen lesen.Application
MailboxSettings.ReadWriteDie App kann Benutzerpostfacheinstellungen ohne angemeldeten Benutzer erstellen, lesen, aktualisieren und löschen. Umfasst nicht die Berechtigung zum Senden von E-Mails.Application

Exchange Web Service (EWS) Token (CI-Out-of-Office Manager & CI-Archive)

Dieses Token (Azure App Name “CI-Cloud-Updater") wird bis zur finalen Umstellung auf MS Graph (siehe Mindestanforderungen) für den Betrieb von CI-Out-of-Office Manager und CI-Archive benötigt.

API BerechtigungBeschreibungTyp
EWS.AccessAsUser.AllGewährt der App über Exchange-Webdienste denselben Zugriff auf Postfächer, den auch der angemeldete Benutzer besitzt.Delegiert

Häufige Fragen

Warum gibt es so viele unterschiedliche Tokens?

Wir verfolgen das Prinzip der minimalen Berechtigung. Da CI-Cloud aus mehreren Anwendungen besteht die auch einzeln genutzt werden können, haben wir die Berechtigungen dementsprechend aufgeteilt. Es werden nur diejenigen Berechtigungen angefordert, die für den Betrieb einer bestimmten Anwendung erforderlich sind. Mehr dazu im Abschnitt API-Berechtigungen.

Ist der “Global Admin” für die Autorisierung erforderlich?

Kurz: Nein. Es wird aber empfohlen, weil es die Autorisierung vereinfacht (die benötigten Rechte sind vorhanden) und Zeit spart (es muss nicht erst ein neuer Account angelegt werden) und keine negativen Folgen in Bezug auf die Sicherheit hat. Warum das so ist, lesen Sie im Abschnitt Administrative Berechtigungen.

Wie können Berechtigungen wieder entfernt werden?

Berechtigungen und API Registrierungen löschen Sie über das Azure Portal unter portal.azure.com > Azure Active Directory > Unternehmensanwendungen. Hier die entsprechende Anwendung auswählen. Unter “Eigenschaften” kann die Anwendung gelöscht werden.

image-20211018112643063