Czy istnieje różnica między uwierzytelnianiem a autoryzacją?

97

Widzę, że te dwa terminy trochę się kłębiły (szczególnie w scenariuszach internetowych, ale przypuszczam, że nie ogranicza się do tego) i zastanawiałem się, czy istnieje różnica.

Wydaje mi się, że obaj mają na myśli, że wolno ci robić to, co robisz. Czy to tylko kwestia nomenklatury, czy też istnieje podstawowa różnica w znaczeniu?

paxdiablo
źródło
3
Tak. Jest duża różnica. Wiki mówi co? Z 148k, naprawdę teraz ;-) Mogę Uwierzytelnianie że jesteś wrogiem Spy (lub prywatnym bez luzu) bez Nadanie Ci dostęp do ściśle tajne dane.
To różnica między „autentycznym” a „autoryzowanym”; niepomocnie oba skracają się do „auth”. Apache rozróżnia je za pomocą „authn” i „authz”.
tc.
Jest to bardzo prosto wyjaśnione tutaj: serverfault.com/a/57082/227016
Kuldeep Jain
Czy to odpowiada na twoje pytanie? Uwierzytelnianie a autoryzacja
Løiten

Odpowiedzi:

141

Rzeczywiście istnieje zasadnicza różnica. Uwierzytelnianie to mechanizm, za pomocą którego systemy mogą bezpiecznie identyfikować swoich użytkowników. Systemy uwierzytelniania mają na celu udzielenie odpowiedzi na pytania:

  • Kim jest użytkownik?
  • Czy użytkownik naprawdę jest tym, za kogo się podaje / reprezentuje?

Autoryzacja natomiast to mechanizm, za pomocą którego system określa, jaki poziom dostępu powinien mieć dany (uwierzytelniony) użytkownik do zasobów kontrolowanych przez system. Na przykład, który może, ale nie musi być związany ze scenariuszem internetowym, system zarządzania bazą danych może być zaprojektowany w taki sposób, aby zapewnić określonym określonym osobom możliwość pobierania informacji z bazy danych, ale nie możliwość zmiany danych przechowywanych w bazy danych, dając jednocześnie innym osobom możliwość zmiany danych. Systemy autoryzacji udzielają odpowiedzi na pytania:

  • Czy użytkownik X jest upoważniony do dostępu do zasobu R?
  • Czy użytkownik X jest upoważniony do wykonania operacji P?
  • Czy użytkownik X jest upoważniony do wykonania operacji P na zasobie R?

Steve Riley napisał całkiem dobry esej o tym, dlaczego muszą pozostać odrębni.

Michael Foukarakis
źródło
3
Uwierzytelnianie dotyczy również innych rzeczy (np. MAC).
tc.
Twój esej jest niesamowity, dziękujemy za udostępnienie.
Abdel-Raouf
43

Uwierzytelnianie odnosi się do weryfikacji tożsamości jednostki. Autoryzacja dotyczy tego, co uwierzytelniony podmiot może zrobić (np. Uprawnienia do plików).

jpm
źródło
12

Głównym punktem jest:

  • Uwierzytelnianie dotyczy sprawdzania poprawności konta użytkownika. Czy to jest prawidłowy użytkownik? Czy ten użytkownik jest zarejestrowany w naszej aplikacji? np .: Login
  • Autoryzacja dotyczy weryfikacji dostępu użytkownika do określonej funkcji. Czy ten użytkownik ma autoryzację / prawo dostępu do tej funkcji? np .: roszczenia, role
Moch Yusup
źródło
5

Poświadczenie:

Uwierzytelnianie to proces weryfikacji tożsamości użytkownika poprzez uzyskanie pewnego rodzaju poświadczeń i użycie tych poświadczeń do zweryfikowania tożsamości użytkownika. Jeśli poświadczenia są prawidłowe, rozpoczyna się proces autoryzacji. Proces uwierzytelniania zawsze przechodzi do procesu autoryzacji.

Upoważnienie:

Autoryzacja to proces umożliwiania uwierzytelnionym użytkownikom dostępu do zasobów poprzez sprawdzenie, czy użytkownik ma prawa dostępu do systemu. Autoryzacja pomaga kontrolować prawa dostępu, udzielając lub odmawiając określonych uprawnień uwierzytelnionemu użytkownikowi.

