OAUTH2 / Modern Authentication

Office 365 nutzt es, Facebook auch und immer mehr Dienste in der Cloud. Daher sollten Sie als Administrator und Entwickler auch wissen, was sich letztlich dahinter verbirgt. Beachten Sie dazu auch Authentifizierung im Wandel der Zeit, Exchange OAuth und Exchange Online Authentifizierung. Für Graph verweise ich auf Graph Token, Graph Berechtigungen  und die Beispiele Graph und Benutzer und Graph und Kennworte.

Damit Sie OAUTH und die Änderungen besser verstehen, habe ich vorher noch einmal ganz kurz die anderen "Legacy"-Anmeldeverfahren kurz erklärt.

Direkte Authentifizierung (Basic/NTLM)

Die klassische Anwendung kennen wir schon seit den ersten Client/Server-Umgebungen: Ein Anwender muss ich am Server anmelden, damit der Server die Identität prüfen (Authentication) und danach die Berechtigungen (Autorisierung) ermitteln und den Zugriff freigeben kann. Der Anwender übergibt dazu seine Anmeldedaten an den Service und der Service fragt ggfls. einen nachgelagerten Authentifizierungsdienst wie das Active Directory, eine Datenbank oder lokale Benutzerdatenbank.

  1. Der Client sendet die Anmeldedaten an den Server
    Die Daten sind im Klartext und maximal per HTTPS/TLS transportverschlüsselt
  2. Der Server lässt die Daten verifizieren
    Dazu sendet er diese z.B. an eine lokale Benutzerdatenbank, einen Radius-Server oder ein AD.
  3. Der Authentifizierungservice prüft
    Und liefert dem Server die Information, ob die Anmeldedaten korrekt sind
  4. Server sendet die Antwort
    Der Server kann nun die Verbindung annehmen, Anfragen beantworten etc.

Der Server hat zumindest für einen kurzen Zeitraum die Anmeldedaten im lesbarer Form und auch der Transport sollte aber muss nicht verschlüsselt sein. So haben sehr lange POP3/IMAP4-Server ohne TLS gearbeitet. Auch TELNET ist derart unsicher.

Kerberos Authentifizierung

Sobald Kerberos mit ins Spiel kommt, verändert sich die Reihenfolge derart, dass der Client sich erst ein Ticket beim KDC besorgt, welches er dann an den Service sendet.

  1. Der Client geht zum Server
  2. Der Server liefert den Fehler, dass er sich per Kerberos anmelden soll
  3. Der Client fragt den KDC
    Wir gehen davon aus, dass der Client schon authentifiziert ist
  4. Der KDC generiert ein Token
    Es enthält die Daten des Benutzers, ist digital vom KDC signiert und mit dem Schlüssel des Zielservers verschlüsselt
  5. Client stellt erneut Request an den Server
    Der Server erkennt die gültige Signatur, decodiert das Kerberos-Ticket mit seinem privaten Schlüssel und kennt nun den Anwender

Der Server selbst sieht nie ein Kennwort (Sicher), kann unsignierte Anfrage direkt verwerfen (DoS Abwehr) und muss selbst keine Verbindung zum Authentifizierungsdienst aufbauen.

Impersonation Authentifizierung

Nicht immer ist der Benutzer der aktive Part beim Zugriff auf seine Daten. Oft sollen andere Systeme oder Prozesse diese Funktion übernehmen. Ein Prozess, der nicht direkt selbst vom Anwender aufgerufen wurde, soll so tun, als wäre er der Anwender.

Das bekannteste Verfahren ist hier Kerberos - Constraint Delegation, bei dem das Computerkonto oder das Dienstkonto des Service im Active Directory das Recht eingeräumt wird, sich im Auftrag des Benutzers ein Ticket für den Service zu besorgen.

  1. Der Client geht zum Server und meldet sich an
    Das kann über eines der bisher genannten Anmeldeverfahren, z.B. NTLM, Kerberos erfolgen
  2. Der Service geht nun zum KDC
    Er forder ein Ticket im Namen des Benutzers für den Zugriff auf den Datenserver an
  3. KDC stellt aus
    Dazu prüft er natürlich erst, ob das Dienstkonto/Computerkonto die Rechte zur Delegation auf das Ziel hat und der Benutzer nicht für Delegation gesperrt ist
  4. Service geht zum Datenserver
    Nun kann der Service z.B. zum SQL-Server gehen
  5. Datenserver liefert an Service
    Der Datenserver "glaubt", dass der Zugriff vom Benutzer selbst kommt und kann dies protokollieren und Berechtigungen anwenden. Der Service selbst kann nicht unterscheiden, ob der Zugriff nun vom Benutzer direkt oder durch eine Helfer-Applikation im Auftrag des Benutzers erfolgt
  6. Service liefert Daten an Client
    Der Service bereitet die Daten auf und liefert sie aus

Der Service muss durch die Konfiguration im Active Directory als "vertrauenswürdig" freigeschaltet werden. Das funktioniert natürlich nur für Kerberos und damit nicht im Internet.

Delegation mit Credentials

Einen weiteren Weg, den aber nicht nur ich kritisch ansehe, ist die Übergabe der Anmeldedaten an die Applikation, die dann mit diesen Daten sich beim eigentlichen Service authentifiziert.

  1. Anwender sendet Anmeldedaten
    Das funktioniert nur, wenn der Anwender seinen Benutzername und Kennwort an den blauen Service übergibt
  2. Service geht an Datenserver
    Nun kann z.B. die Webseite sich mit den erhaltenen Anmeldedaten beim Datenserver anmelden
  3. Datenserver prüft Anmeldung
    z.B. gegen einen Domaincontroller oder auch eine lokale Authentifizierungsinstanz
  4. Anmeldedaten sind gültig
  5. Datenserver liefert gewünscht Daten der Anfrage
  6. Service-System liefert Ergebnisse an Client

