Authentifizieren an Microsoft 365 (POP3, SMTP, Exchange) mithilfe von OAuth

Aus cevisio help

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.

MS365 Zugriffseinstellung POP und SMTP

Alternativ kann auch die Powershell genutzt werden:

Connect-ExchangeOnline

Set-CASMailbox -Identity "<USER>" -SmtpClientAuthenticationDisabled $false

Optional kann authentifiziertes SMTP für die gesamte Organisation freigeben werden.

Set-TransportConfig -SmtpClientAuthenticationDisabled $false


Registrieren der Anwendung im Entra Admin Center

Im Microsoft Entra Admin Center (https://entra.microsoft.com) muss eine neue Anwendung für den API-Zugriff registriert werden.

MS365 App-Registrierung anlegen 1

MS365 App-Registrierung anlegen 2

Die Anwendungs-ID (Client) und die Verzeichnis-ID (Mandant) wird später in cevisio benötigt.

MS365 App-Registrierung anlegen 3

Clientschlüssel erstellen

Für den Zugriff benötigen wir einen geheimen Schlüssel. Dieser wird später in cevisio benötigt.

Neuer geheimen Clientschlüssel erstellen

Der Schlüssel kann nur an dieser Stelle einmalig eingesehen und gesichert werden.

Clientschlüssel kopieren


API-Berechtigung

Unter API-Berechtigung (1) muss für Office 365 Exchange Online (3) folgende Anwendungsberechtigung vergeben werden:

  • IMAP.AccessAsApp
  • POP.AccessAsApp
  • SMTP.SendAsApp
  • full_access_as_app

API-Berechtigung hinzufügen Berechtigungsart Anwenderberechtigung

Zum Abschluss muss noch die Administratorzustimmung erteilt werden.

Administratorzustimmung erteilen

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.

Unter Identität > Anwendungen > "Unternehmensanwendungen" (2) kann in den Eigenschaften der entsprechenden Anwendung die "Objekt-ID" (3) ausgelesen werden. (Nicht zu verwechseln mit der Objekt-ID der API-Registrierung.

Objekt-ID der Unternehmensanwendung

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

Service Principal (Powershell)


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.

Das POP3/SMTP Kennwort ist nicht erforderlich. Da dies ein Pflichtfeld ist (Version 22.102), sind hier zufällige Werte einzutragen.

E-Mail Konto OAuth Einstellung

Benutzereinstellungen der Exchange-Schnittstelle (Kalender)

Aktiveren der Authentifizierung über OAuth und hinterlegen der Anwendungs-ID (Client), Verzeichnis-ID (Mandant) und des geheimen Schlüssel.

Exchange Schnittstelle OAuth Einstellung

Firewall/Webfilter am cevisio Applikationserver

Die Domains login.microsoftonline.com und outlook.office365.com dürfen nicht blockiert werden.