Drücken sie Ctrl/Cmd + P zum drucken
oder zum Speichern als PDF.

ecoMAILZ: Microsoft 365 Postfach über Microsoft Graph anbinden

ecoMAILZ kann E-Mails aus Microsoft 365 / Exchange Online über die Microsoft Graph API abrufen und archivieren.

Für die Anbindung wird in Microsoft Entra ID eine eigene Anwendung registriert. Anschließend werden die Anwendungs-ID, die Mandanten-ID und ein Client-Geheimnis in ecoMAILZ hinterlegt.

Da ecoMAILZ die Postfächer selbstständig im Hintergrund abruft, werden Anwendungsberechtigungen verwendet. Eine interaktive Benutzeranmeldung ist für den laufenden Abruf nicht erforderlich.

Voraussetzungen

Benötigt werden:

  • administrativer Zugriff auf Microsoft Entra ID
  • ein Microsoft-365-Mandant mit Exchange Online
  • Zugriff auf die ecoMAILZ-Administration
  • ein eingerichteter Microsoft-365-Adapter in ecoMAILZ

1. Anwendung in Microsoft Entra ID registrieren

Im Microsoft Entra Admin Center zu folgendem Bereich wechseln:

Entra ID → App-Registrierungen → Neue Registrierung

Als Name kann beispielsweise verwendet werden:

ecoMAILZ

Bei den unterstützten Kontotypen:

Nur Konten in diesem Organisationsverzeichnis

auswählen.

Eine Umleitungs-URI wird für diese Konfiguration nicht benötigt.

Anschließend auf Registrieren klicken.

Nach der Registrierung werden auf der Übersichtsseite unter anderem zwei wichtige Werte angezeigt:

  • Anwendungs-ID (Client)
  • Verzeichnis-ID (Mandant)

Beide Werte werden später in ecoMAILZ benötigt.

2. Client-Geheimnis erstellen

In der neu angelegten App zu folgendem Bereich wechseln:

Zertifikate & Geheimnisse → Clientgeheimnisse → Neuer geheimer Clientschlüssel

Als Beschreibung kann beispielsweise verwendet werden:

ecoMAILZ

Danach eine geeignete Gültigkeitsdauer auswählen und das Geheimnis erstellen.

Nach dem Erstellen werden unter anderem folgende Informationen angezeigt:

  • Geheimnis-ID
  • Wert

Für ecoMAILZ wird der Wert des Geheimnisses benötigt.

Wichtig: Der Wert wird nach Verlassen der Seite später nicht erneut vollständig angezeigt. Er sollte daher direkt kopiert und sicher hinterlegt werden.

3. Microsoft-Graph-Berechtigungen hinzufügen

Anschließend in der App zu folgendem Bereich wechseln:

API-Berechtigungen → Berechtigung hinzufügen → Microsoft Graph → Anwendungsberechtigungen

Für die getestete ecoMAILZ-Konfiguration werden folgende Berechtigungen benötigt:

BerechtigungTypZweck
Mail.ReadAnwendungE-Mails aus Postfächern lesen
User.Read.AllAnwendungBenutzer bzw. Postfächer ermitteln
MailboxSettings.ReadAnwendungPostfacheinstellungen auslesen

Die Berechtigungen werden jeweils als Anwendungsberechtigungen hinzugefügt.

Anschließend muss über

Administratorzustimmung für die Organisation erteilen

die Zustimmung für den Mandanten erteilt werden.

Danach sollte bei den entsprechenden Berechtigungen der Status als gewährt angezeigt werden.

4. Zugangsdaten in ecoMAILZ hinterlegen

Nun zurück zur Administration von ecoMAILZ wechseln und den Microsoft-365-Adapter öffnen.

Folgende Werte werden eingetragen:

ecoMAILZMicrosoft Entra ID
Anwendungs-IDAnwendungs-ID (Client)
MandantVerzeichnis-ID (Mandant)
GeheimnisWert des Client-Geheimnisses

Anschließend können über die Benutzer- bzw. Postfachauswahl die gewünschten Microsoft-365-Postfächer hinzugefügt werden.

Die Verbindung sollte danach über die Testfunktion von ecoMAILZ geprüft werden.

5. Fehler: „Insufficient privileges“

Erscheint beim Test beispielsweise folgende Fehlermeldung:

Authorization_RequestDenied

Insufficient privileges to complete the operation

und enthält die Meldung einen Aufruf wie:

GET https://graph.microsoft.com/.../users

fehlt in der Regel die Berechtigung:

User.Read.All

ecoMAILZ versucht in diesem Fall, die Benutzer bzw. verfügbaren Postfächer im Microsoft-365-Mandanten auszulesen.

Die Berechtigung muss als Microsoft Graph → Anwendungsberechtigung hinzugefügt werden.

Danach erneut die Administratorzustimmung erteilen.

6. Fehler beim Zugriff auf mailboxSettings

Eine weitere mögliche Fehlermeldung lautet beispielsweise:

ErrorAccessDenied

Access is denied

Enthält der Graph-Aufruf außerdem die Eigenschaft

mailboxSettings

fehlt die Berechtigung:

MailboxSettings.Read

Auch diese wird als Anwendungsberechtigung hinzugefügt.

Anschließend muss erneut die Administratorzustimmung für den Mandanten erteilt werden.