Würden Sie ihren Benutzernamen und Kennwort einem Service quasi in "Klartext" übergeben?. Sie tun das aber immer dann, wenn Sie z.B. einen Service über einen "Reverse-Proxy" nutzen, der eine Pre-Authentication macht. All die Firewalls und Portal-Dienste von Firmen, die von ihnen erst eine erfolgreiche Authentifizierung erwarten, um ihnen dann die Icons für weitere Applikationen anzubieten, arbeiten nach dem Schema. Sie führen dann in ihrem Auftrag die Anmeldung durch. Selbst "Outlook für IOS" und "Outlook für Android" haben anfangs genau diesen weg genutzt. Der Service hat sich als "ActiveSync-Server" ausgegeben und Benutzername/Kennwort eingesammelt, um dann sich weiter zum Backend zu verbinden. Microsoft hat Ende 2014 die Firma Acompli übernommen und nach und nach das Verfahren dann umgestellt. Solange der Service, der die Anmeldedaten anfordert quasi zum Gesamtsystem gehört, also der Firma oder dem Cloud-Service, ist so eine Preauthentication oft ein wichtiger Schutz zur Abwehr von Angriffen auf die eigentlichen Server. Aber ich würde meinem Kennwort nicht einer dritten Firma überlassen, damit Sie damit auf einem anderen Datenpool meine Identität übernehmen kann. Zudem ist hier das Problem der "Kennwortänderung" nicht gelöst. Wenn ich mein Kennwort ändere, müsste ich allen anderen Dienste das auch mitteilen. Bis dahin versuchen die Dienste aber mindestens einmal eine Falschanmeldung und sperren mein Konto. Aber größtes Problem wäre hier wirklich die Speicherung von Anmeldedaten mit einem reversiblen Verfahren bei einem Anbieter. Ein Schatz für jeden Angreifer.

Die Herausforderung: Wer, Womit, Worauf

Alle bisher genannten Anmeldeverfahren sind nicht wirklich "Cloud-tauglich". Kerberos funktioniert im Internet nicht wirklich, eine Abgabe von Anmeldedaten an einen Cloud-Service wird kritisch gesehen und der Zielservice kann überhaupt nicht unterscheiden, welche Client-App auf die Daten zugreifen will. Und hier kommt OAUTH ins Spiel. Es löst gleich mehrere Anforderungen:

  • Kein Trusts
    Alle Informationen werden als OAUTH-Token übermittelt, welches signiert ist. Keines der Systeme muss irgendwie in einem "Verbund" sein, d.h. kein Radius, kein LDAP, kein Kerberos und kein Active Directory. Die Systeme sind "lose" gekoppelt und damit flexibel im Internet verteilt. Jede Rolle kann sogar eine andere Firma bereitstellen
  • Keine Kennwort-Speicherung, Kennwort-Änderung ist unschädlich
    Ich als Anwender besorge mit natürlich mit Authentifizierung bei einem OAUTH-Server das Token. Danach kommt aber kein weiteres Kennwort zum Einsatz, da ich genau genommen zwei Tokens bekomme. Eines kürzer (Stunden) gültiges Authentifizierungstoten für den Zugriff auf den Dienst und ein meist länger (Tage) gültiges Renewal-Token, mit dem ich mir immer wieder ein neues Authentifizierungstoken holen kann. Damit kann ich mich immer weiter durch hangeln. Das Kennwort ist erst erforderlich, wenn das Verlängern eines Tokens nicht mehr möglich ist, z.B. wenn der Service zu lange "offline" war und die Tokens verfallen sind, das Konto gesperrt wurde oder die Berechtigungen entzogen wurden
  • Keine Autorisierung
    Das OAUTH-Token enthält aber noch mehr Informationen als die Information wer ich bin. In einem Kerberos-Ticket sind neben meinem UPN und meiner SID auch noch alle Gruppen aufgeführt in denen ich Mitglied bin. Ein Windows Server kann mit diesem "Schlüsselbund" dann schauen, welche Rechte ich haben. In einem OATUH-Token stehen die Rechte aber direkt unverschlüsselt drin. Der Service muss also gar nichts mehr zusammensuchen, sondern kann direkt die Anfrage und die Berechtigungen aufeinander gegenprüfen und die Anforderung ausführen oder ablehnen.
  • Erkennen der Client Applikation
    Eine ganz neue Komponente kommt mit OAUTH immer dazu: Das Programm, oder neuerdings auch App genannt, nutzt nicht nur das Token des Anwenders zum Zugriff auf den Service sondern muss sich gegenüber dem Service auch identifizieren. Dazu ja jede App eine weltweit eindeutige GUID als Kennzeichen und ein "Secret", welches idealerweise nur die App kennt. Damit kann sich die App dann bei dem Datenserver ebenfalls identifizieren. Damit eröffnet sich für Benutzer aber auch Administratoren und Firmen ein Weg,  Berechtigungen nicht nur über den Anwender sondern auch über die genutzte Applikation zu steuern. Das Thema Conditional Access kommt hier dann ins Spiel.

Der Ablauf ist daher auch etwas aufwändiger:

  1. Der Client verbindet sich wie gehabt mit dem Service
    Der Client "verrät" dabei dass er "Bearer" versteht (HTTP Authentication, Test-Bearer, Bearer Decoding)
  2. Service antwortet mit einer Umleitung auf den OAUTH-Service
  3. Client geht zum OAUTH-Service
    Dabei übermittelt der Client nicht nur die Anmeldedaten es Anwenders sondern auch die Application mit ihrem Secret. Zudem kann auch noch die Client-IP, der Device Status u.a. einbezogen und bei Bedarf sogar auf andere OAUT-Server verwiesen werden, z.B. einen ADFS-Server des Kunden
    Der OAUTH-Server kann nun die Anmeldung von unterschiedlichen Faktoren abhängig machen und stellt das Token aus. Sollte die App noch nicht zugelassen oder registriert sein, dann muss der Anwender oder Administrator dem Zugriff erst zustimmen.
  4. Danach wird dem Client oder der App ein Token übermittelt
  5. Damit kann der Client oder die App dann an den eigentlichen Service zugreifen
    Der Service selbst muss also nur das Token prüfen aber sich selbst sonst um nichts weitere kümmern.
  6. Der Frontend-Service kann dann weiter zum Backend gehen und auch das Token verwenden
    Das Backend muss natürlich dem Frontend vertrauen.
  7. Der Service liefert die Date an den Frontend zurück
  8. Die App kann dann die Daten weiter verarbeiten und an den Client geben.

Das ist nun eine sehr vereinfache Herangehensweise. Merken Sie sich erst einmal, dass der Anwender oder Administrator einer App die Berechtigungen einräumen muss, auf die Daten zuzugreifen. Die App kann dann später auch ohne weitere Mithilfe oder Mitarbeit des Anwenders seine Rechte ausüben.

Allerdings funktioniert das alles nicht mal einfach so. Die Applikation, Webseite und der Service müssen auf OAUTH eingestimmt sein. Das beginnt schon damit, dass der Client bei der Anfrage eine HTTP-Authentication Header vom Typ "Bearer" setzt.

App Registration und Enterprise Registration

