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:
| Berechtigung | Typ | Zweck |
|---|---|---|
Mail.Read | Anwendung | E-Mails aus Postfächern lesen |
User.Read.All | Anwendung | Benutzer bzw. Postfächer ermitteln |
MailboxSettings.Read | Anwendung | Postfacheinstellungen 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:
| ecoMAILZ | Microsoft Entra ID |
|---|---|
| Anwendungs-ID | Anwendungs-ID (Client) |
| Mandant | Verzeichnis-ID (Mandant) |
| Geheimnis | Wert 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.ReadUser.Read.AllMailboxSettings.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.ReadMailboxSettings.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.ReadUser.Read.AllMailboxSettings.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