Saml vs. OAuth

Saml vs. OAuth
Saml Und OAuth sind technische Standards für die Autorisierung von Benutzern. Diese Standards werden von Webanwendungsentwicklern, Sicherheitsfachleuten und Systemadministratoren verwendet, die ihren Identitätsmanagement -Service verbessern und Methoden verbessern können, auf die Kunden mit einer Reihe von Anmeldeinformationen auf Ressourcen zugreifen können. In Fällen, in denen der Zugriff auf eine Anwendung aus einem Portal benötigt wird. In solchen Fällen ist SAML vorzuziehen. In Fällen, in denen vorübergehender Zugriff auf Ressourcen wie Konten oder Dateien erforderlich ist, wird OAuth als die bessere Wahl angesehen. In mobilen Anwendungsfällen wird OAuth meistens verwendet. Sowohl SAML (Security Assertion and Markup Language) als auch OAuth (Open Authorization) werden für Web-Einzelzeichen verwendet, um die Option für einzelne Anmeldeanmeldungen für mehrere Webanwendungen anzubieten.

Saml

Saml wird verwendet, um die SSO -Anbieter von Webanwendungen zu ermöglichen, Anmeldeinformationen zwischen dem Identitätsanbieter (IDP) zu übertragen und zu verschieben, der die Anmeldeinformationen hält, und dem Dienstanbieter (SP), der die Ressource ist, die diese Anmeldeinformationen benötigt. Saml ist eine Standard -Autorisierungs- und Authentifizierungsprotokollsprache, die hauptsächlich zur Durchführung von Föderation und Identitätsmanagement verwendet wird, zusammen mit einem einzigen Anzeichen für das Management. In Saml, XML -Metadatendokumente werden als Token zur Einreichung der Identität des Kunden verwendet. Die Authentifizierung und Autorisierungsprozess von Saml ist wie folgt:

  1. Der Benutzeranleiht, sich über den Browser im Dienst anzumelden.
  2. Der Dienst informiert den Browser darüber, dass er sich mit einem bestimmten IDP (IDP) mit dem Dienst authentifiziert.
  3. Der Browser leitet die Authentifizierungsanforderung an die registrierten Identitätsanbieter zur Login und Authentifizierung weiter.
  4. Bei einer erfolgreichen Überprüfung von Anmeldeinformationen/Authentifizierung generiert der IDP ein XML-basierter Assertion-Dokument, das die Identität des Benutzers überprüft und diese an den Browser weiterleitet.
  5. Der Browser leitet die Behauptung an den Dienstleister weiter.
  6. Der Dienstanbieter (SP) akzeptiert die Behauptung für den Eintritt und ermöglicht den Benutzerzugriff auf den Dienst.

Lassen Sie uns nun ein Beispiel im wirklichen Leben ansehen. Angenommen, ein Benutzer klickt auf die Anmeldung Option für den Image-Sharing-Service auf der Website ABC.com. Um den Benutzer zu authentifizieren, wird eine verschlüsselte SAML -Authentifizierungsanforderung von ABC gestellt.com. Die Anfrage wird von der Website direkt an den Autorisierungsserver (IDP) gesendet. Hier wird der Dienstanbieter den Benutzer zur Autorisierung in den IDP weiterleiten. Der IDP überprüft die empfangene SAML -Authentifizierungsanforderung. Wenn die Anfrage gültig ist, wird der Benutzer ein Anmeldeformular für die Eingabe der Anmeldeinformationen vorgestellt. Nachdem der Benutzer die Anmeldeinformationen eingetreten ist, generiert der IDP eine SAML -Behauptung oder ein SAML. Der Dienstanbieter (SP) überprüft die SAML -Behauptung und extrahiert die Daten und die Identität des Benutzer.

Webanwendungsentwickler können SAML -Plugins verwenden, um sicherzustellen. Dies sorgt für eine bessere Erfahrung der Benutzeranmeldung und effektivere Sicherheitspraktiken, die eine gemeinsame Identitätsstrategie nutzen. Mit SAML können nur Benutzer mit der richtigen Identitäts- und Assertion -Token auf die Ressource zugreifen.

OAuth

OAuth wird verwendet, wenn die Autorisierung von einem Dienst an einen anderen Dienst übergeben werden muss, ohne die tatsächlichen Anmeldeinformationen wie das Passwort und den Benutzernamen zu teilen. Verwendung OAuth, Benutzer können sich in einem einzigen Dienst anmelden, auf die Ressourcen anderer Dienste zugreifen und Aktionen im Dienst ausführen. OAuth ist die beste Methode, mit der die Autorisierung von einem einzelnen Zeichen auf der Plattform an einen anderen Dienst oder eine andere Plattform oder zwischen zwei beliebigen Webanwendungen weitergeleitet wurde. Der OAuth Workflow ist wie folgt:

  1. Der Benutzer klickt auf die Schaltfläche Anmeldung eines Ressourcenfreigabedienstes.
  2. Der Ressourcenserver zeigt dem Benutzer eine Autorisierungszuschuss an und leitet den Benutzer in den Autorisierungsserver um.
  3. Der Benutzer fordert ein Zugriffstoken aus dem Autorisierungsserver mit dem Autorisierungszuschusscode an.
  4. Wenn der Code nach der Anmeldung auf dem Autorisierungsserver gültig ist, erhält der Benutzer ein Zugriffstoken, mit dem aus dem Ressourcenserver eine geschützte Ressource abgerufen oder zugreifen kann.
  5. Wenn Sie eine Anfrage für eine geschützte Ressource mit einem Zugriffs -Zuschuss -Token erhalten.
  6. Wenn das Token gültig ist und alle Überprüfungen übergibt, wird die geschützte Ressource vom Ressourcenserver gewährt.

Eine häufige Verwendung von OAuth besteht darin, eine Webanwendung zu ermöglichen, auf eine Social -Media -Plattform oder ein anderes Online -Konto zuzugreifen. Google -Benutzerkonten können mit vielen Verbraucheranwendungen aus verschiedenen Gründen verwendet werden, z. B. Bloggen, Online -Spiele, Anmeldung bei Social -Media -Konten und Lesen von Artikeln auf Nachrichten -Websites. In diesen Fällen arbeitet OAuth im Hintergrund, damit diese externen Entitäten verknüpft und auf die erforderlichen Daten zugreifen können.

OAuth ist eine Notwendigkeit, da es eine Möglichkeit geben muss, Autorisierungsinformationen zwischen verschiedenen Anwendungen zu senden, ohne Benutzeranmeldeinformationen zu teilen oder aufzudecken. OAuth wird auch in Unternehmen verwendet. Angenommen, ein Benutzer muss mit seinem Benutzernamen und Passwort auf ein einzelnes Zeichen eines Unternehmens auf das System zugreifen. Der SSO gibt ihm Zugriff auf alle erforderlichen Ressourcen, indem sie OAuth -Autorisierungs -Token an diese Apps oder Ressourcen weitergeben.

Abschluss

OAuth und SAML sind beide aus Sicht eines Webanwendungsentwicklers oder des Systemadministrators sehr wichtig, während beide sehr unterschiedliche Tools mit unterschiedlichen Funktionen sind. OAuth ist das Protokoll für die Zugriffsautorisierung, während SAML ein sekundärer Ort ist, der die Eingabe analysiert und dem Benutzer die Genehmigung zur Verfügung stellt.