Wenn nun aber jedes Programm, welches sich an einem Dienst per OAUTH authentifizieren will, einen entsprechenden App-ID braucht. Wenn wir uns in der Office365/Microsoft365/Azure-Welt bewegen, dann hat jeder Tenant eine "App Registration Database". Die ist Bestandteil ihres Azure Active Directory und jede Software, die allein oder im Auftrag des Benutzers auf Informationen zugreifen will, muss sich ausweisen.

Sie können eine App auf zwei Arten hinzufügen und dann berechtigen:

  • Neue App im eigenen Tenant
    So können sie eigene Apps definieren, indem Sie diese in ihrem Tenant anlegen und die AppID und das konfigurierte AppSecret (Kennwort oder Zertifikat) in ihren Code übernehmen.
  • Fremde App zulassen
    Dienstleister können in ihrem Tenant ebenfalls Apps mit einer eindeutigen GUID anlegen und diese "für alle" verfügbar machen. Sie können dann nach dieser App suchen und diese eintragen und mit Berechtigungen versehen.

Eine Software benötigt aber zumindest in der Microsoft -Welt immer eine App. Damit kann der Authentifizierungsdienst den Zugriff auch an einer Clientsoftware festmachen. Als Administrator können Sie so steuern, dass ein Benutzer z.B. nur mit Outlook sein Postfach öffnen darf und nicht mit Thunderbird oder Evolution.

Dennoch ist es wichtig den Unterschied zu verstehen:

  • Enterprise Apps
    Dies sind in der Regel Applikationen, die andere Hersteller im AzureAD Gallery veröffentlichen und von dem Administrator einfach aktiviert werden können. Ich kann hier z.B. EdX.org schon aktivieren und meine Zustimmung erteilen, ehe der erste Anwender überhaupt die Webseite gefunden hat. Je größer ein Anbieter eines Cloud-Service mit Office 365/Azure-Kopplung ist, desto wahrscheinlicher ist es, dass er eine App entsprechend veröffentlicht hat. Im Juli 2019 waren es 3176 Applikationen und die üblichen Verdächtigen wie Dropbox, Facebook, SalesForce, SAP, Google etc. waren alle mit dabei. Der häufigste Anwendungsfall ist dabei die "Authentifizierung", d.h. der andere Dienst nutzt Azure als Identity-Provider. Es sind auch sehr viele Apps schon "vordefiniert". Verschiedene Office 365 Dienste sind über den gleichen Weg an AzureAD angebunden, z.B. Microsoft Teams, Exchange Online. Intune u.a..

    Sie können hier eigene Applikationen addieren. Um jedoch eigene OnPremise Apps oder Apps außerhalb der Galerie zu addieren, benötigen AzureAD Premium.
  • App Registrations
    Wenn Sie bei Enterprise Apps eine eigene App anlegen wollen, dann werden sie zu den App Registration verlinkt. Hier können Sie als Tenant-Admin selbst Applikationen anlegen, die dann ihre Entwickler programmieren können. Hier können Sie dann auch selbst weitere Berechtigungen vergeben, die von der App genutzt werden kann. Beachten Sie, dass nur Anwender im Tenant, in dem auch die App registriert wurde, diese App nutzen können. Die App hat eine GUID (Client Identifier) und einen Secret, den Sie der App zur Verfügung stellen müssen.

Eine App kann alles sein. Das kann eine Webseite sein, die der Benutzer per Browser aufruft und im Hintergrund sich gegen AzureAD und andere Dienste verbindet. Es kann aber genauso gut ein Windows Service auf eine Server sein oder ein PowerShell-Script oder Programm beim Client. Wichtig ist dabei zu verstehen, dass gewisse Dienste und Schnittstellen wie z.B. die Graph API keine direkte Anmeldung per Benutzername/Kennwort zulassen. Hier müssen Sie ihren Code entsprechend schreiben, dass er eine ClientID hat und als App in Office 365/Azure registriert wird.

Berechtigungen

Auch bei den Berechtigungen gibt es drei Bereiche zu unterscheiden:

Azure Portal Bereich

Owner und Roles

Die hier eingetragenen Personen und Gruppen dürfen die App selbst "verwalten", Das sollten idealerweise nur geschulte Administratoren sein, die das Thema der Apps verstanden habe,

Users and Groups

Bei den "Enterprise Applications" können Sie pro App steuern, welche Benutzer dieses App verwenden dürfen. Es reicht für den Benutzer daher nicht mehr, dass er seine Zugangsdaten kennt.

Permissions

Hier wird dann festgelegt, welche APIs die eigentliche App mit welchen Berechtigungen nutzen darf. Ein App kann also andere Berechtigungen haben, als der Benutzer selbst.

Als Administrator kann ich die rechte nur "vorbereiten" und den Benutzer selbständig entscheiden lassen, ob er die Berechtigungen erteilt.

Ich kann aber auch die Berechtigungen pauschal für die Organisation einstellen, damit die Anwender nicht gestört werden.

Sie sehen hier aber noch weitere Einstellungen:

  • Sign-ins/Usage&Insights/AuditLogs
    Hiermit können Sie ermitteln, wie diese App genutzt wird. Beachten Sie dabei den Datenschutz und Mitbestimmungsrechte
  • Provisioning/Provisioninglogs
    Wenn die App z.B. eine externe Lösung ist, dann ist es sogar möglich, dass dieser Service über eine Schnittstelle z.B. die Benutzer ausliest, die diese App verwenden. So können Sie die Benutzerverwaltung z.B. ineinem gehosteten Faxserver, ERP-Lösung o..ä. hierüber durchführen lassen.

Apps sind also weit mehr als nur ein Hindernis beim Einsatz einer eigenen Lösug sondern das Bindeglied zwischen Diensten in der Cloud und OnPremises

Die Sache mit dem "Consent"

Da englische Word "Consent" fällt immer wieder beim Thema OAUTH. Das Word können Sie schon zu "Konsenz" oder "Übereinstimmung", "Einwilligung" oder "Zustimmung" übersetzen. Eine App kann nämlich nicht mal eben so einfach sie ein "Ticket" für einen Datenzugriff besorgen und viel zu viel Berechtigungen ausüben. Hier muss der Benutzer oder der Administrator für die Firma zustimmen. Es ist tatsächlich so, dass ein Anwender selbst eine "Zustimmung" für seine Daten geben kann. Ein Administrator kann das in Office 365/Azure aber auch für die gesamte Firma abgeben.

