Yetkilendirme
Yetkilendirme, doğrulanmış bir kullanıcının (veya sistemin) belirli kaynaklara erişme veya belirli eylemleri gerçekleştirme iznine sahip olup olmadığını belirleyen güvenlik sürecidir.
Yetkilendirme, bir kullanıcının ne yapmasına izin verildiğini belirler. Kimin kullanıcı olduğunu doğrulayan kimlik doğrulamasını takip eder. Yetkilendirme, önceden tanımlanmış kural ve politikalara göre erişim izni vermek veya reddetmek için rol tabanlı erişim kontrolü (RBAC) veya öznitelik tabanlı erişim kontrolü (ABAC) gibi erişim kontrol mekanizmalarına dayanır. Bu süreç, kullanıcıların yalnızca kullanmaya yetkili oldukları kaynaklara ve işlevlere erişmesini sağlayarak güvenliği artırır ve yetkisiz eylemleri önler.
graph LR
Center["Yetkilendirme"]:::main
Pre_authentication["authentication"]:::pre --> Center
click Pre_authentication "/terms/authentication"
Rel_rbac["rbac"]:::related -.-> Center
click Rel_rbac "/terms/rbac"
Rel_authentication["authentication"]:::related -.-> Center
click Rel_authentication "/terms/authentication"
Rel_single_sign_on_sso["single-sign-on-sso"]:::related -.-> Center
click Rel_single_sign_on_sso "/terms/single-sign-on-sso"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧒 5 yaşındaki gibi açıkla
🔑 Yetkilendirme, sizin siz olduğunuzu değil, *hangi kitapları* ödünç almaya izniniz olduğunu görmek için kütüphanecinin kütüphane kartınızı kontrol etmesine benzer.
🤓 Expert Deep Dive
``markdown
## Teknik Özellikler: Yetkilendirme - Derinlemesine Analiz
Yetkilendirme, kimliği doğrulanmış bir ana unsurun (kullanıcı, hizmet vb.) belirli kaynaklara ve eylemlere yönelik erişim haklarını ve izinlerini doğrulama ve uygulama sürecidir. Kimlik doğrulama başarılı olduktan sonra çalışır.
### Temel Kavramlar
Kimlik Doğrulamadan (Authentication) Farkı: Kimlik doğrulama kimliği doğrular ('kim olduğunuz'); Yetkilendirme ise izin verilen işlemleri tanımlar ('ne yapabileceğiniz').
Politika Tabanlı Karar Verme: İstekler önceden tanımlanmış politikaların değerlendirilmesine dayanarak erişim verilir veya reddedilir.
İzinlerin Ayrıntı Düzeyi (Granularity): İzinler, geniş rollerden belirli kaynaklar üzerindeki ayrıntılı eylemlere (örneğin, okuma, yazma, silme, yürütme) kadar çeşitlilik gösterir.
Kaynak Odaklı mı, Kimlik Odaklı mı: Yetkilendirme, ana unsurların bir kaynağa ne kadar erişebileceğini tanımlayarak veya bir ana unsurun hangi kaynaklara ve eylemlere izin verildiğini tanımlayarak modellenebilir.
Bağlamsal Yetkilendirme: Erişim kararları dinamik çevresel faktörleri (örneğin, zaman, konum, cihaz durumu) içerebilir.
### Yetkilendirme Modelleri
Erişim Kontrol Listeleri (ACL'ler): Ana unsurlar için erişimi belirten, kaynaklara eklenmiş izinler.
Rol Tabanlı Erişim Kontrolü (RBAC): İzinler rollere atanır ve bu roller daha sonra kullanıcılara atanır. Yönetimi basitleştirir.
Öznitelik Tabanlı Erişim Kontrolü (ABAC): Erişim kararları, özne, nesne, eylem ve ortamın özniteliklerini değerlendiren politikalarla belirlenir. Yüksek derecede esneklik sağlar.
Politika Tabanlı Erişim Kontrolü (PBAC): Erişim, açık, beyan edilebilir politikalarla yönlendirilir; genellikle ABAC'ı kapsar.
### Yetkilendirme Karar Yaşam Döngüsü
Politika Uygulama Noktası (PEP): İstekleri yakalar ve karar için iletir.
Politika Karar Noktası (PDP): Politikaları değerlendirir ve bir İzin Ver/Reddet kararı verir.
Politika Bilgi Noktası (PIP): PDP'ye bağlam veya öznitelikler sağlar.
* Politika Yönetim Noktası (PAP): Politikaları yönetir.
### Teknik Hususlar
IAM, veritabanları gibi veri depolama, API ağ geçitleri, servis ağları gibi uygulama mekanizmaları, dinamik ve statik yetkilendirme, dağıtılmış sistem zorlukları (JWT'ler, mikroservisler), ölçeklenebilirlik, geri alma (revocation), denetim (auditing), En Az Ayrıcalık İlkesi ve Görev Ayrımı gibi konuları içerir.
### ELI5 Benzetmesi: Kütüphane Sistemi
Kimlik doğrulama, kütüphane kartı için kimlik göstermektir. Yetkilendirme ise kartınızın neye izin verdiğidir: kitap ödünç alma, çalışma odalarına erişme veya nadir arşivleri görüntüleme. Kütüphaneci, erişiminizi belirlemek için kartınızın izinlerini kütüphane kurallarına (politikalara) karşı kontrol eder.
``