Was ist der Unterschied im Kontext von Webanwendungen? Ich sehe die Abkürzung "auth" oft. Steht es für Auth -entication oder Auth -orization? Oder ist es beides?
authn
für die Authentifizierung und authz
für die Autorisierung gesehen habe
Was ist der Unterschied im Kontext von Webanwendungen? Ich sehe die Abkürzung "auth" oft. Steht es für Auth -entication oder Auth -orization? Oder ist es beides?
authn
für die Authentifizierung und authz
für die Autorisierung gesehen habe
Antworten:
Bei der Authentifizierung wird festgestellt, dass jemand wirklich der ist, für den er sich ausgibt.
Die Autorisierung bezieht sich auf Regeln, die bestimmen, wer was tun darf. Zum Beispiel kann Adam berechtigt sein, Datenbanken zu erstellen und zu löschen, während Usama nur zum Lesen berechtigt ist.
Die beiden Konzepte sind vollständig orthogonal und unabhängig, aber beide sind für das Sicherheitsdesign von zentraler Bedeutung, und das Versäumnis, eines der beiden Konzepte richtig zu machen, eröffnet den Weg für Kompromisse.
In Bezug auf Web-Apps erfolgt die Authentifizierung sehr grob, wenn Sie die Anmeldeinformationen überprüfen, um festzustellen, ob Sie einen Benutzer als angemeldet erkennen, und die Autorisierung erfolgt, wenn Sie in Ihrer Zugriffssteuerung nachschlagen, ob Sie dem Benutzer das Anzeigen, Bearbeiten und Löschen erlauben oder Inhalte erstellen.
Kurz gesagt, bitte. :-)
Authentifizierung = Login + Passwort (wer du bist)
Autorisierung = Berechtigungen (was Sie tun dürfen)
Kurzes "auth" bezieht sich höchstwahrscheinlich entweder auf das erste oder auf beide.
Wie Authentication vs Authorization es ausdrückt:
Die Authentifizierung ist der Mechanismus, mit dem Systeme ihre Benutzer sicher identifizieren können. Authentifizierungssysteme geben Antworten auf die folgenden Fragen:
- Wer ist der Benutzer?
- Ist der Benutzer wirklich der, für den er sich darstellt?
Im Gegensatz dazu ist die Autorisierung der Mechanismus, mit dem ein System bestimmt, welche Zugriffsebene ein bestimmter authentifizierter Benutzer auf vom System kontrollierte Ressourcen haben soll. Beispielsweise könnte ein Datenbankverwaltungssystem so konzipiert sein, dass bestimmte spezifizierte Personen die Möglichkeit erhalten, Informationen aus einer Datenbank abzurufen, jedoch nicht die in der Datenbank gespeicherten Daten zu ändern, während anderen Personen die Möglichkeit gegeben wird, Daten zu ändern. Autorisierungssysteme geben Antworten auf folgende Fragen:
- Ist Benutzer X berechtigt, auf Ressource R zuzugreifen?
- Ist Benutzer X berechtigt, Operation P auszuführen?
- Ist Benutzer X berechtigt, Operation P für Ressource R auszuführen?
Ich bevorzuge Verifizierung und Berechtigungen gegenüber Authentifizierung und Autorisierung.
In meinem Kopf und in meinem Code ist es einfacher, an "Verifikation" und "Berechtigungen" zu denken, weil die beiden Wörter
Die Authentifizierung ist eine Überprüfung und die Autorisierung überprüft die Berechtigung (en). Auth kann beides bedeuten, wird aber häufiger als "Benutzerauthentifizierung" verwendet, dh "Benutzerauthentifizierung".
Die Verwirrung ist verständlich, da die beiden Wörter ähnlich klingen und die Konzepte oft eng miteinander verbunden sind und zusammen verwendet werden. Wie bereits erwähnt, hilft auch die häufig verwendete Abkürzung Auth nicht weiter.
Andere haben bereits gut beschrieben, was Authentifizierung und Autorisierung bedeuten. Hier ist eine einfache Regel, um die beiden klar voneinander zu trennen:
- Die Authentifizierung bestätigt Ihre Identität (oder Authentizität , wenn Sie dies bevorzugen).
- Autor isierung validiert Ihren Autor keit, dh Ihr Recht auf Zugang und möglicherweise etwas ändern.
Ich habe versucht, ein Bild zu erstellen, um dies mit den einfachsten Worten zu erklären
1) Authentifizierung bedeutet "Sind Sie der, von dem Sie sagen, dass Sie es sind?"
2) Autorisierung bedeutet "Sollten Sie in der Lage sein, das zu tun, was Sie versuchen?".
Dies wird auch im Bild unten beschrieben.
Ich habe versucht, es bestmöglich zu erklären, und ein Bild davon erstellt.
Bei der Authentifizierung wird die proklamierte Identität überprüft.
In der Regel folgt eine Autorisierung. Dies ist die Genehmigung, dass Sie dies und das tun können.
Hinzufügen zu @ Kerreks Antwort;
Die Authentifizierung erfolgt in einem allgemeinen Formular (Alle Mitarbeiter können sich am Computer anmelden.)
Die Autorisierung ist ein spezielles Formular (der Administrator kann die Anwendung jedoch nur auf dem Computer installieren / deinstallieren.)
Bei der Authentifizierung wird Ihr Login in Benutzername und Passwort überprüft.
Bei der Autorisierung wird überprüft, ob Sie auf etwas zugreifen können.
Authentifizierung - Sind Sie die Person, die Sie zu sein behaupten?
Autorisierung - Sind Sie berechtigt, das zu tun, was Sie versuchen?
Eine Web-App verwendet Google Sign-In . Nachdem sich ein Nutzer erfolgreich angemeldet hat, sendet Google Folgendes zurück:
Zusätzlich:
Das Unternehmen verfügt möglicherweise über ein Administrator-Dashboard, mit dem der Kundensupport die Benutzer des Unternehmens verwalten kann. Anstatt eine benutzerdefinierte Anmeldelösung bereitzustellen, mit der der Kundensupport auf dieses Dashboard zugreifen kann, verwendet das Unternehmen Google Sign-In.
Das JWT-Token (vom Google-Anmeldevorgang erhalten) wird an den Autorisierungsserver des Unternehmens gesendet, um herauszufinden, ob der Benutzer ein G Suite- Konto bei der gehosteten Domain des Unternehmens hat (email@company.com). Und wenn ja, sind sie Mitglied der Google-Gruppe des Unternehmens, die für den Kundensupport erstellt wurde? Wenn ja, können wir sie als authentifiziert betrachten .
Der Autorisierungsserver des Unternehmens sendet der Dashboard-App dann ein Zugriffstoken. Dieses Zugriffstoken kann verwendet werden, um autorisierte Anforderungen an den Ressourcenserver des Unternehmens zu senden (z. B. die Möglichkeit, eine GET-Anforderung an einen Endpunkt zu senden, der alle Benutzer des Unternehmens zurücksendet).
Authentication
ist ein Überprüfungsprozess:
digital signature
Authorization
ist der nächste Schritt danach Authentication
. Es geht um Berechtigungen / Rollen / Berechtigungen für Ressourcen. OAuth (Open Authorization) ist ein Beispiel für eine Autorisierung