Kimlik doğrulama, arayan kişiyle ilgili bir şeyi kanıtlar. Yetkilendirme, arayanın bu müşterinin raporlarını alıp alamayacağını veya bu işlemi gerçekleştirip gerçekleştiremeyeceğini belirler. Geçerli bir API kimlik bilgisi, kiracı sınırlarının etrafında bir kısayol haline gelmemelidir. Uç noktaları veya arka plan işlerini eklemeden önce bir izin matrisiyle başlayın.
Kimliği istenen nesneye bağlayın
Arayanın kimliğini desteklenen kimlik doğrulama mekanizması aracılığıyla çözümleyin, ardından yetkili kiracısını ve işlem kapsamlarını güvenilen sunucu tarafı durumundan alın. Bir URL'deki veya istek gövdesindeki kiracı kimliğini izin kanıtı olarak değil, istenen hedef olarak değerlendirin. Raporu kontrol edin, işi dışa aktarın ve arayanın gerçek iznine göre yapıyı indirin.
OWASP'ın Yetkilendirme Hile Sayfası her istekte en az ayrıcalık, varsayılan olarak reddetme ve izin doğrulamayı önerir. Bu ilkeleri eşzamansız çalışanlara ve indirme bağlantılarının yanı sıra ilk API çağrısına da uygulayın. Yasal olarak oluşturulan bir dışarı aktarmanın, nesne kimliğinin tahmin edilmesi kolay olduğundan, daha sonra farklı bir kiracı tarafından indirilememesi gerekir.
Okuma erişimini değişiklik yetkisinden ayırın
Bir rapor okuyucusu, onaylanmış etki alanı verilerini alabilir ancak otomatik olarak DNS yazma iznini almamalıdır. Bir DNS operatörünün depolanan rapor geçmişine erişmesine gerek olmayabilir. Bir denetçi, ham mesajlar yerine kısıtlı kanıt görünümüne ihtiyaç duyabilir. Her rolün izin verilen nesnelerini ve işlemlerini belgeleyin ve gizli yönetimi sıradan günlüklerin ve dışa aktarmaların dışında tutun.
Bir otomasyon kimlik bilgisinin yalnızca kiracı A'nın raporlarını okumak için onaylandığını varsayalım. Geçerli kimlik doğrulamasına rağmen, kiracı A için bir DNS değişikliğinin ve kiracı B için okunan bir raporun her ikisinin de bu izin kapsamında reddedilmesi gerekir. Ayrı, açıkça onaylanmış bir işletmeci hibesi, kendi nesne ve operasyon kontrollerine ihtiyaç duyacaktır. Bunlar varsayımsal olarak beklenen kararlardır; uygulanan izin matrisi veya EmailAuth rollerinin açıklaması değildir.
Negatif testleri kabulün bir parçası haline getirin
İzin verilen aynı kiracı raporu okumasını çalıştırın ve ardından yalnızca istenen kiracıyı değiştirin. Eksik bir okuma kapsamı ve iptal edilen bir sorumlu ile tekrarlayın. Ayrıca nesne düzeyindeki kimlikler, depolanan dışa aktarmalar, sıraya alınmış işler ve değişen grup üyelikleri için gerçek testler planlayın. Başka bir müşterinin hesabını araştırmak yerine yetkili sentetik kiracıları ve zararsız verileri kullanın.
Yetkili her test için fiili kararı ve açıklanan yanıt alanlarını kaydedin. Reddedilen bir istek, meta veriler, sayımlar, indirme bağlantıları veya önbelleğe alınmış sonuçlar yoluyla özel nesne ayrıntılarını sızdırmamalıdır. Doğru uygulamayı herkesi reddeden bir uç noktadan ayırmak için geçerli bir kapsamlı okuma ekleyin. Burada hiçbir belirteç sistemi, OAuth akışı veya üretim yetkilendirme testi sağlanmaz veya yürütülmez.
Hibeyi yaşam döngüsü boyunca işletin
Hibe sahibini, onaylanan amacı, kiracı kapsamını, sona erme veya inceleme tetikleyicisini ve iptal yolunu kaydedin. Kimlik bilgileri materyalini onaylanmış gizli sistemde saklayın, kontrollü bir prosedür altında dönüşümlü olarak kullanın ve sırrı kaydetmeden kullanımı denetleyin. Geciken işi yürütürken yetkiyi yeniden kontrol edin; sıraya alınmış bir görev, iptalden sonra izinleri süresiz olarak saklamamalıdır.
Temel veri hassasiyetini inceleyin. RFC 9990 açıklar toplu rapor içerik ve güvenlik hususları; rapor meta verileri hâlâ kontrollü açıklamayı hak ediyor. Yetkilendirme hatası durumunda, başka bir kiracının özel nesnelerini onaylamadan uygun bir ret yanıtı verin. Kiracılar arası veriler keşfedilirse, maruz kalmayı kontrol altına alın ve kuruluşun olay prosedürünü başlatın. Sadece kullanıcı arayüzünü değiştirip API'nin güvenli olduğunu varsaymayın.
OWASP'ın çok kiracılı kılavuzu, özellikle eşzamansız çalışma, önbellek/oturum ve dosya depolama bölümleri, kapsamın ilk isteğin ötesinde uygulanmasını ve gecikmeli yürütme sırasında zamana duyarlı izinlerin yeniden kontrol edilmesini destekler.