Was ist der Unterschied zwischen SAML und OAuth? Das ist eine häufig gestellte Frage für Systemadministratoren, Sicherheitsexperten und Anwendungsentwickler, die ihr Identitätsmanagement verbessern und die Art und Weise vereinfachen wollen, wie Benutzer mit einem gemeinsamen Satz von Anmeldeinformationen auf Ressourcen zugreifen. Wenn Unternehmen über die beiden Konzepte nachdenken, wäre es hilfreich, einen Leitfaden zur Unterscheidung der beiden zu haben. Hier ist Ihr Leitfaden für die Gegenüberstellung von SAML und OAuth.
Was ist SAML?
Die Security Assertion Markup Language (SAML) ist ein Standard-Authentifizierungsprotokoll (und gelegentlich auch Autorisierungsprotokoll), das am häufigsten von Single-Sign-On-Anbietern (SSO) für Webanwendungen verwendet wird, um Anmeldeinformationen zwischen einem Identitätsanbieter (IdP), der die Anmeldeinformationen zur Verifizierung eines Benutzers enthält, und einem Serviceanbieter (SP), der die Ressource ist, die eine Authentifizierung erfordert, weiterzuleiten. SAML verwendet XML-Metadaten-Dokumente (Extensible Markup Language) als Token für die Bestätigung der Identität eines Benutzers. Der Prozess der SAML-Authentifizierung und -Autorisierung (AuthN und AuthZ) läuft wie folgt ab.
Mit anderen Worten: Mit SAML können Entwickler SAML-Plugins nutzen, um sicherzustellen, dass ihre App oder Ressource den gewünschten Single-Sign-On-Praktiken folgt, um die Anmeldeerfahrung ihrer Benutzer zu vereinfachen und sicherzustellen, dass Sicherheitspraktiken festgelegt werden, um eine gemeinsame Identitätsstrategie zu nutzen. Auf diese Weise kann nur eine Identität mit den richtigen Berechtigungsnachweisen auf eine Anwendung zugreifen. Zusätzlich kann SAML verwendet werden, um zu kontrollieren, worauf diese Identität in einer Anwendung zugreifen kann.
Was ist OAuth?
OAuth, oder Open Authentication, ist ebenfalls ein AuthN/AuthZ-Protokoll, das für sichere Authentifizierungsanforderungen verwendet wird. Wie SAML erfordert auch OAuth einen Identity Provider als Quelle der Wahrheit für die Authentifizierung des Benutzerzugriffs. OAuth verwendet eine eigene XML-Dokumentation für Authentifizierungs-Tokens, kann aber auch JavaScript Object Notation (JSON) für Tokens verwenden. Der OAuth-Prozess läuft ähnlich ab wie der oben beschriebene SAML-Prozess.
OAuth ist stärker auf Access Scoping zugeschnitten als SAML. Access Scoping ist die Praxis, nur das absolute Minimum an Zugriff innerhalb der Ressource/App zu erlauben, die eine Identität benötigt, sobald sie verifiziert ist. OAuth wird zum Beispiel oft verwendet, wenn eine Web-App Zugriff auf das Mikrofon und die Kamera des Systems anfordert. Das macht OAuth (speziell OAuth2) ideal für Web-/Mobile-Apps, insbesondere (Lesen Sie mehr…)