Jaka jest różnica w kontekście aplikacji internetowych? Często widuję skrót „auth”. Czy stoją za auth -entication lub auth -orization? Czy jest to jedno i drugie?
authn
dla uwierzytelnienia i authz
autoryzacji
Jaka jest różnica w kontekście aplikacji internetowych? Często widuję skrót „auth”. Czy stoją za auth -entication lub auth -orization? Czy jest to jedno i drugie?
authn
dla uwierzytelnienia i authz
autoryzacji
Odpowiedzi:
Uwierzytelnianie to proces ustalania, że ktoś naprawdę jest tym, za kogo się podaje.
Autoryzacja odnosi się do reguł określających, kto może robić co. Na przykład Adam może być upoważniony do tworzenia i usuwania baz danych, podczas gdy Usama jest upoważniony tylko do odczytu.
Te dwie koncepcje są całkowicie ortogonalne i niezależne, ale obie mają kluczowe znaczenie dla projektu bezpieczeństwa, a niepowodzenie w uzyskaniu jednej poprawnej otwiera drogę do kompromisu.
W kategoriach aplikacji internetowych, bardzo nieuprzejmie, uwierzytelnianie ma miejsce, gdy sprawdzasz dane logowania, aby sprawdzić, czy rozpoznajesz użytkownika jako zalogowanego, a autoryzacja polega na sprawdzeniu w kontroli dostępu, czy zezwalasz mu na przeglądanie, edytowanie, usuwanie lub tworzyć treści.
Krótko mówiąc, proszę. :-)
Uwierzytelnianie = login + hasło (kim jesteś)
Autoryzacja = uprawnienia (co możesz robić)
Krótkie „auth” najprawdopodobniej odnosi się albo do pierwszego, albo do obu.
Jak ujmuje to uwierzytelnianie vs autoryzacja :
Uwierzytelnianie to mechanizm, dzięki któremu systemy mogą bezpiecznie identyfikować swoich użytkowników. Systemy uwierzytelniania zapewniają odpowiedzi na pytania:
- Kim jest użytkownik?
- Czy użytkownik naprawdę jest tym, za kogo się reprezentuje?
Z kolei autoryzacja to mechanizm, za pomocą którego system określa, jaki poziom dostępu konkretnego uwierzytelnionego użytkownika powinien mieć do zabezpieczonych zasobów kontrolowanych przez system. Na przykład system zarządzania bazą danych może zostać zaprojektowany w taki sposób, aby zapewnić określonym osobom możliwość pobierania informacji z bazy danych, ale nie możliwość zmiany danych przechowywanych w bazie danych, a innym osobom możliwość zmiany danych. Systemy autoryzacji zapewniają 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?
Wolę weryfikację i uprawnienia niż uwierzytelnianie i autoryzację.
W mojej głowie i kodzie łatwiej jest myśleć o „weryfikacji” i „pozwoleniach”, ponieważ te dwa słowa
Uwierzytelnianie to weryfikacja, a autoryzacja to sprawdzanie uprawnień. Auth może oznaczać albo, ale jest częściej używane jako „Autoryzacja użytkownika”, tj. „Autoryzacja użytkownika”
Zamieszanie jest zrozumiałe, ponieważ dwa słowa brzmią podobnie, a pojęcia są często ściśle powiązane i używane razem. Jak już wspomniano, powszechnie używany skrót Auth nie pomaga.
Inni już dobrze opisali, co oznacza uwierzytelnianie i autoryzacja. Oto prosta zasada, która pomaga wyraźnie rozdzielić te dwa elementy:
- Auth Enti kation Sprawdza swój identyfikator Enti Ty (lub autentyczności , jeśli wolisz)
- Autor zację sprawdza swój autorski ity, czyli swoje prawo do dostępu i ewentualnie coś zmienić.
Próbowałem stworzyć obraz, aby wyjaśnić to w najprostszych słowach
1) Uwierzytelnianie oznacza „Czy jesteś tym, za kogo się podajesz?”
2) Autoryzacja oznacza „Czy powinieneś być w stanie robić to, co próbujesz?”.
Jest to również opisane na poniższym obrazku.
Próbowałem to wyjaśnić w najlepszy możliwy sposób i stworzyłem obraz tego samego.
Uwierzytelnianie to proces weryfikacji deklarowanej tożsamości.
Zwykle następuje autoryzacja , czyli zgoda na to i to.
Dodanie do odpowiedzi @ Kerrek;
Uwierzytelnianie ma formę uogólnioną (wszyscy pracownicy mogą zalogować się do komputera)
Autoryzacja jest formularzem specjalistycznym (ale tylko administrator może zainstalować / odinstalować aplikację na komputerze)
Uwierzytelnianie to proces weryfikacji loginu w nazwie użytkownika i haśle.
Autoryzacja to proces weryfikacji, czy możesz uzyskać dostęp do czegoś.
Uwierzytelnianie - czy jesteś osobą, za którą się podajesz?
Autoryzacja - czy masz uprawnienia do robienia tego, co chcesz?
Aplikacja internetowa korzysta z logowania przez Google . Po pomyślnym zalogowaniu się użytkownik Google odsyła:
Dodatkowo:
Firma może mieć pulpit administratora, który pozwala obsłudze klienta zarządzać użytkownikami firmy. Zamiast oferować niestandardowe rozwiązanie rejestracyjne, które umożliwiłoby obsłudze klienta dostęp do tego pulpitu nawigacyjnego, firma korzysta z Google Sign-In.
Token JWT (otrzymany z procesu logowania Google) jest wysyłany na serwer autoryzacji firmy, aby dowiedzieć się, czy użytkownik ma konto G Suite w domenie hostowanej organizacji (email@firma.com)? A jeśli tak, to czy są członkami grupy dyskusyjnej Google utworzonej w celu obsługi klienta? Jeśli tak, wszystkie powyższe stwierdzenia możemy uznać za uwierzytelnione .
Serwer autoryzacji firmy wysyła następnie do aplikacji deski rozdzielczej token dostępu. Tego tokenu dostępu można użyć do wysyłania autoryzowanych żądań do serwera zasobów firmy (np. Możliwość wysłania żądania GET do punktu końcowego, który odsyła wszystkich użytkowników firmy).
Authentication
jest procesem weryfikacji:
digital signature
Authorization
jest następnym krokiem po Authentication
. Chodzi o uprawnienia / role / uprawnienia do zasobów. OAuth (otwarta autoryzacja) jest przykładem autoryzacji