Nach dem Hinzufügen der Berechtigungen

  • Mail.Read
  • User.Read.All
  • MailboxSettings.Read

ließ sich der Microsoft-365-Adapter in der getesteten Umgebung erfolgreich verbinden und das gewünschte Postfach auswählen.

Zugriff auf Postfächer aus Sicherheitsgründen einschränken

Die oben beschriebene Konfiguration funktioniert, hat jedoch einen wichtigen sicherheitstechnischen Aspekt.

Die Berechtigung

Mail.Read

als Anwendungsberechtigung ermöglicht der App grundsätzlich den Zugriff auf E-Mails in Postfächern des Microsoft-365-Mandanten.

Wenn ecoMAILZ nur einzelne Postfächer archivieren soll, ist ein mandantenweiter Zugriff in der Regel nicht erforderlich.

Für produktive Umgebungen sollte deshalb geprüft werden, ob der Zugriff der App auf die tatsächlich benötigten Postfächer beschränkt werden kann.

RBAC for Applications

Microsoft stellt hierfür in Exchange Online RBAC for Applications zur Verfügung.

Damit können Anwendungsberechtigungen für Exchange Online mit einem definierten Gültigkeitsbereich kombiniert werden.

So kann beispielsweise festgelegt werden, dass ecoMAILZ nur auf bestimmte Postfächer zugreifen darf.

Das ist insbesondere für Berechtigungen wie

  • Mail.Read
  • MailboxSettings.Read

relevant.

Für neue Konfigurationen ist RBAC for Applications der bevorzugte Ansatz.

Wichtig bei bestehenden Graph-Berechtigungen

Bei einer Einschränkung über RBAC muss darauf geachtet werden, dass nicht gleichzeitig eine identische, mandantenweite Berechtigung weiterhin über Microsoft Entra ID besteht.

Beispiel:

Ist Mail.Read weiterhin als mandantenweite Graph-Anwendungsberechtigung vergeben und wird zusätzlich eine eingeschränkte RBAC-Berechtigung eingerichtet, kann die App unter Umständen weiterhin über die ursprüngliche Graph-Berechtigung auf weitere Postfächer zugreifen.

Für eine konsequente Least-Privilege-Konfiguration sollte daher geprüft werden, welche Berechtigungen vollständig über Exchange Online RBAC vergeben werden können.

User.Read.All bleibt mandantenweit

Die Berechtigung

User.Read.All

ist eine Microsoft-Entra- bzw. Verzeichnisberechtigung.

Sie kann nicht über Exchange Online RBAC auf einzelne Postfächer eingeschränkt werden.

ecoMAILZ verwendet diese Berechtigung unter anderem, um Benutzer bzw. Postfächer im Mandanten zu ermitteln.

Alternative: Application Access Policy

In bestehenden Microsoft-365-Umgebungen kann alternativ auch eine Application Access Policy verwendet werden.

Dabei wird beispielsweise eine mailaktivierte Sicherheitsgruppe angelegt, die nur die Postfächer enthält, auf die ecoMAILZ zugreifen darf.

Eine entsprechende Policy kann über Exchange Online PowerShell eingerichtet werden.

Beispiel:

Connect-ExchangeOnline

New-ApplicationAccessPolicy `
    -AppId <Anwendungs-ID> `
    -PolicyScopeGroupId <Mailadresse-der-Sicherheitsgruppe> `
    -AccessRight RestrictAccess `
    -Description "ecoMAILZ nur für Archivierungspostfächer"

Anschließend kann geprüft werden, ob die Anwendung auf ein bestimmtes Postfach zugreifen darf:

Test-ApplicationAccessPolicy `
    -AppId <Anwendungs-ID> `
    -Identity <postfach@domain.tld>

Application Access Policies gelten inzwischen als älterer Ansatz. Für neue Konfigurationen sollte bevorzugt RBAC for Applications verwendet werden.

Client-Geheimnis dokumentieren

Das Client-Geheimnis besitzt ein Ablaufdatum.

Nach Ablauf kann sich ecoMAILZ nicht mehr gegenüber Microsoft 365 authentifizieren.

Das Ablaufdatum sollte deshalb dokumentiert und rechtzeitig vor Ablauf ein neues Geheimnis erstellt werden.

Anschließend muss der neue Wert in ecoMAILZ hinterlegt werden.

Zusammenfassung

Für die Verbindung von ecoMAILZ mit Microsoft 365 werden in der getesteten Konfiguration folgende Microsoft-Graph-Anwendungsberechtigungen benötigt:

  • Mail.Read
  • User.Read.All
  • MailboxSettings.Read

Zusätzlich werden benötigt:

  • Anwendungs-ID
  • Mandanten-ID
  • Client-Geheimnis
  • Administratorzustimmung für die Graph-Berechtigungen

Für kleinere Umgebungen lässt sich die Verbindung damit schnell einrichten.

In produktiven Microsoft-365-Umgebungen sollte zusätzlich geprüft werden, ob insbesondere der Zugriff auf Exchange-Online-Postfächer über RBAC for Applications auf die tatsächlich zu archivierenden Postfächer eingeschränkt werden kann.

Schlagwörter: ecoMAILZ, Microsoft 365, Exchange Online, Microsoft Graph, Entra ID, E-Mail-Archivierung, Microsoft 365 Archivierung