1.11 JAAS (Java Authentication & Authorization Service)


JAAS (Java Authentication & Authorization Service), Java Kimlik Denetimi ve
Yetkilendirme Servisi istemci ve sunucu tarafındaki Java uygulamalarımızın güvenli
çalışmasını sağlamak için çözümler sunan bir uygulama geliştirme ara yüzüdür. Eski
Java güvenlik yapılarında kullanılan yöntemlerde sistem kullanıcıyı taşınabilir koddan
korumak üzerine odaklanmıştır. Diğer bir deyişle güvenlik yapısının temeli kodun
kaynağına yani kim tarafından yazıldığı bilgisi üzerine kuruludur. Uygulamanın
çalışma zamanında hangi kodun çalıştırıldığı, bu koda verilen izinler kontrol edilir;
yani kullanıcı tabanlı erişim hakkı kontrolü hiçbir zaman yapılmaz. Güvenlik Politikası
Dosyası(Security Policy File) adı verilen, özel bir sözdizimine sahip dosya içerisinde
uygulamadaki koda özel erişim izinleri verilir. Böylece koruma altındaki bir sistem
kaynağına erişim talebi geldiğinde kodun karakteristiğine(kodun nereden geldiğine,
varsa dijital imzasına ve sahibine) bakılır. Politika dosyası üzerinden verilmiş haklar
ile erişimi gerçekleştirmek için gerekli olan haklar karşılaştırılır. İlki ikincisini de
kapsıyorsa erişime izin verilir; kapsamıyorsa istem reddedilir. Kod tabanlı denetimin
yapıldığı bu sistemde kodun kime ait olduğu dışında kim tarafından çalıştırıldığı ise
tamamen göz ardı edilir.
Bununla birlikte Java’nın çok kullanıcılı ortamlarda kullanımı oldukça
yaygındır. Örneğin kurumsal bir uygulama birçok kullanıcı ile aynı anda etkileşim
içindedir ve bu kullanıcılara kimliklerine göre farklı ayrıcalıklar vermelidir.