Güvenliği en az ayrıcalık ilkesiyle geliştirme

En az ayrıcalıklı bilgi güvenliği ilkesi, kullanıcılara ve uygulamalara yalnızca işlerini gerçekleştirmek için ihtiyaç duydukları veri ve işlemlere erişim verilmesi gerektiğini onaylar. Bir uygulamanın saldırı yüzeyini azaltmaya yardımcı olmak ve Microsoft kimlik platformu tümleşik bir uygulamada güvenlik ihlalinin (patlama yarıçapı) etkisini azaltmaya yardımcı olmak için buradaki yönergeleri izleyin.

Bir bakışta Öneriler

  • Kullanılmayan ve azaltılabilir izinleri iptal ederek fazla ayrıcalıklı uygulamaları önleyin.
  • Kimlik platformunun onay çerçevesini kullanarak, uygulamadan korunan verilere erişim isteğine insan onayı istenebilir.
  • Geliştirmenin tüm aşamalarında en az ayrıcalığı göz önünde bulundurarak uygulamalar oluşturun .
  • Fazla ayrıcalıklara sahip olanları belirlemek için dağıtılan uygulamaları düzenli aralıklarla kontrol edin.

Fazla ayrıcalıklı uygulamalar

Kullanılmayan veya azaltılabilir izin verilen tüm uygulamalar fazla ayrıcalıklı olarak kabul edilir. Kullanılmayan ve azaltılabilir izinler, uygulamanın veya kullanıcılarının işlerini gerçekleştirmesi için gerekli olmayan verilere veya işlemlere yetkisiz veya istenmeyen erişim sağlama potansiyeline sahiptir. Yalnızca uygun izinleri vererek kullanılmayan ve azaltılabilir izinlerin neden olduğu güvenlik risklerinden kaçının. Uygun izinler, bir uygulamanın veya kullanıcının gerekli görevlerini gerçekleştirmesi için gereken en az izinli erişime sahip olan izinlerdir.

Kullanılmayan izinler

Kullanılmayan izin, bir uygulamaya verilmiş olan ancak api'sinin veya bu izin tarafından kullanıma sunulan işleminin amaçlandığı gibi kullanıldığında uygulama tarafından çağrılmadığı bir izindir.

  • Örnek: Bir uygulama, Dosyalar.Okuma iznini kullanarak Microsoft Graph API'sini çağırarak oturum açmış kullanıcının OneDrive'ında depolanan dosyaların listesini görüntüler. Ancak, uygulamaya Calendars.Read izni de verilmiştir, ancak takvim özelliği sağlamaz ve Takvimler API'sini çağırmaz.

  • Güvenlik riski: Kullanılmayan izinler yatay ayrıcalık yükseltme güvenlik riski oluşturur. Uygulamadaki bir güvenlik açığından yararlanan bir varlık, amaçlandığı gibi kullanıldığında normalde desteklenmeyen veya uygulama tarafından izin verilmeyen bir API'ye veya işleme erişim elde etmek için kullanılmayan bir izin kullanabilir.

  • Azaltma: Uygulama tarafından yapılan API çağrılarında kullanılmayan tüm izinleri kaldırın.

Azaltılabilir izinler

Azaltılabilir izin, uygulamaya ve kullanıcılarına gerekli görevlerini gerçekleştirmek için ihtiyaç duydukları erişimi sağlamaya devam eden daha düşük ayrıcalıklı bir karşılık gelen izindir.

  • Örnek: Bir uygulama, Microsoft Graph API'sini çağırarak oturum açmış kullanıcının profil bilgilerini görüntüler, ancak profil düzenlemeyi desteklemez. Ancak uygulamaya User.ReadWrite.All izni verilmiştir. User.ReadWrite.All izni burada azaltılabilir olarak kabul edilir çünkü daha az izin veren User.Read.All izni, kullanıcı profili verilerine yeterli salt okunur erişim verir.

  • Güvenlik riski: Azaltılabilir izinler dikey ayrıcalık yükseltme güvenlik riski oluşturur. Uygulamadaki bir güvenlik açığından yararlanan bir varlık, verilere yetkisiz erişim için azaltılabilir izni kullanabilir veya varlığın bu rolü tarafından normalde izin verilmeyen işlemler gerçekleştirebilir.

  • Azaltma: Uygulamadaki indirgenebilir izinlerin her birini, uygulamanın hedeflenen işlevselliğini etkinleştirmeye devam eden en az izin verilen karşılığıyla değiştirin.

Uygulamaların çoğu korumalı verilere erişim gerektirir ve bu verilerin sahibinin bu erişimi onaylaması gerekir. Onay, Microsoft Entra kiracısında tüm kullanıcılar için onay verebilen bir kiracı yöneticisi veya erişim verebilen uygulama kullanıcıları tarafından da dahil olmak üzere çeşitli yollarla verilebilir.

Bir cihazda çalışan bir uygulama korumalı verilere erişim istediğinde, korumalı verilere erişim vermeden önce kullanıcının onayını istemelidir. Uygulamanın ilerlemesi için kullanıcının istenen izin için onay vermesi (veya reddetmesi) gerekir.

Uygulama geliştirme sırasında en az ayrıcalık

Bir uygulamanın ve eriştiği kullanıcı verilerinin güvenliği geliştiricinin sorumluluğundadır.

Uygulama geliştirme sırasında fazla ayrıcalıklı hale getirmemeye yardımcı olmak için bu yönergelere uyun:

  • Uygulamanın yapması gereken API çağrıları için gereken izinleri tam olarak anlayın.
  • Graph Explorer kullanarak uygulamanın yapması gereken her API çağrısı için en az ayrıcalıklı izni anlayın.
  • En azdan en ayrıcalıklıya kadar ilgili izinleri bulun.
  • Uygulamanın çakışan izinlere sahip API çağrıları yaptığı durumlarda yinelenen izin kümelerini kaldırın.
  • İzin listesinde en az ayrıcalıklı izni seçerek uygulamaya yalnızca en az ayrıcalıklı izin kümesini uygulayın.

Dağıtılan uygulamalar için en az ayrıcalık

Kuruluşlar, normal iş operasyonlarını etkilememek için çalışan uygulamaları değiştirmekten sık sık çekiniyor. Ancak, bir kuruluş, zamanlanmış bir uygulama güncelleştirmesi için fazla ayrıcalıklı izinleri kullanarak güvenlik olayının olası veya daha ciddi hale getirme riskini azaltmayı göz önünde bulundurmalıdır.

Dağıtılan uygulamaların fazla ayrıcalıklara sahip olmadığından ve zaman içinde fazla ayrıcalıklara sahip olmadığından emin olmak için kuruluşta bu standart uygulamaları yapın:

  • Uygulamalardan yapılan API çağrılarını değerlendirin.
  • Gerekli ve en az ayrıcalıklı izinler için Graph Gezgini'ni ve Microsoft Graph belgelerini kullanın.
  • Kullanıcılara veya uygulamalara verilen denetim ayrıcalıkları.
  • Uygulamaları en az ayrıcalıklı izin kümesiyle güncelleştirin.
  • Tüm yetkili izinlerin hala uygun olduğundan emin olmak için izinleri düzenli olarak gözden geçirin.

Sonraki adımlar