Um die Meldung beim Benutzer zu sehen, reicht es eine Webseite zu nutzen, die Office 365/Azure als Authentication Provider nutzt. Ein von mir gerne genutztes Beispiel ist die WebSeite https://edx.org, die kostenfreie Schulungen für Exchange, Teams und viele andere Dinge anbietet. Geld kostet es erst, wenn Sie eine Teilnahmebestätigung bekommen wollen. Auf der Webseite klicken sie oben rechts auf "Register" und wählen dann "Microsoft" aus:

Sie werden dann auf folgende URL umgeleitet, die ich zur Lesbarkeit mal umgebrochen habe

https://login.microsoftonline.com/common/oauth2/authorize?
   msafed=0
   &state=4yCpxVRue5kCxgGnV8XcZVlqstrS0LlY
   &redirect_uri=https://courses.edx.org/auth/complete/azuread-oauth2/
   &response_type=code
   &client_id=5ea2d1b0-1713-4069-a764-1be8f40a6210
   &scope=openid+profile+user_impersonation
   &sso_reload=true

Die so aufgerufene Webseite erwartet natürlich erst mal ihre Anmeldung mit ihrem Office 365 Anmeldedaten. Wenn Sie z.B. mit ADFS intern arbeiten oder Seamless Single Sign On aktiv haben, dann könnte es sein, dass Sie diesen Zwischenschritt gar nicht mehr sehen und direkt angemeldet sind. Nach der Anmeldung sehen Sie einen Dialog, in dem Microsoft ihnen die Applikation und die angeforderten Berechtigungen nennt.

Die Ausgabe kann je nach Bildschirmgröße und Client abweichen. Hier müssen Sie als Anwender zustimmen, wenn Sie der Applikation "EdX.Org" die angezeigten Berechtigungen einräumen wollen. Das ist ein bisschen wie bei den Apps auf Smartphones, die bei der Installation nach Berechtigungen fragen. Wenn Sie zusagen, dann leitet Sie Office 365 wieder zur Rücksprungadresse zurück. EdX.org hat nun die Rechte auf ihrem Benutzer die angeforderten Daten dauerhaft immer wieder auszulesen. Die Applikation legitimiert sich dazu gegenüber Office 365 mit ihrem Application Secret.

Im Anschluss wird EdX.org natürlich noch weitere Daten von ihnen im Dialog abfragen, die Office 365 nicht liefern kann. EdX.org legt bei sich natürlich ein Konto für den Benutzer an, indem es z.B. den Lernfortschritt etc. protokolliert. Die OAUTH-Authentifizierung sorgt ja nur dafür, dass EdX.org ihre Identität prüfen kann und einige Basisdaten bekommt.

Unter der URL sehen sie dann alle Apps, die mit ihrem Konto bislang interagieren können:

Diese Seite gibt es übrigens auch für "Guest Access", d.h. wenn ich mit meinem Benutzer in einem anderen Tenant unterwegs bin, dann sehe dort natürlich die Apps, auf die ich als Gast-Konto entsprechend "Consent" gewährt habe:

Hier ist es dann einfach nur "Groups", weil ich in dem ein oder anderen Microsoft Team unterwegs sein darf.

Getting Started with Microsoft Graph and Consent Permissions
https://youtu.be/yXYzgWWVdSM

Consent für Default Application

Microsoft selbst hat natürlich sehr viele eigene Applikationen, die schon in jedem Tenant vordefiniert sind. Einige davon muss man im Rahmen von Hybrid Modern Authentication erweitern um die eigenen lokalen URLs. Im Dezember 2019 gab es allein in meinem Demo-Tenant schon 259 Applikationen. Ich liest die hier einfach mal auf, damit Google und Co die GUIDs erfassen können.

Get-MsolServicePrincipal | ft DisplayName, AppPrincipalId -AutoSize

