Yetkilendirme Nedir? Tanımı, Nasıl Çalışır ve Kullanım Alanları
Yetkilendirme (Authorization), başarıyla kimliği doğrulanmış bir kullanıcının, hangi kaynaklara erişebileceğini ve hangi işlemleri yapabileceğini belirleyen güvenlik mekanizmasıdır. İşletmeler, yazılım uygulamaları ve kurumsal sistemlerde veri koruması ve erişim kontrolü için kullanılır. Kimlik doğrulama (Authentication) ile birlikte çalışarak kapsamlı bir güvenlik yapısı oluşturur.
Yetkilendirme (Authorization), bir sistemde kimliği doğrulanmış kullanıcı veya uygulamanın, belirli kaynaklar ve işlemlere erişme hakkını kontrol eden güvenlik mekanizmasıdır. Banka hesaplarından şirket verilerine, sosyal medya profillerinden tıbbi kayıtlara kadar, dijital dünyada her türlü hassas bilgi yetkilendirme sistemleriyle korunur. Yetkilendirme, kimlik doğrulama (Authentication) ile sıkı sıkıya bağlıdır: kimlik doğrulama "siz kimsiniz?" sorusuna yanıt verirken, yetkilendirme "ne yapabilirsiniz?" sorusuna yanıt verir.
Yetkilendirme Nasıl Çalışır?
Yetkilendirme süreci üç temel aşamadan oluşur:
- Kimlik Doğrulama: Kullanıcı, kullanıcı adı-şifre, biyometrik veri veya token gibi bilgilerle sistemde kimlik doğrular.
- Yetki Kontrolü: Sistem, doğrulanan kullanıcının profilinde tanımlı izinleri kontrol eder. Hangi dosyalara erişebilir? Ne yazabılır? Silme yetkisi var mı? gibi sorulara yanıt aranır.
- Erişim Kararı: Yeterli izni varsa kaynak açılır, yoksa erişim engellenir ve genellikle "403 Forbidden" (Yasaklı) hatası döner.
Örnek: Bir şirketin bilgisayarında Ahmet, "Pazarlama" klasöründe çalışabilir ancak "İnsan Kaynakları" klasörüne erişemez. Muhasebe sistemi içindeki raporları okuyabilir ama düzenleyemez. Tüm bu kurallar yetkilendirme mekanizması tarafından enforsu edilir.
Yetkilendirme Türleri
Yetkilendirme stratejileri, sistemi tasarlayan kurum ve teknoloji mimarisine göre değişir:
Rol Tabanlı Erişim Kontrolü (Role-Based Access Control – RBAC)
Kullanıcılar, "Yönetici", "Editör", "Okuyucu" gibi rollerle gruplanır. Her rol önceden tanımlı izinlere sahiptir. En yaygın ve yönetimi kolay yöntemdir.
Öznitelik Tabanlı Erişim Kontrolü (Attribute-Based Access Control – ABAC)
Kullanıcının öznitelikleri (yaş, departman, yerleşim yeri, zaman), kaynağın öznitelikleri ve ortam şartları birleştirilip karar verilir. Daha esnek ve güçlüdür.
Erişim Kontrol Listesi (Access Control List – ACL)
Her kaynağın yanında, o kaynağa erişebilen kişilerin listesi tutulur. "Bu dosyaya Ayşe, Can ve Deniz erişebilir" biçiminde. Esnektir ama çok sayıda kullanıcılı sistemlerde yönetimi zor olur.
Politika Tabanlı Erişim Kontrolü (Policy-Based Access Control)
Karmaşık kurallar ve politikalar belirlenip, sistem bu kurallara göre kararlar alır. "23:00'den sonra hassas verilere mobil cihazlardan erişim yasak" gibi şartlar tanımlanabilir.
Yetkilendirme Nerede Kullanılır?
| Alan | Kullanım Örneği |
|---|---|
| Web Uygulamaları | Gmail'de başka birinin postaları okuyamazsınız; LinkedIn'de bağlantılarınız dışındaki profil detayları gizlidir. |
| Kurumsal Yazılımlar | ERP, CRM sistemlerinde satış temsilcisi müşteri bilgilerine erişebilir ama muhasebe verilerine erişemez. |
| Dosya Sistemi | Windows, Linux, macOS'ta dosya ve klasörlerin okuma, yazma, çalıştırma izinleri farklı kullanıcılara verilir. |
| Bulut Platformları | AWS, Azure'da IAM (Kimlik ve Erişim Yönetimi) politikalarıyla sunucular, veritabanları, depolama alanları korunur. |
| Sağlık Hizmetleri | Sadece yetkili doktorlar, hemşireler ve personel hastaya ait tıbbi kayıtlara erişebilir. |
| Finansal Kurumlar | Banka müşterisi kendi hesabını görebilir ama başkasının hesabına erişemez. |
Yetkilendirme ile Kimlik Doğrulama Arasındaki Fark
Kimlik Doğrulama (Authentication): "Siz Ayşe misiniz?" – Kimliğini kanıtlarsan sistem seni tanır.
Yetkilendirme (Authorization): "Ayşe, siz raporları düzenleyebilir misiniz?" – Tanınan kimsenin yapabileceği işlemler belirlenir.
Örneğin bir otel: Kimlik doğrulama, pasaportunuzu kontrol edip sizi misafir olarak tanımaktır. Yetkilendirme ise size verilen oda kartı sayesinde sadece 302 numaralı odaya girip, yüzme havuzunu kullanabileceğinizi belirlenmesidir. Başka misafirlerin odalarına giremezsiniz.
Yetkilendirme Avantajları
- Veri Güvenliği: Yetkisiz kişiler gizli bilgilere erişemez.
- Sorumluluk Takibi: Kimin ne yaptığını ve ne değiştirdiğini izlemek mümkün olur.
- Uyumluluk: KVKK, HIPAA, GDPR gibi mevzuata uyum sağlanır.
- Operasyonel Verimlilik: Çalışanlar sadece ihtiyaç duydukları alanlara erişir, odaklanması artar.
- Hata Riski Azalır: Yetki olmayan kişi yanlış işlem yapamaz.
Yetkilendirme Dezavantajları ve Zorlukları
- Yönetim Karmaşıklığı: Binlerce kullanıcı ve kaynağı yönetmek zor olabilir.
- Yapılandırma Hataları: Yanlış kurallar tasarlandığında, kullanıcılar ihtiyaç duydukları işlemleri yapamayabilir.
- Performans Etkisi: Her istekte izin kontrolü yapılması sistem yükünü artırabilir.
- Değişime Uyum: Kurum yeniden yapılandığında yetkilendirme kuralları güncellenmesi gerekir.
- Privilege Creep Sorunu: Zaman içinde kullanıcılar fazla yetki biriktirebilir, bu düzenli gözden geçirilmelidir.