Kimlik doğrulama ve yetkilendirme arasında bir fark var mı?


97

Bu iki terimin oldukça karışık olduğunu görüyorum (özellikle web tabanlı senaryolarda ama sanırım bununla sınırlı değil) ve bir fark olup olmadığını merak ediyordum.

Bana öyle geliyor ki, her ikisi de yaptığınız şeyi yapmanıza izin verildiği anlamına geliyor. Öyleyse bu sadece bir isimlendirme meselesi mi yoksa anlamda temel bir fark mı var?


3
Evet. Arada büyük bir fark var. Wiki ne diyor? 148k ile gerçekten artık ;-) ben yapabilirsiniz kimlik doğrulaması olmadan bir Düşman Casus (veya boşluk olmadan Özel) olduğunu yetkilendirme Çok Gizli Verileri erişmenizi.

Bu, "gerçek" ve "yetkili" arasındaki farktır; yararsız bir şekilde her ikisi de "auth" olarak kısaltılır. Apache bunları "authn" ve "authz" ile ayırır.
tc.

Bu, burada çok basit bir şekilde açıklanmaktadır: serverfault.com/a/57082/227016
Kuldeep Jain

Bu sorunuzu yanıtlıyor mu? Kimlik Doğrulamaya Karşı Yetkilendirme
Løiten

Yanıtlar:


141

Gerçekten de temel bir fark var. Kimlik doğrulama, sistemlerin kullanıcılarını güvenli bir şekilde tanımlayabildiği mekanizmadır. Kimlik doğrulama sistemleri şu sorulara yanıt vermeye çalışır:

  • Kullanıcı kim?
  • Kullanıcı gerçekten iddia ettiği / temsil ettiği kişi mi?

Yetkilendirme, aksine, bir sistemin, belirli (kimliği doğrulanmış) bir kullanıcının sistem tarafından kontrol edilen kaynaklara hangi düzeyde erişime sahip olması gerektiğini belirlediği mekanizmadır. Web tabanlı bir senaryo ile ilgili olabilecek veya olmayabilecek bir örnek için, belirli kişilere bir veritabanından bilgi alma yeteneği sağlamak, ancak burada depolanan verileri değiştirme yeteneği sağlamak için bir veritabanı yönetim sistemi tasarlanabilir. veritabanı, diğer kişilere verileri değiştirme yeteneği verirken. Yetkilendirme sistemleri sorulara cevap verir:

  • X kullanıcısı, R kaynağına erişme yetkisine sahip mi?
  • X kullanıcısı P işlemini gerçekleştirme yetkisine sahip mi?
  • X kullanıcısı, R kaynağı üzerinde P işlemini gerçekleştirme yetkisine sahip mi?

Steve Riley, neden farklı kalmaları gerektiğine dair oldukça iyi bir makale yazdı .


3
Kimlik doğrulama başka şeyler için de geçerlidir (örneğin bir MAC).
tc.

Sağladığınız makale Harika, paylaştığınız için teşekkürler.
Abdel-Raouf

43

Kimlik doğrulama, bir varlığın kimliğinin doğrulanması anlamına gelir. Yetkilendirme, kimliği doğrulanmış bir varlığın ne yapmasına izin verildiğiyle ilgilenir (örneğin, dosya izinleri).


12

Ana nokta şudur:

  • Kimlik doğrulama , kullanıcı hesabı doğrulamasıyla ilgilenir. Bu geçerli bir kullanıcı mı? Bu kullanıcı uygulamamıza kayıtlı mı? örneğin: Giriş
  • Yetkilendirme , belirli bir özelliğe kullanıcı erişiminin doğrulanmasıyla ilgilenir. Bu kullanıcının bu özelliğe erişim yetkisi / hakkı var mı? örneğin: Hak Talepleri, Roller

5

Doğrulama:

Kimlik doğrulama, bir tür kimlik bilgileri elde ederek ve bu kimlik bilgilerini kullanıcının kimliğini doğrulamak için kullanarak bir kullanıcının kimliğini doğrulama işlemidir. Kimlik bilgileri geçerliyse, yetkilendirme süreci başlar. Kimlik doğrulama işlemi her zaman Yetkilendirme sürecine geçer.

Yetki:

Yetkilendirme, kimliği doğrulanmış bir kullanıcının sisteme erişim haklarına sahip olup olmadığını kontrol ederek kaynaklara erişmesine izin verme işlemidir. Yetkilendirme, kimliği doğrulanmış bir kullanıcıya belirli izinler vererek veya reddederek erişim haklarını kontrol etmenize yardımcı olur.


2

Tecrübelerime göre, Kimlik Doğrulama genellikle daha teknik bir süreci ifade eder, yani bir kullanıcının kimliğini doğrulamak (oturum açma / şifre kimlik bilgilerini, sertifikaları vb. Kontrol ederek), oysa Yetkilendirme bir uygulamanın İş Mantığında daha çok kullanılır.

Örneğin, bir uygulamada, bir kullanıcı oturum açabilir ve kimliği doğrulanabilir, ancak belirli işlevleri gerçekleştirme yetkisi olmayabilir.


1

Bir web sitesinde bir kullanıcının kimliğini doğrulamak, bu kullanıcının geçerli bir kullanıcı olduğunu doğrulamanız anlamına gelir, yani kullanıcının kullanıcı adı / şifre veya sertifika vb. Kullandığını doğrulamak. Genel anlamda, kişinin binaya girmesine izin veriliyor mu?

Yetkilendirme, kullanıcının bir web sitesinin belirli kaynaklarına veya bölümlerine erişim haklarına / iznine sahip olup olmadığını doğrulama sürecidir; örneğin, kullanıcının bir CMS olması durumunda web sitesinin içeriğini değiştirme yetkisine sahipse. Ofis binası senaryosu açısından, kullanıcının ofisin ağlar odasına girmesine izin verilir.


1

Giriş yapabilirsem, kimlik bilgilerim doğrulanır ve DOĞRULANIRIM. Belirli bir görevi gerçekleştirebilirsem, bunu yapmaya YETKİLENDİRİLİR.


1

Kimlik doğrulama, kim olduğunuzu doğrular ve Yetkilendirme, ne yapmaya yetkili olduğunuzu doğrular. Örneğin, ssh istemcisi aracılığıyla Unix sunucunuzda oturum açmanıza izin verilir, ancak tarayıcı / veri2 veya başka bir dosya sistemi için yetkiniz yoktur. Yetkilendirme, başarılı kimlik doğrulamadan sonra gerçekleşir ........


0

Kimlik doğrulama, kim olduğunuzu doğrular ve Yetkilendirme, ne yapmaya yetkili olduğunuzu doğrular. Örneğin, ssh istemcisi aracılığıyla Unix sunucunuzda oturum açmanıza izin verilir, ancak tarayıcı / veri2 veya başka bir dosya sistemi için yetkiniz yoktur. Yetkilendirme, başarılı kimlik doğrulamadan sonra gerçekleşir.


0

Doğrulama: bir kullanıcının kim olduğunu doğrulamak.

Kimlik doğrulaması için kullanıcı, kullanıcı adı ve parola gibi kimlik bilgileri sağlar ve kimlik bilgileri geçerliyse, kullanıcı, kimlik doğrulamasının doğrulanması olarak gelecekteki isteklerle birlikte gönderilebilecek bir belirteç alır.

Yetkilendirme: Bir kullanıcının ne yapmasına izin verildiğinin belirlenmesi.

Kullanıcının bakış açısından, başarılı bir yetkilendirme, bir sisteme erişmek ve bir şeyler yapmak (sisteme bir dosya yüklemek gibi) için bir istek gönderebildiğinde gerçekleşir ve çalışır.

Kimlik doğrulama yalnızca kimliği doğrular — bir kullanıcının iddia ettiği kişi olduğunu doğrular. Yetkilendirme, doğrulanmış bir kullanıcının hangi kaynaklara erişebileceğini belirler.


0

Doğrulama

Kimlik doğrulama, kim olduğunuzu doğrular. Örneğin, ssh istemcisini kullanarak sunucunuzda oturum açabilir veya POP3 ve SMTP istemcisini kullanarak e-posta sunucunuza erişebilirsiniz.

yetki

Yetkilendirme, ne yapmaya yetkili olduğunuzu doğrular. Örneğin, ssh istemcisi aracılığıyla sunucunuzda oturum açmanıza izin verilir, ancak tarayıcı / veri2 veya başka bir dosya sistemi için yetkiniz yoktur. Yetkilendirme, başarılı kimlik doğrulamadan sonra gerçekleşir.


0