DisplayName                                             AppPrincipalId
-----------                                             --------------
Windows Azure Active Directory                          00000002-0000-0000-c000-000000000000
Microsoft.SMIT                                          8fca0a66-c008-4564-a876-ab3ae0fd5cff
Office 365 Configure                                    aa9ecb1e-fd53-4aaa-a8fe-7a54de2c1334
Windows Azure Service Management API                    797f4846-ba00-4fd7-ba43-dac1f8f63013
Microsoft.SupportTicketSubmission                       595d87a1-277b-4c0a-aa7f-44f8a068eafc
Azure Classic Portal                                    00000013-0000-0000-c000-000000000000
Microsoft App Access Panel                              0000000c-0000-0000-c000-000000000000
Microsoft.Azure.GraphExplorer                           0000000f-0000-0000-c000-000000000000
Microsoft Cloud App Security                            05a65629-4c1b-48c1-a78b-804c4abdd4af
Office 365 Exchange Online                              00000002-0000-0ff1-ce00-000000000000
Microsoft Office 365 Portal                             00000006-0000-0ff1-ce00-000000000000
Microsoft Exchange Online Protection                    00000007-0000-0ff1-ce00-000000000000
Office Change Management                                601d4e27-7bb3-4dee-8199-90d47d527e1c
Microsoft.OfficeModernCalendar                          ab27a73e-a3ba-4e43-8360-8bcc717114d8
OfficeClientService                                     0f698dd4-f011-4d23-a33e-b36416dcb1e6
Microsoft Office Web Apps Service                       67e3df25-268a-4324-a550-0de1c7f97287
Microsoft Discovery Service                             6f82282e-0070-4e78-bc23-e6320c5fa7de
Microsoft.ExtensibleRealUserMonitoring                  e3583ad2-c781-4224-9b91-ad15a8179ba0
Office 365 Management APIs                              c5393580-f805-4401-95e8-94b7a6ef2fc2
Groupies Web Service                                    925eb0d0-da50-4604-a19f-bd8de9147958
Sway                                                    905fcf26-4eb7-48a0-9ff0-8dcc7194b5ba
Skype for Business Online                               00000004-0000-0ff1-ce00-000000000000
Automated Call Distribution                             11cd3e2e-fccb-42ad-ad00-878b93575e07
Skype for Business Management Reporting and Analytics   de17788e-c765-4d31-aba4-fb837cfff174
Microsoft Power BI Information Service                  0000001b-0000-0000-c000-000000000000
Microsoft Intune API                                    c161e42e-d4df-4a3d-9b42-e7a3c31f59d4
Microsoft Intune Service Discovery                      9cb77803-d937-493e-9a3b-4b49de3f5a74
ProjectWorkManagement                                   09abbdfd-ed23-44ee-a2d9-a627aa1c90f3
Microsoft Rights Management Services                    00000012-0000-0000-c000-000000000000
Microsoft Office Licensing Service                      8d3a7d3c-c034-4f19-a2ef-8412952a9671
Microsoft Azure Workflow                                00000005-0000-0000-c000-000000000000
Microsoft Seller Dashboard                              0000000b-0000-0000-c000-000000000000
SharePoint Notification Service                         3138fe80-4087-4b04-80a6-8866c738028a
Power BI Service                                        00000009-0000-0000-c000-000000000000
Office 365 Yammer                                       00000005-0000-0ff1-ce00-000000000000
Microsoft Intune                                        0000000a-0000-0000-c000-000000000000
Office 365 SharePoint Online                            00000003-0000-0ff1-ce00-000000000000
Azure Media Service                                     803ee9ca-3f7f-4824-bd6e-0b99d720c35c
Microsoft password reset service                        93625bc8-bfe2-437a-97e0-3d0060024faa
SkypeForBusinessRemotePowershell                        39624784-6cbe-4a60-afbe-9f46d10fdb27
Microsoft Graph                                         00000003-0000-0000-c000-000000000000
Microsoft Intune Enrollment                             d4ebce55-015a-49b5-a083-c84d1797ae8c
O365Account                                             1cda9b54-9852-4a5a-96d4-c2ab174f9edf
PushChannel                                             4747d38e-36c5-4bc3-979b-b0ef74df54d1
Office Shredding Service                                b97b6bd4-a49f-4a0c-af18-af507d1da76c
Office Agent Service                                    5225545c-3ebd-400f-b668-c8d78550d776
AD Hybrid Health                                        6ea8091b-151d-447a-9013-6845b83ba57b
IDML Graph Resolver Service and CAD                     d88a361a-d488-4271-a13f-a83df7dd99c2
Skype for Business OrgAA                                ce933385-9390-45d1-9512-c8d228074e07
DevilFish                                               eaf8a961-f56e-47eb-9ffd-936e22a554ef
Microsoft Azure Data Catalog                            9d3e55ba-79e0-4b7c-af50-dc460b81dca1
ViewPoint                                               8338dec2-e1b3-48f7-8438-20c30a534458
CIWebService                                            e1335bb1-2aec-4f92-8140-0e6e61ae77e5
Call Quality Dashboard                                  c61d67cf-295a-462c-972f-33af37008751
O365 Suite UX                                           4345a7b9-9a63-4910-a426-35363201d503
PowerApps Service                                       475226c6-020e-4fb2-8a90-7a972cbfc1d4
Policy Administration Service                           0469d4cd-df37-4d93-8a61-f8c75b809164
Office 365 Reports                                      507bc9da-c4e2-40cb-96a7-ac90df92685c
Skype Business Voice Fraud Detection and Prevention     b73f62d0-210b-4396-a4c5-ea50c4fab79b
Skype for Business Announcement Service                 a15e8d6c-a224-4c00-937a-4fe7287706d1
Azure ESTS Service                                      00000001-0000-0000-c000-000000000000
Skype for Business Name Dictionary Service              e95d8bee-4725-4f59-910d-94d415da51b9
Microsoft Flow Portal                                   6204c1d1-4712-4c46-a7d9-3ed63d992682
Microsoft Flow Service                                  7df0a125-d3be-4c96-aa54-591f83ff541c
PowerAppsService                                        331cc017-5973-4173-b270-f0042fddfd75
Microsoft Teams Services                                cc15fd57-2c6c-4117-a88c-83b1d56b4bbe
Microsoft Teams Web Client                              5e3ce6c0-2b1f-4285-8d4b-75ee78787346
Microsoft Teams                                         1fec8e78-bce4-4aaf-ab1b-5451cc387264
Permission Service O365                                 6d32b7f8-782e-43e0-ac47-aaad9f4eb839
Skype Teams Firehose                                    cdccd920-384b-4a25-897d-75161a4b74c1
Skype Team Substrate connector                          1c0ae35a-e2ec-4592-8e08-c40884656fa5
Microsoft Teams Settings Store                          cf6c77f8-914f-4078-baef-e39a5181158b
Microsoft Teams Bots                                    64f79cb9-9c82-4199-b85b-77e35b7dcbcb
EnterpriseAgentPlatform                                 441509e5-a165-4363-8ee7-bcf0b7d26739
O365 Secure Score                                       8b3391f4-af01-4ee8-b4ea-9871b2499735
OneProfile Service                                      b2cc270f-563e-4d8a-af47-f00963a71dcd
Dynamics 365 Business Central                           996def3d-b36c-4153-8607-a6fd3c01b89f
Microsoft Invoicing                                     b6b84568-6c01-4981-a80f-09da9a20bbed
ConnectionsService                                      b7912db9-aa33-4820-9d4f-709830fdd78f
O365 UAP Processor                                      df09ff61-2178-45d8-888c-4210c1c7b0b2
Microsoft People Cards Service                          394866fc-eedb-4f01-8536-3ff84b16be2a
O365 Customer Monitoring                                3aa5c166-136f-40eb-9066-33ac63099211
Microsoft Service Trust                                 d6fdaa33-e821-4211-83d0-cf74736489e1
Microsoft.MileIQ.RESTService                            b692184e-b47f-4706-b352-84b288d2d9ee
Microsoft.MileIQ                                        a25dbca8-4e60-48e5-80a2-0664fdb5c9b6
Microsoft.MileIQ.Dashboard                              f7069a8d-9edc-4300-b365-ae53c9627fc4
Azure Information Protection                            5b20c633-9a48-4a5f-95f6-dae91879051f
Office 365 YammerOnOls                                  c26550d6-bc82-4484-82ca-ac1c75308ca3
OneDrive Web                                            33be1cef-03fb-444b-8fd3-08ca1b4d803f
Microsoft SharePoint Online - SharePoint Home           dcad865d-9257-4521-ad4d-bae3e137b345
OfficeGraph                                             ba23cd2a-306c-48f2-9d62-d3ecd372dfe4
Microsoft Partner Center                                fa3d9a0c-3fb0-42cc-9193-47c7ecd2edbd
OneNote                                                 2d4d3d8e-2be3-4bef-9f87-7875a61c29de
OfficeServicesManager                                   9e4a5442-a5c9-4f6f-b03f-5b9fcaaf24b1
Microsoft Demos                                         673199fa-4e50-46fc-bfd7-efbfb04b6d6e
Protection Center                                       80ccca67-54bd-44ab-8625-4b79c4dc7775
Azure Portal                                            c44b4083-3bb0-49c1-b47d-974e53cbdf3c
Microsoft.Azure.SyncFabric                              00000014-0000-0000-c000-000000000000
MSXFAQ App1                                             b7215109-d7fa-42b4-86dd-26a42f5b9301
Skype Preview                                           265c1aa2-645f-420b-a808-95a27fbf147c
Skype for Business                                      7557eb47-c689-4224-abcf-aef9bd7573df
Microsoft Teams AuditService                            978877ea-b2d6-458b-80c7-05df932f3723
Microsoft Teams Mailhook                                51133ff5-8e0d-4078-bcca-84fb7f905b64
Microsoft Teams Chat Aggregator                         b1379a75-ce5e-4fa3-80c6-89bb39bf646c
Exchange Office Graph Client for AAD - Interactive      6da466b6-1d13-4a2c-97bd-51a99e8d4d74
Microsoft Forms                                         c9a559d2-7aab-4f13-a6ed-e7e9c52aec87
Azure AD Application Proxy                              47ee738b-3f1a-4fc7-ab11-37e4822b007e
Microsoft AppPlat EMA                                   dee7ba80-6a55-4f3b-a86c-746a9231ae49
Common Data Service                                     82f77645-8a66-4745-bcdf-9706824f9ad0
Device Registration Service                             01cb2876-7ebd-4aa4-9cc9-d28bd4d359a9
MS-PIM                                                  01fc33a7-78ba-4d2f-a4b7-768e336e890e
Microsoft Teams Wiki Images Migration                   823dfde0-1b9a-415a-a35a-1ad34e16dd44
MARS                                                    37ccb541-667a-4428-947a-f5dda698fa3c
Microsoft Approval Management                           65d91a3d-ab74-42e6-8a2f-0add61688c74
Microsoft Teams AuthSvc                                 a164aee5-7d0a-46bb-9404-37421d58bdf7
Jarvis Transaction Service                              bf9fc203-c1ff-4fd4-878b-323642e462ec
Office Delve                                            94c63fef-13a3-47bc-8074-75af8c65887a
Cortana at Work Service                                 2a486b53-dbd2-49c0-a2bc-278bdfc30833
Microsoft Stream Service                                2634dd23-5e5a-431c-81ca-11710d9079f4
Exchange Office Graph Client for AAD - Noninteractive   765fe668-04e7-42ba-aec0-2c96f1d8b652
Microsoft B2B Admin Worker                              1e2ca66a-c176-45ea-a877-e87f7231e0ee
Microsoft Invitation Acceptance Portal                  4660504c-45b3-4674-a709-71951a6b0763
Skype Business Voice Directory                          27b24f1f-688b-4661-9594-0fdfde972edc
Signup                                                  b4bddae8-ab25-483e-8670-df09b9f1d0ea
Windows Store for Business                              45a330b1-b1ec-4cc1-9161-9f03992aa49f
O365 Demeter                                            982bda36-4632-4165-a46a-9863b1bbcf7d
AAD Request Verification Service - PROD                 c728155f-7b2a-4502-a08b-b8af9b269319
AzureSupportCenter                                      37182072-3c9c-4f6a-a4b3-b3f91cacffce
MCAPI Authorization Prod                                d73f4b35-55c9-48c7-8b10-651f6f2acb2e
Demeter.WorkerRole                                      3c31d730-a768-4286-a972-43e9b83601cd
Microsoft To-Do                                         2087bd82-7206-4c0a-b305-1321a39e5926
Microsoft Stream Portal                                 cf53fce8-def6-4aeb-8d30-b158e7b1cf83
Microsoft Stream Mobile Native                          844cca35-0656-46ce-b636-13f48b0eecbd
Cortana at Work Bing Services                           22d7579f-06c2-4baa-89d2-e844486adb9d
IPSubstrate                                             4c8f074c-e32b-4ba7-b072-0f39d71daf51
Centralized Deployment                                  257601fd-462f-4a21-b623-7f719f0f90f4
O365SBRM Service                                        9d06afd9-66c9-49a6-b385-ea7509332b0b
Bing                                                    9ea1ad79-fdb6-4f9a-8bc3-2b70f96e34c7
Outlook Online Add-in App                               bc59ab01-8403-45c6-8796-ac3ef710b3e3
Targeted Messaging Service                              4c4f550b-42b2-4a16-93f9-fdb9e01bb6ed
Connectors                                              48af08dc-f6d2-435f-b2a7-069abd99c086
Service Encryption                                      dbc36ae1-c097-4df9-8d94-343c3d091a76
Cortana Experience with O365                            0a0a29f9-0a25-49c7-94bf-c53c3f8fa69d
Microsoft StaffHub                                      aa580612-c342-4ace-9055-8edee43ccb89
Microsoft Flow CDS Integration Service                  0eda3b13-ddc9-4c25-b7dd-2f6ea073d6b7
Microsoft Flow CDS Integration Service TIP1             eacba838-453c-4d3e-8c6a-eb815d3469a3
Microsoft Teams AadSync                                 62b732f7-fc71-40bc-b27d-35efcb0509de
Microsoft Teams Task Service                            d0597157-f0ae-4e23-b06c-9e65de434c4f
Microsoft Teams Graph Service                           ab3be6b7-f5df-413d-ac2d-abf1e3fd9c0b
Call Recorder                                           4580fd1d-e5a3-4f56-9ad1-aab0e3bf8f76
Microsoft Teams VSTS                                    a855a166-fd92-4c76-b60d-a791e0762432
Microsoft Teams RetentionHook Service                   f5aeb603-2a64-4f37-b9a8-b544f3542865
MicrosoftTeamsCortanaSkills                             2bb78a2a-f8f1-4bc3-8ecf-c1e15a0726e6
Federated Profile Service                               7e468355-e4db-46a9-8289-8d414c89c43c
Microsoft Teams User Profile Search Service             a47591ab-e23e-4ffa-9e1b-809b9067e726
Azure Analysis Services                                 4ac7d521-0382-477b-b0f8-7e1d95f85ca2
Power BI Premium                                        cb4dc29f-0bf4-402a-8b30-7511498ed654
Microsoft Mobile Application Management Backend         354b5b6d-abd6-4736-9f51-1be80049b91f
Microsoft Mobile Application Management                 0a5f63c0-b750-4f38-a71c-4fc0d58b89e2
SharePoint Online Client Extensibility                  c58637bb-e2e1-4312-8a00-04b5ffcd3403
OfficeFeedProcessors                                    98c8388a-4e86-424f-a176-d1288462816f
SharePoint Online Client                                57fb890c-0dab-4253-a5e0-7188c88b2bb4
Yggdrasil                                               78e7bc61-0fab-4d35-8387-09a8d2f5a59d
Microsoft Teams Web Client                              e1829006-9cf1-4d05-8b48-2e665cb48e6a
Skype Teams Calling API Service                         26a18ebc-cdf7-4a6a-91cb-beb352805e81
Microsoft Information Protection Sync Service           870c4f2e-85b6-4d43-bdda-6ed9a579b725
Power Query Online                                      f3b07414-6bf4-46e6-b63f-56941f3f4128
Microsoft Intune Advanced Threat Protection Integration 794ded15-70c6-4bcd-a0bb-9b7ad530a01a
Common Data Service                                     00000007-0000-0000-c000-000000000000
Microsoft.Azure.DataMarket                              00000008-0000-0000-c000-000000000000
Microsoft.DynamicsMarketing                             9b06ebd4-9068-486b-bdd2-dac26b8a5a7a
Microsoft Social Engagement                             e8ab36af-d4be-4833-a38b-4d6cf1cfd525
Microsoft Parature Dynamics CRM                         8909aac3-be91-470c-8a0b-ff09d669af91
Microsoft Customer Engagement Portal                    71234da4-b92f-429d-b8ec-6e62652e50d7
Dynamics Lifecycle services                             913c6de4-2a4a-4a61-a9ce-945d2b2ce2e0
Data Export Service for Microsoft Dynamics 365          b861dbcc-a7ef-4219-a005-0e4de4ea7dcf
Microsoft Dynamics CRM Learning Path                    2db8cb1d-fb6c-450b-ab09-49b6ae35186b
Dynamics Data Integration                               2e49aa60-1bd3-43b6-8ab6-03ada3d9f08b
Skype Presence Service                                  1e70cd27-4707-4589-8ec5-9bd20c472a46
Skype for Business Voicemail                            db7de2b5-2149-435e-8043-e080dd50afae
App Studio for Microsoft Teams                          e1979c22-8b73-4aed-a4da-572cc4d0b832
Discovery Service                                       d29a4c00-4966-492a-84dd-47e779578fb7
Microsoft Teams - Teams And Channels Service            b55b276d-2b09-4ad2-8de5-f09cf24ffba9
Microsoft Teams - Device Admin Agent                    87749df4-7ccf-48f8-aa87-704bad0e0e16
Microsoft Device Directory Service                      8f41dc7c-542c-4bdd-8eb3-e60543f607ca
OCPS Checkin Service                                    23c898c1-f7e8-41da-9501-f16571f8d097
OCPS Admin Service                                      f416c5fc-9ac4-4f66-a8e5-cb203139cbe4
Dynamics Provision                                      39e6ea5b-4aa4-4df2-808b-b6b5fb8ada6f
PowerApps-Advisor                                       c9299480-c13a-49db-a7ae-cdfe54fe0313
SalesInsightsWebApp                                     b20d0d3a-dc90-485b-ad11-6031e769e221
Microsoft Dev Center                                    4990cffe-04e8-4e8b-808a-1175604b879f
EdX.org                                                 5ea2d1b0-1713-4069-a764-1be8f40a6210
Microsoft Office Licensing Service Agents               d7097cd1-c779-44d0-8c71-ab1f8386a97e
Office 365 Import Service                               3eb95cef-b10f-46fe-94e0-969a3d4c9292
O365 LinkedIn Connection                                f569b9c7-be15-4e87-86f7-87d30d02090b
SAP HANA                                                82e720f8-2ccf-43cd-b9b8-859343ee63d6
MicrosoftAzureActiveDirectoryIntegratedApp              af47b99c-8954-4b45-ab68-8121157418ef
Microsoft Teams UIS                                     1996141e-2b07-4491-927a-5a024b335c78
Microsoft Whiteboard Services                           95de633a-083e-42f5-b444-a4295d8e9314
IAM Supportability                                      a57aca87-cbc0-4f3c-8b9e-dc095fdc8978
Office Enterprise Protection Service                    55441455-2f54-42b5-bc99-93e21cd4ae28
NoSpamProxy Integration                                 57e3b30c-4cc6-4731-bb73-d3d2fdf8e6e4
Microsoft Kaizala                                       dc3294af-4679-418f-a30c-76948e23fe1c
Skype for Business Application Configuration Service    00f82732-f451-4a01-918c-0e9896e784f9
AAD App Management                                      f0ae4899-d877-4d3c-ae25-679e38eea492
Microsoft Information Protection API                    40775b29-2688-46b6-a3b5-b256bd04df9f
Intune oAuth Graph                                      0f6e3eff-886c-4f7a-a1d7-6f1f0177273b
Data Classification Service                             7c99d979-3b9c-4342-97dd-3239678fb300
Substrate Instant Revocation Pipeline                   eace8149-b661-472f-b40d-939f89085bd4
Office365 Zoom                                          0d38933a-0bbd-41ca-9ebd-28c4b5ba7cb7
Office 365 Client Admin                                 3cf6df92-2745-4f6f-bbcf-19b59bcdb62a
Graph Connector Service                                 56c1da01-2129-48f7-9355-af6d59d42766
MileIQ Admin Center                                     de096ee1-dae7-4ee1-8dd5-d88ccc473815
Cortana Runtime Service                                 81473081-50b9-469a-b9d8-303109583ecb
Microsoft Substrate Management                          98db8bd6-0cc0-4e67-9de5-f187f1cd1b41
Kaizala Sync Service                                    d82073ec-4d7c-4851-9c5d-5d97a911d71d
Microsoft To-Do                                         c830ddb0-63e6-4f22-bd71-2ad47198a23e
Microsoft Office Licensing Service vNext                db55028d-e5ba-420f-816a-d18c861aefdf
OCaaS Client Interaction Service                        c2ada927-a9e2-4564-aae2-70775a2fa0af
Microsoft Teams ADL                                     30e31aeb-977f-4f4f-a483-b61e8377b302
MS Teams Griffin Assistant                              c9224372-5534-42cb-a48b-8db4f4a3892e
KaizalaActionsPlatform                                  9bb724a5-4639-438c-969b-e184b2b1e264
ReportReplica                                           f25a7567-8ec5-4582-8a65-bfd66b0530cc
DeploymentScheduler                                     8bbf8725-b3ca-4468-a217-7c8da873186e
Intune CMDeviceService                                  14452459-6fa6-4ec0-bc50-1528a1a06bf0
Intune DeviceActionService                              18a4ad1e-427c-4cad-8416-ef674e801d32
Microsoft Intune Checkin                                26a4ae64-5862-427f-a9b0-044e62572a4f
ComplianceWorkbenchApp                                  92876b03-76a3-4da8-ad6a-0511ffdf8647
Reply-At-Mention                                        18f36947-75b0-49fb-8d1c-29584a55cac5
Microsoft Exact Data Match Upload Agent                 b51a99a9-ccaa-4687-aa2c-44d1558295f4
Microsoft Exact Data Match Service                      273404b8-7ebc-4360-9f90-b40417f77b53
SharePoint Notification Service                         88884730-8181-4d82-9ce2-7d5a7cc7b81e
Media Analysis and Transformation Service               0cd196ee-71bf-4fd6-a57c-b491ffd4fb1e
Microsoft Dynamics 365 Apps Integration                 44a02aaa-7145-4925-9dcd-79e6e1b94eff
Power Query Online GCC-L2                               939fe80f-2eef-464f-b0cf-705d254a2cf2
ISV Portal                                              c6871074-3ded-4935-a5dc-b8f8d91d7d06
PowerAI                                                 8b62382d-110e-4db8-83a6-c7e8ee84296a
AI Builder Authorization Service                        ad40333e-9910-4b61-b281-e3aeeb8c3ef3
Export to data lake                                     7f15f9d9-cad0-44f1-bbba-d36650e07765
Graph explorer                                          de8bc8b5-d9f9-48b1-a8ad-b748da725064
Modern Workplace Tools (Service)                        cdb1c100-cbe5-4a62-acb0-0a2ad77f698e
Modern Workplace Tools                                  fe6aa35b-7da8-44fd-a44e-e2d4bafbdab5
Microsoft Azure AD Identity Protection                  a3dfc3c6-2c7d-4f42-aeec-b2877f9bce97
AudioCodes Skype for Business IP Phones                 da7b5888-f76d-4244-9688-afac90a03d49
Skype and Teams Tenant Admin API                        48ac35b8-9aa8-4d74-927d-1f4a14a0b239
Azure AD Identity Protection                            fc68d9e5-1f76-45ef-99aa-214805418498
StreamToSubstrateRepl                                   607e1f95-b519-4bac-8a15-6196f40e8977
Microsoft Teams Partner Tenant Administration           0c708d37-30b2-4f22-8168-5d0cba6f37be
Teams User Engagement Profile Service                   0f54b75d-4d29-4a92-80ae-106a60cd8f5d
Teams ACL management service                            6208afad-753e-4995-bbe1-1dfd204b3030
IC3 Long Running Operations Service                     21a8a852-89f4-4947-a374-b26b2db3d365
Microsoft Teams Retail Service                          75efb5bc-18a1-4e7b-8a66-2ad2503d79c6
Directory and Policy Cache                              7b58f833-4438-494c-a724-234928795a67
Teams Application Gateway                               8a753eec-59bc-4c6a-be91-6bf7bfe0bcdf
Microsoft Intune AndroidSync                            d8877f27-09c0-43aa-8113-40151dae8b14
Microsoft Fluid Framework Preview                       660d4be7-2665-497f-9611-a42c2668dbce
Office Scripts Service                                  62fd1447-0ef3-4ab7-a956-7dd05232ecc1
Common Data Service License Management                  1c2909a7-6432-4263-a70d-929a3c1f9ee5
MicrosoftAzureADFulfillment                             f09d1391-098c-47d7-ac7e-6ed2afc5016b

