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.
- Der Client sendet die Anmeldedaten an
den Server
Die Daten sind im Klartext und maximal per HTTPS/TLS transportverschlüsselt - Der Server lässt die Daten verifizieren
Dazu sendet er diese z.B. an eine lokale Benutzerdatenbank, einen Radius-Server oder ein AD. - Der Authentifizierungservice prüft
Und liefert dem Server die Information, ob die Anmeldedaten korrekt sind - 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.
- Der Client geht zum Server
- Der Server liefert den Fehler, dass er sich per Kerberos anmelden soll
- Der Client fragt den KDC
Wir gehen davon aus, dass der Client schon authentifiziert ist - 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 - 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.
- Der Client geht zum Server und meldet
sich an
Das kann über eines der bisher genannten Anmeldeverfahren, z.B. NTLM, Kerberos erfolgen - Der Service geht nun zum KDC
Er forder ein Ticket im Namen des Benutzers für den Zugriff auf den Datenserver an - 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 - Service geht zum Datenserver
Nun kann der Service z.B. zum SQL-Server gehen - 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 - 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.
- Anwender sendet Anmeldedaten
Das funktioniert nur, wenn der Anwender seinen Benutzername und Kennwort an den blauen Service übergibt - Service geht an Datenserver
Nun kann z.B. die Webseite sich mit den erhaltenen Anmeldedaten beim Datenserver anmelden - Datenserver prüft Anmeldung
z.B. gegen einen Domaincontroller oder auch eine lokale Authentifizierungsinstanz - Anmeldedaten sind gültig
- Datenserver liefert gewünscht Daten der Anfrage
- 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:
- Der Client verbindet sich wie gehabt mit dem Service
Der Client "verrät" dabei dass er "Bearer" versteht (HTTP Authentication, Test-Bearer, Bearer Decoding) - Service antwortet mit einer Umleitung auf den OAUTH-Service
- 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. - Danach wird dem Client oder der App ein Token übermittelt
- 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. - Der Frontend-Service kann dann weiter
zum Backend gehen und auch das Token
verwenden
Das Backend muss natürlich dem Frontend vertrauen. - Der Service liefert die Date an den Frontend zurück
- 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.
- App Registration
https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-v1-add-azure-ad-app - Integrating an Enterprise application
(G-Suite)
https://docs.microsoft.com/en-us/azure/active-directory/saas-apps/google-apps-tutorial
Berechtigungen
Auch bei den Berechtigungen gibt es drei Bereiche zu unterscheiden:
Azure Portal | Bereich |
---|---|
Owner und RolesDie 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 GroupsBei 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. |
|
PermissionsHier 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 On-Premises
- Tutorials zur Integration von SaaS-Anwendungen
in Azure Active Directory
https://docs.microsoft.com/de-de/azure/active-directory/saas-apps/tutorial-list
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.
https://account.activedirectory.windowsazure.com/
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.
- Phishing mit Consent-Anforderung
- Microsoft Graph permissions reference
https://docs.microsoft.com/de-de/graph/permissions-reference - Microsoft identity platform access
tokens: Claims in access tokens
https://docs.microsoft.com/en-us/azure/active-directory/develop/access-tokens#claims-in-access-tokens
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
- Getting Started with Azure Active
Directory
https://blogs.msdn.microsoft.com/besidethepoint/2012/10/23/getting-started-with-azure-active-directory/
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
https://portal.azure.com/#blade/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/AllApps/menuId/
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 On-Premises
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:
- OAuth ohne Office 365
Sie bauen hierzu sich dann selbst lokal die OAuth-Services auf - 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. - 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 On-Premises eine Authentifizierung per OAUTH ein.
Test-OAuthConnectivity ` -Service EWS -TargetUri https://<kundenserver>/ews/exchange.asmx ` -Mailbox user@kunde.de ` -Verbose ` | fl
- Exchange OAuth
- Exchange Partner Application
- Exchange Online Authentifizierung
- Hybrid Modern Authentication overview
and prerequisites for using it with On-Premises
Skype for Business and Exchange servers
https://docs.microsoft.com/en-us/office365/enterprise/hybrid-modern-auth-overview - How to configure Exchange Server On-Premises
to use Hybrid Modern Authentication
https://docs.microsoft.com/en-us/office365/enterprise/configure-exchange-server-for-hybrid-modern-authentication - How to configure Skype for Business On-Premises
to use Hybrid Modern Authentication
https://docs.microsoft.com/en-us/office365/enterprise/configure-skype-for-business-for-hybrid-modern-authentication - Hybrid Modern Authentication overview
and prerequisites for using it with On-Premises
Skype for Business and Exchange servers
https://docs.microsoft.com/en-us/office365/enterprise/hybrid-modern-auth-overview#do-you-meet-modern-authentication-prerequisites - Use OAuth on Exchange On-Premises
without Hybrid Modern Authentication
https://practical365.com/exchange-server/configure-hybrid-modern-authentication-for-exchange-server/ - Deep Dive: How Hybrid Authentication
Really Works
https://techcommunity.microsoft.com/t5/Exchange-Team-Blog/Deep-Dive-How-Hybrid-Authentication-Really-Works/ba-p/606780 -
Exchange Specific OAuth 2.0 Protocol
Specification
https://msdn.microsoft.com/en-us/library/hh745374(v=exchg.80).aspx -
Understanding WS-Security
https://msdn.microsoft.com/en-us/library/ms977327.aspx - JSON Web Tokens https://datatracker.ietf.org/doc/rfc7519/?include_text=1
-
Using OAuth2 to access Calendar, Contact
and Mail API in Office 365 Exchange Online
https://blogs.msdn.microsoft.com/exchangedev/2014/03/25/using-oauth2-to-access-calendar-contact-and-mail-api-in-office-365-exchange-online/
Weitere Links
- Authentifizierung im Wandel der Zeit
- Exchange OAuth
- Exchange Online Authentifizierung
- Graph Token
- Graph Berechtigungen
- Graph und Benutzer
- Graph und Kennworte
- Powershell und OAuth
- EWS und OAUTH2
- HTTP Authentication
- Test-Bearer - Schnell prüfen, ob die Gegenseite BEARER anbietet
- Dreimal 401 mit Negotiate
- Fiddler
- Wireshark
- Get-O365Usage
- Exchange Partner Application
- Exchange OAuth
-
Investigate and remediate risky OAuth apps
https://learn.microsoft.com/en-us/defender-cloud-apps/investigate-risky-oauth - Disabling Legacy Authentication in
Exchange Server 2019
https://techcommunity.microsoft.com/t5/Exchange-Team-Blog/Disabling-Legacy-Authentication-in-Exchange-Server-2019/ba-p/712048 - Microsoft doesn't expose permissions to
generate OAuth tokens for Extended MAPI
access to mailboxes
https://docs.microsoft.com/en-us/outlook/troubleshoot/authentication/expose-permissions-issue-with-mapi-oauth-tokens -
OAuth 2.0 and third-party application ID
https://techcommunity.microsoft.com/t5/Skype-for-Business-Blog/OAuth-2-0-and-third-party-application-ID/ba-p/482876 -
Microsoft Online Device Registration with
OAuth 2.0 via 3rd party Azure application ID
http://imaucblog.com/archive/2019/04/26/microsoft-online-device-registration-with-oauth-2-0-via-3rd-party-azure-application-id/ -
OAuth Troubleshooting
https://blogs.technet.microsoft.com/exovoice/2016/02/12/oauth-troubleshooting/ -
EWS and OAuth
https://ingogegenwarth.wordpress.com/2018/08/02/ews-and-oauth/ -
Phishing-Angriff auf Regierungskritiker in
Ägypten – mit Apps aus dem Play Store
https://www.heise.de/security/meldung/Phishing-Angriff-auf-Regierungskritiker-in-Aegypten-mit-Apps-aus-dem-Play-Store-4546470.html
Zweifelhafte Apps fordern Zugriff auf Google und Co er OATH und bekommen So ein "Ticket" und eventuell zu viel Rechte. -
OAuth 2.0 with Outlook.com over IMAP for
installed applications
https://www.limilabs.com/blog/oauth2-outlook-com-imap-installed-applications -
Connect to Outlook.com IMAP using OAuth 2.0
https://msdn.microsoft.com/en-us/windows/desktop/dn440163 -
Using OAuth 2.0 authentication with
Gmail.com and Outlook.com
https://afterlogic.com/docs/mailbee-net-tutorials/oauth/using-oauth-2-0-authentication-with-gmail-com-and-outlook-com -
OAuth 2.0 in Windows, .NET Core, and ASP.NET
MVC apps
https://afterlogic.com/mailbee-net/docs/#OAuth2.html -
Google IMAP4: OAuth 2.0 Libraries and
Samples
https://developers.google.com/gmail/imap/xoauth2-libraries -
Using OAuth 2.0 to Access Google APIs
https://developers.google.com/identity/protocols/OAuth2