Was ist OAuth? | SAML vs. OAuth

OAuth ist ein Protokoll zur Erweiterung der Benutzerautorisierung über mehrere Anwendungen hinweg, ohne dass die Identitäts-Authentifizierungsdaten des Benutzers mit diesen Anwendungen geteilt werden.

Share facebook icon linkedin icon twitter icon email icon

OAuth

Lernziele

Nach Lektüre dieses Artikels können Sie Folgendes:

  • Verstehen, was OAuth ist und wie es funktioniert
  • Den Unterschied zwischen Authentifizierung und Autorisierung erkunden
  • SAML mit OAuth vergleichen

Was ist OAuth? | SAML vs. OAuth

OAuth ist ein technischer Standard für die Autorisierung von Benutzern. Es handelt sich dabei um ein Protokoll zur Weitergabe einer Autorisierung von einem Dienst zu einem anderen, ohne die eigentlichen Anmeldedaten des Benutzers, wie z. B. Benutzername und Passwort, weiterzugeben. Mit OAuth kann sich ein Benutzer auf einer Plattform anmelden und ist dann berechtigt, auf einer anderen Plattform Aktionen durchzuführen und Daten abzurufen.

OAuth ermöglicht es, eine Autorisierung von einer Anwendung auf eine andere zu übertragen, unabhängig davon, worum es sich bei den beiden Anwendungen handelt. OAuth ist eine der häufigsten Methoden, um die Autorisierung von einem Single-Sign-On (SSO)-Dienst an eine andere Cloud-Anwendung weiterzugeben, sie kann aber auch zwischen zwei beliebigen Anwendungen verwendet werden. Auch andere Protokolle können diese Funktion erfüllen, jedoch ist OAuth eines der am weitesten verbreiteten Protokolle.

Stellen Sie sich vor, ein Besucher kommt in ein Haus, während der Hausbesitzer nicht da ist, und anstatt dem Besucher einen echten Hausschlüssel zu schicken, schickt ihm der Besitzer einen temporären Code für einen kleinen Safe, der den Schlüssel enthält. OAuth arbeitet auf ähnliche Art und Weise. Bei OAuth sendet eine Anwendung einer anderen ein Autorisierungstoken, um einem Benutzer Zugriff zu gewähren, anstatt die eigentlichen Anmeldedaten des Benutzers zu senden.

Wie funktionieren OAuth-Autorisierungstoken?

Nehmen wir an, Alice möchte auf die Cloud-Datei-Speicheranwendung ihres Unternehmens zugreifen. Sie hat sich zwar bereits im SSO ihres Unternehmens angemeldet, aber sie hat an diesem Tag noch nicht auf die Datei-Speicheranwendung zugegriffen. Wenn sie die Datei-Speicheranwendung öffnet, beantragt die Anwendung die Genehmigung für Alice von ihrem SSO, anstatt sie einfach hineinzulassen.

Im Gegenzug sendet das SSO ein OAuth-Autorisierungstoken an die Anwendung. Das Token enthält Informationen darüber, welche Privilegien Alice innerhalb der Anwendung haben darf. Außerdem ist das Token zeitlich begrenzt: Nach einer bestimmten Zeit läuft es ab und Alice muss sich erneut bei ihrem SSO anmelden.

OAuth-Tokens werden in der Regel über HTTPS gesendet, d. h. sie werden verschlüsselt. Sie werden auf Layer 7 des OSI-Modells gesendet.

Wofür wird OAuth verwendet?

OAuth kann sowohl für die Autorisierung von Benutzern als auch für den teilweisen Zugriff einer Anwendung auf eine andere Anwendung verwendet werden. Ein häufig anzutreffender Anwendungsfall ist, einer App den Zugriff auf eine Social-Media-Plattform oder ein anderes Online-Konto zu ermöglichen. Google-Benutzerkonten können in viele verschiedene Verbraucheranwendungen integriert werden, z. B. Blogging-Plattformen, Nachrichten-Websites sowie zahlreiche Online-Spiele. In diesen Fällen wird das OAuth-Protokoll hinter den Kulissen verwendet, um diesen externen Apps den Zugriff auf die notwendigen Daten von Google zu ermöglichen.