Content mit Google

Die Anmeldung per OAuth als App an einem Service finden Sie aber auch in anderer Richtung. Ich habe in Outlook 2016 ein Google-Konto eingebunden, welches sich per IMAP4 an Google anmelden möchte. Dort ist aber die Zwei-Faktor-Authentifizierung aktiv. Daher zeigt Outlook bei der Anmeldung quasi ein "Google Anmeldefenster" im Browser an, über welches ich dann "Microsoft apps & services" die Rechte einräume, auf meine Informationen in Google zuzugreifen.

Natürlich möchte ich das, aber es bedeutet im gleichen Zuge auch, dass ich natürlich Outlook als solches vertrauen. Das ist soweit nicht schlimm, da ansonsten ja Outlook sogar mein Kennwort im Klartext von mir angefordert hätte und für jede Folgeverbindung wieder benötigt. Auf der anderen Seite "vertraut" damit aber Google den OAUTH-Tokens, die von der Applikation "Microsoft apps & services" eingesetzt werden.

Berechtigungen kontrollieren

Auf der Bestätigungsseite von Microsoft finden Sie aber auch den Link zu https://myapps.microsoft.com. Über diesen Link, der von Office 365 auf https://account.activedirectory.windowsazure.com/r#/applications weiter geleitet wird, kann der Anwender alle Applikationen sehen, die er berechtigt hat. Interessanter ist aber der Blick auf das Azure-Portal, welche auch ein Anwender öffnen kann. Der Direkte Einstieg ist dann

