COMPUTER ENGINEER

Örneklere git
Blog
HTTP / HTTPS / TLS6 dk çalışma
38/ 70

Authorization · Yetkilendirme

Authorization: kim, hangi kaynağa, ne yapabilir?

İşlem, kaynak, bağlam ve deny-by-default yaklaşımı.

AnlaÖrneği inceleKendin uygula

Kavramı anlayalım

Authorization doğrulanmış veya anonim öznenin bir işlem yapma iznini değerlendirir. “Giriş yaptı mı?” gerekli olabilir ama yeterli değildir. Kullanıcı raporu okuyabilir, değiştiremeyebilir; kendi CV’sini görebilir, başkasınınkini göremez. İzin kararı özne, kaynak, işlem ve bağlamdan oluşur. Sisteme yeni endpoint eklenince varsayılanın yanlışlıkla açık olmaması için default-deny yaklaşımı önemlidir.

Kaynak yetkisi API’de ve veri sorgusunda uygulanır. Navbar’da admin linkini gizlemek UX’tir; güvenlik sınırı değildir. Kaynak ID’sinin UUID olması tahmini zorlaştırabilir ama yetki kontrolünün yerine geçmez. Listeleme, detay, dosya indirme, update, export ve background job sonuçları aynı kapsam politikasına uymalıdır. “GET zararsızdır” diye özel veriyi açmak yanlıştır.

Policy okunabilir iş kurallarına dayanmalı, yalnız route string’ine göre izin verilmemelidir. İzin değişince aktif session veya token’daki eski claim ne olacak sorusunu da cevapla. Başarılı ve başarısız kararları hassas bilgiyi ifşa etmeden izleyebilirsin. Düşük ayrıcalıklı kullanıcı, farklı tenant, rol iptali ve anonim istek testleri yap. Authentication doğrulaması bittiğinde güvenlik işi henüz bitmemiştir.

NERESİNDE KULLANIRSIN?

Her özel veri ve admin işlemine gerçek erişim sınırı kurarken.

SIK YAPILAN HATA

Butonu gizlemek veya tahmin edilemez ID kullanmakla yetinmek.

01 / UYGULAMA

Aynı konu. Üç farklı derinlik.

HTTP / temsili örnek
Subject + resource + action + context → decision

Kaynak bazlı karar; tek login kontrolü değil.

Bu sayfa dış sunuculara istek göndermez. HTTP mesajları temsili, HTTP/1.1 biçiminde okunabilir gösterimlerdir; HTTP/2 ve HTTP/3 wire formatı değildir. example.test ayrılmış öğretim alan adıdır. Komut ve JavaScript örneklerini yalnız kendi test ortamında uygula; gerçek token veya cookie yayımlama.

02 / SIRA SENDE

Önce kendin dene.

UI’da sil butonu yok ama DELETE endpoint’i açık. Güvenli mi?

Çözümü ve açıklamasını göster
Açıklamalı çözüm
No: enforce permission server-side.

Hayır. İstemci endpoint’i doğrudan çağırabilir.