Authentifizieren an Microsoft 365 (POP3, SMTP, Exchange) mithilfe von OAuth
Vorwort
Diese Beschreibung ist ausschließlich an erfahrene IT Administratoren gerichtet. Durch Veränderung der Sicherheitseinstellungen kann es zu unerwünschten Störungen und Sicherheitslücken kommen.
Für die Einrichtung im Microsoft 365 Portal sind administrative Rechte erforderlich.
Einstellungen Microsoft 365
Benutzereinstellung
Für den E-Mailversandt ist im Admin-Portal (https://admin.microsoft.com) unter den Benutzer > E-Mail > "E-Mail-Apps verwalten" die Einstellung "Authentifiziertes SMTP" zu aktivieren.
E-Mail Kennwort bei aktiver Multi-Faktor Authentifizierung
Wenn die Microsoft Sicherheitsrichtlinie aktiv ist und die Multi-Faktor Authentifizierung genutzt wird, dann muss der "MULTI-FACTOR AUTHENTICATION-STATUS" erzwungen werden um später eine App-Kennwort (SMTP) für cevisio zu erhalten.
Prüfen Sie die Benutzer und Diensteinstellungen unter https://account.activedirectory.windowsazure.com/UserManagement/MultifactorVerification.aspx.
Unter den Sicherheitsinformation (https://mysignins.microsoft.com/security-info) des jeweiligen Benutzer (Anmeldung als Benutzer, nicht als Administrator!) muss ein App-Kennwort hinzugefügt werden. Das automatisch vergebene Kennwort ist später bei den cevisio E-Mail-Konto Einstellung zu hinterlegen.
Registrieren der Anwendung in der Azure AD
Im Azure-Portal (https://portal.azure.com) muss eine neue Anwendung für den API-Zugriff registriert werden.
Die Anwendungs-ID (Client) und die Verzeichnis-ID (Mandant) wird später in cevisio benötigt.
Clientschlüssel erstellen
Für den Zugriff benötigen wir einen geheimen Schlüssel. Dieser wird später in cevisio benötigt.
Der Schlüssel kann nur an dieser Stelle einmalig eingesehen und gesichert werden.
API-Berechtigung
Unter API-Berechtigung (1) muss für Office 365 Exchange Online (3) folgende Anwendungsberechtigung vergeben werden:
- IMAP.AccessAsApp
- POP.AccessAsApp
- full_access_as_app
Zum Abschluss muss noch die Administratorzustimmung (3) erteilt werden.
Service Principal
Um den Zugriff der Anwendung auf die Benutzerdaten zu erhalten muss ein Service Principal angelegt werden. Für die Anlage ist die Objekt-ID der Unternehmensanwendung erforderlich.
Über die Suche (1) kann direkt die "Unternehmensanwendungen" aufgerufen werden. Unter den Eigenschaften der entsprechenden Anwendung ist die "Objekt-ID" (2) ersichtlich. (Nicht zu verwechseln mit der Objekt-ID der API-Registrierung.
Service Principal anlegen (Powershell)
Einmalig ist ein Service Principal über die Powershell anzulegen.
Connect-ExchangeOnline
New-ServicePrincipal -AppId <Anwendungs-ID> -ServiceId <Objekt-ID> [-Organization <ORGANIZATION_ID>]
Berechtigung je Benutzer (Powershell)
Je Benutzer muss dem Service Principal das Recht für den Zugriff auf diesem erteilt werden.
Connect-ExchangeOnline
Add-MailboxPermission -Identity "<USER>" -User <Objekt-ID> -AccessRights FullAccess
Einstellungen in cevisio
E-Mail-Konten
Aktiveren der Authentifizierung über OAuth 2.0 und hinterlegen der Anwendungs-ID (Client), Verzeichnis-ID (Mandant) und des geheimen Schlüssel.
Bei aktivierter Multi-Faktor-Authentifizierung ist das automatisch generierte App-Kennwort in den SMTP Einstellungen zu hinterlegen.
Benutzereinstellungen der Exchange-Schnittstelle
Aktiveren der Authentifizierung über OAuth und hinterlegen der Anwendungs-ID (Client), Verzeichnis-ID (Mandant) und des geheimen Schlüssel.
Firewall/Webfilter am cevisio Applikationserver
Die Domains login.microsoftonline.com
und outlook.office365.com
dürfen nicht blockiert werden.