Yetkilendirme, istemcinin bir kaynakları veya erişim dosyasını kullanma iznine sahip olup olmadığını sunucunun belirlediği bir işlemdir.

Kimlik doğrulama, sunucunun bilgilerine veya sitelerine tam olarak kimin eriştiğini bilmesi gerektiğinde sunucu tarafından kullanılır.


0

Basit gerçek zamanlı örnek: Öğrenci okula geliyorsa, müdür Kimlik Doğrulama ve Yetkilendirmeyi kontrol ediyor. Kimlik Doğrulama: Öğrenci kimlik kartını kontrol edin, okulumuza ait olup olmadığı anlamına gelir. Yetkilendirme: Öğrencinin Bilgisayar Programlama Laboratuvarı'na oturma iznine sahip olup olmadığını kontrol edin.


0

Bunu en basit kelimelerle açıklamak için bir görsel oluşturmaya çalıştım

1) Kimlik doğrulama, "Sen olduğunu söylediğin kişi misin?"

2) Yetkilendirme, "yapmaya çalıştığınız şeyi yapabilmeniz gerekir mi?" Anlamına gelir.

Bu, aşağıdaki resimde de açıklanmaktadır.

görüntü açıklamasını buraya girin


2
neden sadece gönderinizdekiyle aynı metne sahip bir resim eklemelisiniz? :)
Millenjo

0

Doğrulama :

Bir kimliğin doğru mu yanlış mı olduğunu doğrulama sürecidir. Başka bir deyişle, bir kullanıcının gerçekten de olduğunu iddia ettiği kişi olduğunu doğrulamak.

Kimlik doğrulama türleri:

  1. Kullanıcı adı + şifre kimlik doğrulama türü
  2. Sosyal hesapları kullanarak kimlik doğrulama
  3. Parolasız kimlik doğrulama
  4. Çok faktörlü kimlik doğrulama
  5. Parmak izi veya retina tabanlı kimlik doğrulama vb.

OpenID , kimlik doğrulama için açık bir standarttır.

yetki

Belirli bir kimlik veya role sahip bir kullanıcının hangi kaynaklara erişebileceğini belirleyen teknik.

OAuth , yetkilendirme için açık bir standarttır.


0

Kimlik Doğrulama : Bir uygulamanın, uygulamaya kimin eriştiğini bilmesi gerekir. Yani kimlik doğrulama kim kelimesiyle ilgilidir. Uygulama, bir giriş formu ile kontrol edecektir. Kullanıcı, kullanıcı adı ve şifresini girecek ve bu girişler uygulama tarafından doğrulanacaktır. Doğrulama başarılı olduktan sonra, kullanıcı kimliği doğrulanmış olarak ilan edilir.

Yetki , kullanıcının uygulamaya erişip erişemeyeceğini veya hangi kullanıcının erişebileceğini ve hangi kullanıcının erişemeyeceğini kontrol etmektir. Kaynak: Authentcation Vs Authorization


0

Tanımı veya teknolojiyi açıkça belirtmeye çalışan diğer yanıtlarla karşılaştırıldığında. Bir örnek sunacağım daha değerli olabilir.

Kilit ve anahtar ile pasaporta harika bir benzetme yapan bir makale.

Konuşulurken kimlik doğrulaması (ayrıca AuthN denir), kimliği hakkında düşünüyorum. Kimlik doğrulama "olduğunu söyledikleri kişi bu mu?" Yanıtını vermeye çalışır. Pasaport veya ulusal kimlik kontrolüne eşdeğer bir yazılımdır. Ya da daha gerçekçi terimlerle ifade etmek gerekirse, kimlik doğrulama, başka birinin yüzüne baktığınızda, bu kişinin kolejden arkadaşınız olduğunu ve sinir bozucu ikinci kattaki komşunuz olmadığını anlamak için o ana benzer bir süreçtir.

Öte yandan, yetkilendirme (AuthZ olarak da adlandırılır) tamamen izinlerle ilgilidir. Yetkilendirme, "bu kişinin bu alanda ne yapmasına izin verilir?" Sorusunu yanıtlar. Evinizin anahtarı veya ofis rozetiniz olarak düşünebilirsiniz. Ön kapını açabilir misin? Sinir bozucu komşunuz dairenize istediği zaman girebilir mi? Ve dahası, dairenizde bir kez tuvaleti kim kullanabilir? Mutfak dolabınızda sakladığınız gizli kurabiye zulasından kim yiyebilir?

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.