Kimlik Doğrulama ve Yetkilendirme
Kullanıcılarını bir sistem tarafından güvenli bir şekilde tanımlama işlemine kimlik doğrulama denir. Kimlik doğrulama, kullanıcının kimliğini ve kullanıcının gerçekten temsil ettiği kişi olup olmadığını belirlemeye çalışır. Kimliği doğrulanmış bir kullanıcının erişim düzeyinin (kullanıcı için hangi kaynakların erişilebilir kılındığının) belirlenmesi yetkilendirme ile yapılır.
Kimlik Doğrulama Nedir?
Kimlik doğrulama, bir sistemi kullanmaya çalışan bir kullanıcının kimliğini belirlemek için kullanılır. Kimliğin oluşturulması, yalnızca kimliği doğrulanan kullanıcı ve kimlik doğrulama sistemi tarafından bilinen benzersiz bir bilgi parçasının test edilmesiyle yapılır. Bu benzersiz bilgi parçası bir parola veya parmak izi veya diğer biyometrik vb. gibi kullanıcıya özel fiziksel bir özellik olabilir. Kimlik doğrulama sistemleri, kullanıcıyı benzersiz bilgi parçası sağlamaya zorlayarak çalışır ve sistem kullanıcının kimliği doğrulanmış olarak kabul edildiği bilgileri doğrulayabilir. Kimlik doğrulama sistemleri, basit parola zorlayıcı sistemlerden Kerberos gibi karmaşık sistemlere kadar değişebilir. Yerel kimlik doğrulama yöntemleri, kullanılan en basit ve en yaygın kimlik doğrulama sistemleridir. Bu tür bir sistemde, kimliği doğrulanmış kullanıcıların kullanıcı adları ve şifreleri yerel sunucu sisteminde saklanır. Bir kullanıcı oturum açmak istediğinde, kullanıcı adını ve şifresini düz metin olarak sunucuya gönderir. Alınan bilgileri veritabanı ile karşılaştırır ve eğer eşleşme varsa kullanıcının kimliği doğrulanır. Kerberos gibi gelişmiş kimlik doğrulama sistemleri, kimlik doğrulama hizmetleri sağlamak için güvenilir kimlik doğrulama sunucularını kullanır.
Yetkilendirme nedir?
Kimliği doğrulanmış bir kullanıcının erişebileceği kaynakları belirlemek için kullanılan yönteme yetkilendirme (yetkilendirme) denir. Örneğin, bir veritabanında, bir grup kullanıcının veritabanını güncellemesine/değiştirmesine izin verilirken, bazı kullanıcılar yalnızca verileri okuyabilir. Bu nedenle, bir kullanıcı veritabanında oturum açtığında, yetkilendirme şeması, bu kullanıcıya veritabanını değiştirme yeteneğinin mi yoksa yalnızca verileri okuma yeteneğinin mi verilmesi gerektiğini belirler. Bu nedenle, genel olarak, bir yetkilendirme şeması, kimliği doğrulanmış bir kullanıcının belirli bir kaynak üzerinde belirli bir işlemi gerçekleştirip gerçekleştiremeyeceğini belirler. Ayrıca yetkilendirme şemaları, kullanıcılara sistemdeki bazı kaynaklara erişim yetkisi verirken günün saati, fiziksel konum, sisteme erişim sayısı vb. gibi faktörleri kullanabilir.
Kimlik Doğrulama ve Yetkilendirme arasındaki fark nedir?
Kimlik doğrulama, bir sisteme erişim sağlamaya çalışan bir kullanıcının kimliğini doğrulama işlemidir, yetkilendirme ise kimliği doğrulanmış bir kullanıcının erişebileceği kaynakları belirlemek için kullanılan bir yöntemdir. Kimlik doğrulama ve yetkilendirme iki farklı görevi yerine getirse de, bunlar yakından ilişkilidir. Aslında, ana bilgisayar tabanlı ve istemci/sunucu sistemlerinin çoğunda, bu iki mekanizma aynı donanım/yazılım sistemleri kullanılarak uygulanır. Yetkilendirme şeması aslında sisteme giren ve kaynaklara erişim sağlayan kullanıcıların kimliklerini sağlamak için kimlik doğrulama şemasına bağlıdır.