Humoyun Ahmad
źródło
2

Z mojego doświadczenia wynika, że ​​uwierzytelnianie zwykle odnosi się do procesu bardziej technicznego, tj. Uwierzytelniania użytkownika (poprzez sprawdzanie danych logowania / hasła, certyfikatów itp.), Podczas gdy Autoryzacja jest bardziej wykorzystywana w Logice Biznesowej aplikacji.

Na przykład w aplikacji użytkownik może się zalogować i zostać uwierzytelniony, ale nie mieć uprawnień do wykonywania określonych funkcji.

nageeb
źródło
1

Uwierzytelnienie użytkownika w witrynie internetowej oznacza, że ​​weryfikujesz, czy ten użytkownik jest prawidłowym użytkownikiem, czyli sprawdzasz, kto używa nazwy użytkownika / hasła lub certyfikatów itp. Czy w powszechnym ujęciu dana osoba może wejść do budynku?

Autoryzacja to proces sprawdzania, czy użytkownik ma prawa / pozwolenie na dostęp do pewnych zasobów lub sekcji strony internetowej, na przykład jeśli jest to CMS, to jest to użytkownik upoważniony do zmiany zawartości strony internetowej. Z punktu widzenia scenariusza budynku biurowego, czy użytkownik może wejść do pomieszczenia sieciowego biura.

Aziz Shaikh
źródło
1

Jeśli mogę się zalogować, moje dane uwierzytelniające są weryfikowane i mam AUTENTYKACJĘ. Jeśli mogę wykonać określone zadanie, jestem do tego UPOWAŻNIONY.

Puneet Pandey
źródło
1

Uwierzytelnianie weryfikuje, kim jesteś, a Autoryzacja weryfikuje, do czego jesteś upoważniony. Na przykład, możesz zalogować się na swój serwer Unix przez klienta ssh, ale nie masz uprawnień do przeglądarki / data2 ani żadnego innego systemu plików. Autoryzacja następuje po pomyślnym uwierzytelnieniu ........

Bmw
źródło
0

Uwierzytelnianie weryfikuje, kim jesteś, a Autoryzacja weryfikuje, do czego jesteś upoważniony. Na przykład, możesz zalogować się na swój serwer Unix przez klienta ssh, ale nie masz uprawnień do przeglądarki / data2 ani żadnego innego systemu plików. Autoryzacja następuje po pomyślnym uwierzytelnieniu.

vinit payal
źródło
0

Uwierzytelnianie: weryfikacja, kim jest użytkownik.

W celu uwierzytelnienia użytkownik podaje dane uwierzytelniające, takie jak nazwa użytkownika i hasło, a jeśli poświadczenia są prawidłowe, użytkownik otrzymuje token, który może zostać wysłany wraz z przyszłymi żądaniami w celu weryfikacji jego uwierzytelnienia.

Autoryzacja: określanie, co użytkownik może robić.

Z punktu widzenia użytkownika, pomyślna autoryzacja ma miejsce, gdy jest w stanie wysłać żądanie dostępu do systemu i coś zrobić (np. Załadować plik do systemu) i działa.

Uwierzytelnianie tylko weryfikuje tożsamość - potwierdza, że ​​użytkownik jest tym, za kogo się podaje. Autoryzacja określa, do których zasobów ma dostęp zweryfikowany użytkownik.

Smrity
źródło
0

Poświadczenie

Uwierzytelnianie weryfikuje, kim jesteś. Na przykład możesz zalogować się na swój serwer za pomocą klienta ssh lub uzyskać dostęp do serwera poczty e-mail za pomocą klienta POP3 i SMTP.

Upoważnienie

Autoryzacja weryfikuje, do czego jesteś upoważniony. Na przykład, możesz zalogować się na swój serwer przez klienta ssh, ale nie masz uprawnień do przeglądarki / data2 ani żadnego innego systemu plików. Autoryzacja następuje po pomyślnym uwierzytelnieniu.

Bilali Hamisi
źródło
0

Autoryzacja to proces, za pomocą którego serwer określa, czy klient ma uprawnienia do korzystania z zasobów lub dostępu do pliku.