In Unternehmen tritt der häufigste Anwendungsfall für OAuth in Verbindung mit Identitäts- und Zugriffsmanagementsystemen (IAM) auf. Die Benutzer können über OAuth für die Nutzung einer Anwendung autorisiert werden. Beispielsweise kann sich ein Mitarbeiter mit seinem Benutzernamen und Passwort am SSO-System seines Unternehmens anmelden. Dieses SSO-System gibt ihm dann Zugriff auf alle Anwendungen, die er für seine Arbeit benötigt, indem es OAuth-Autorisierungstoken an diese Apps weitergibt.

OAuth ist eines von mehreren Autorisierungsprotokollen, die heute in Verwendung sind. Diese Autorisierungsprotokolle sind notwendig, weil es eine Möglichkeit geben muss, Autorisierungsinformationen zwischen Anwendungen zu versenden, ohne die Anmeldedaten der Benutzer preiszugeben. Einige Plattformen haben ihre eigenen Autorisierungsmethoden entwickelt: Facebook bietet zum Beispiel Facebook Connect an.

Was ist OAuth 2.0?

OAuth 2.0 ist die neueste Version von OAuth. Die erste Version von OAuth wurde 2010 ausgegeben. OAuth 2.0 wurde 2012 veröffentlicht und behebt eine Reihe von Schwachstellen, die in OAuth 1.0 vorhanden waren.

SAML vs. OAuth: Was ist der Unterschied zwischen Authentifizierung und Autorisierung?

Autorisierung und Authentifizierung hören sich zwar ähnlich an, sind aber im Rahmen des Zugangsmanagements verschiedene Dinge. Und der Unterschied zwischen ihnen ist sehr wichtig, um zu verstehen, wie die Technologie des Zugangsmanagements (einschließlich OAuth) funktioniert. Die Authentifizierung hat mit der Identität des Benutzers zu tun, während sich die Autorisierung auf die Berechtigungen des Benutzers bezieht.

Stellen Sie sich vor, Bob arbeitet in einer gesicherten Anlage, mit einem Wachhaus an der Einfahrt. Alle Fahrzeuge, die in die Anlage einfahren, müssen am Wachhaus halten, und nur bekannte Mitarbeiter haben Zutritt. Das Wachhaus ist der Ort, an dem die Benutzerauthentifizierung stattfindet: Die Sicherheitskräfte vergleichen Bobs Mitarbeiterausweis mit einer Liste der Angestellten und überprüfen sein Kfz-Kennzeichen mit einer Liste der zugelassenen Fahrzeuge. Wenn sie ihn und sein Fahrzeug authentifizieren können, darf er einfahren und auf dem Parkplatz der Anlage parken.

Allerdings, nur weil Bob in die Anlage fahren darf, heißt das nicht, dass er sein Fahrzeug überall parken kann, wo er will. Stattdessen gibt es für jeden Mitarbeitertyp ausgewiesene Parkplätze. Bob darf nur auf dem ihm zugewiesenen Parkplatz parken; er darf z. B. nicht sein Fahrzeug auf dem Parkplatz des CEOs abstellen.

OAuth ist ein Protokoll für die Autorisierung: Es stellt sicher, dass Bob auf den richtigen Parkplatz fährt. Im Gegensatz dazu ist die Security Assertion Markup Language (SAML) ein Protokoll für die Authentifizierung bzw. dafür, dass Bob am Wachhaus vorbeikommt.

Ein Identitätsanbieter (IdP) oder SSO-Dienst kann beide in Verbindung miteinander oder OAuth allein verwenden (obwohl die Verwendung von OAuth zur Authentifizierung als „Pseudo-Authentifizierung“ betrachtet wird).

Zusammenfassend gesagt: SAML und OAuth sind unterschiedliche Protokolle und werden für unterschiedliche Zwecke verwendet, aber beide werden häufig mit SSO eingesetzt.

Bietet Cloudflare eine Benutzerauthentifizierung oder -autorisierung?

Die Produktsuite Cloudflare for Teams bietet derzeit keine Benutzerauthentifizierung – z. B. einen SSO-Dienst – aber sie beinhaltet Cloudflare Access, mit dem Organisationen Benutzerzugriff und Berechtigungen verwalten können. Cloudflare Access ermöglicht, die Benutzerautorisierung ohne die Verwendung eines virtuellen privaten Netzwerks (VPN) zu verwalten.

Cloudflare Access lässt sich mit einer Vielzahl von SSO-Providern und sogar mit mehreren SSOs integrieren, wodurch es einfacher wird, externen Agenturen und Auftragnehmern den Systemzugang zu ermöglichen. Um mehr zu erfahren, lesen Sie diesen Blog-Beitrag über Multi-SSO mit Cloudflare Access.