Suchen Sie hier nach EDX und wie werden den Eintrag mit den Berechtigungen finden.

Über denk Link "edx.org" sehen Sie dann auch die genau delegierten Berechtigungen. Ich habe hier die "Zustimmung des Benutzers" angezeigt. Sie sehen aber auch, dass der Administrator hier die Zustimmung für den gesamten Tenant bestätigen kann. Dann unterbleibt die Anfrage beim Anwender.

Hierbei handelt es sich aber nun um eine Unternehmensapp und nicht um eine App Registration. Beide haben aber mit OAUTH zu tun.

OAuth und OnPremises

Dass OAuth für Office 365 und andere Cloud Applikationen der richtige Weg, ist unbestritten . Genau genommen ist OAuth auch für selbst betriebene Applikationen und Services ein geeigneter Weg zu mehr Sicherheit. Es gibt hier sogar zwei Varianten:

  1. OAuth ohne Office 365
    Sie bauen hierzu sich dann selbst lokal die OAuth-Services auf
  2. OAuth mit Hybrid
    Sie können aber auch den Client dazu bringen, sich beim AzureAD-Service ein Ticket zu besorgen und sich damit anzumelden. Sie können dann alle Möglichkeiten von AzureAD, also z.B. auch Conditional Access und MFA nutzen.
  3. OAuth mit Azure AD Application Proxy
    Bei diesem Sonderfall können Sie interne Webdienste über die Azure Cloud veröffentlichen. Die Web Application Firewall kann per OAUTH die Preauthentifizierung übernehmen und dann sich gegen den internen Server über verschiedene Optionen weiter authentifizieren.

Übrigens richtet auch der Exchange Hybrid Wizard für die Federation zwischen Exchange Online und Exchange OnPremises eine Authentifizierung per OAUTH ein.

Test-OAuthConnectivity `
   -Service EWS -TargetUri https://<kundenserver>/ews/exchange.asmx `
   -Mailbox user@kunde.de `
   -Verbose `
| fl

Weitere Links