Uwierzytelnianie jest używane przez serwer, gdy serwer musi dokładnie wiedzieć, kto uzyskuje dostęp do jego informacji lub witryny.

Shankar Ghimire
źródło
0

Prosty przykład w czasie rzeczywistym. Jeśli uczeń przyjeżdża do szkoły, dyrektor sprawdza uwierzytelnianie i autoryzację. Uwierzytelnienie: Sprawdź legitymację studencką, to znaczy, że należy do naszej szkoły, czy nie. Autoryzacja: Sprawdź, czy uczeń ma pozwolenie na siedzenie w Pracowni Programowania Komputerowego, czy nie.

sambhu
źródło
0

Próbowałem stworzyć obraz, który wyjaśni to w najprostszych słowach

1) Uwierzytelnienie oznacza „Czy jesteś tym, za kogo się podajesz?”

2) Autoryzacja oznacza „Czy powinieneś być w stanie zrobić to, co próbujesz zrobić?”.

Jest to również opisane na poniższym obrazku.

wprowadź opis obrazu tutaj

Rohit Ailani
źródło
2
dlaczego miałbyś dodać zdjęcie zawierające tylko dokładnie taki sam tekst jak w swoim poście? :)
Millenjo
0

Uwierzytelnienie :

Jest to proces sprawdzania, czy tożsamość jest prawdziwa, czy fałszywa. Innymi słowy, sprawdzenie, czy użytkownik jest rzeczywiście tym, za kogo się podaje.

Typy uwierzytelniania:

  1. Nazwa użytkownika + hasło typu uwierzytelnienia
  2. Uwierzytelnianie za pomocą kont społecznościowych
  3. Uwierzytelnianie bez hasła
  4. Uwierzytelnianie wieloskładnikowe
  5. Uwierzytelnianie oparte na odciskach palców lub siatkówce itp

OpenID to otwarty standard uwierzytelniania.

Upoważnienie

Technika określająca, które zasoby są dostępne dla użytkownika o określonej tożsamości lub roli.

OAuth to otwarty standard autoryzacji.

Steffi Keran Rani J
źródło
0

Uwierzytelnianie : aplikacja musi wiedzieć, kto uzyskuje dostęp do aplikacji. Zatem uwierzytelnianie jest powiązane ze słowem who. Aplikacja sprawdzi to poprzez formularz logowania. Użytkownik wprowadzi nazwę użytkownika i hasło, a te dane wejściowe zostaną zatwierdzone przez aplikację. Po pomyślnym sprawdzeniu poprawności użytkownik jest deklarowany jako uwierzytelniony.

Autoryzacja polega na sprawdzeniu, czy użytkownik ma dostęp do aplikacji, czy nie, lub który użytkownik ma dostęp, a który nie. Źródło: uwierzytelnianie kontra autoryzacja

rahulnikhare
źródło
0

W porównaniu z pozostałymi odpowiedziami, w których próbowano jednoznacznie określić definicję lub technologię. Podam przykład może być bardziej wartościowy.

Oto artykuł, który stanowi świetną analogię do paszportu w porównaniu z zamkiem i kluczem

Mówiąc o uwierzytelnianiu (zwanym również AuthN), pomyśl o tożsamości. Uwierzytelnienie próbuje odpowiedzieć „czy ta osoba jest tym, za kogo się podaje?” Jest to odpowiednik oprogramowania sprawdzającego paszport lub dowód osobisty. Mówiąc bardziej realistycznie, uwierzytelnianie jest procesem podobnym do tego, w którym patrzysz na twarz innej osoby, aby rozpoznać, że to twój przyjaciel z college'u, a nie irytujący sąsiad z drugiego piętra.

Z drugiej strony autoryzacja (zwana również AuthZ) polega na uprawnieniach. Autoryzacja odpowiada na pytanie „co ta osoba może robić w tej przestrzeni?” Możesz o nim myśleć jak o kluczu do domu lub identyfikatorze biurowym. Czy możesz otworzyć drzwi wejściowe? Czy twój irytujący sąsiad może wejść do twojego mieszkania na życzenie? I jeszcze raz w swoim mieszkaniu, kto może skorzystać z toalety? Kto może jeść z twojego tajnego zapasu ciastek schowanych w twojej kuchennej szafce?

Warren Parad
źródło