en iyi yöntemleri ve önerileri Microsoft kimlik platformu
Bu makalede, Microsoft kimlik platformu tümleştirme sırasında en iyi yöntemler, öneriler ve yaygın gözetimler vurgulanmaktadır. Bu denetim listesi, yüksek kaliteli ve güvenli bir tümleştirme için size yol gösterir. Uygulamanızın kimlik platformuyla tümleştirmesinin kalitesini ve güvenliğini koruduğunuzdan emin olmak için bu listeyi düzenli aralıklarla gözden geçirin. Denetim listesi, uygulamanızın tamamını gözden geçirmeye yönelik değildir. Platformda iyileştirmeler yaptıkkçe denetim listesinin içeriği değiştirilebilir.
Yeni başlıyorsanız kimlik doğrulamasıyla ilgili temel bilgiler, Microsoft kimlik platformu uygulama senaryoları ve daha fazlası hakkında bilgi edinmek için Microsoft kimlik platformu belgelerine göz atın.
Uygulamanızın Microsoft kimlik platformu ile etkili bir şekilde tümleştirildiğinden emin olmak için aşağıdaki denetim listesini kullanın.
İpucu
Tümleştirme yardımcısı, bu en iyi yöntemlerin ve önerilerin çoğunu uygulamanıza yardımcı olabilir. Uygulama kayıtlarınızdan herhangi birini seçin ve ardından yardımcıyı kullanmaya başlamak için Tümleştirme yardımcısı menü öğesini seçin.
Temel bilgiler
Microsoft Platform İlkeleri'ni okuyun ve anlayın. Uygulamanızın, kullanıcıları ve platformu korumak için tasarlandıkları şekilde belirtilen koşullara uyduğunu güvence altına alın.
Sahiplik
Uygulamaları kaydetmek ve yönetmek için kullandığınız hesapla ilişkili bilgilerin güncel olduğundan emin olun.
Markalama
Uygulamalar için Markalama yönergelerine uyun.
Uygulamanız için anlamlı bir ad ve logo sağlayın. Bu bilgiler uygulamanızın onay isteminde görünür. Kullanıcıların bilinçli kararlar verebilmesi için adınızın ve logonuzun şirketinizin/ürününüzün temsili olduğundan emin olun. Ticari markaları ihlal etmediğinizden emin olun.
Gizlilik
Uygulamanızın hizmet koşullarına ve gizlilik bildirimine bağlantılar sağlayın.
Güvenlik
Yeniden yönlendirme URI'lerinizi yönetin:
- Tüm yeniden yönlendirme URI'lerinizin sahipliğini koruyun ve bunların DNS kayıtlarını güncel tutun.
- URI'lerinizde joker karakter (*) kullanmayın.
- Web uygulamaları için tüm URI'lerin güvenli ve şifrelenmiş olduğundan emin olun (örneğin, https düzenlerini kullanarak).
- Genel istemciler için, varsa platforma özgü yeniden yönlendirme URI'lerini kullanın (özellikle iOS ve Android için). Aksi takdirde, uygulamanıza geri çağrı yaparken çakışmaları önlemek için yüksek miktarda rastgelelik içeren yeniden yönlendirme URI'lerini kullanın.
- Uygulamanız yalıtılmış bir web aracısından kullanılıyorsa kullanabilirsiniz
https://login.microsoftonline.com/common/oauth2/nativeclient
. - Kullanılmayan veya gereksiz tüm yeniden yönlendirme URI'lerini düzenli olarak gözden geçirin ve kırpabilirsiniz.
Uygulamanız bir dizine kayıtlıysa, uygulama kayıt sahiplerinin listesini simge durumuna küçültün ve el ile izleyin.
Açıkça gerekmedikçe OAuth2 örtük verme akışı desteğini etkinleştirmeyin. Geçerli senaryo hakkında buradan bilgi edinin.
Kullanıcı adı/parolanın ötesine geçin. Kullanıcıların parolalarını doğrudan işleyen kaynak sahibi parola kimlik bilgisi akışını (ROPC) kullanmayın. Bu akış yüksek düzeyde güven ve kullanıcı maruziyeti gerektirir ve yalnızca diğer, daha güvenli akışlar kullanılamadığında kullanılmalıdır. Bu akış bazı senaryolarda (DevOps gibi) hala gereklidir, ancak bunu kullanmanın uygulamanıza kısıtlamalar getireceğini unutmayın. Daha modern yaklaşımlar için bkz . Kimlik doğrulama akışları ve uygulama senaryoları.
Web uygulamaları, web API'leri ve daemon uygulamaları için gizli uygulama kimlik bilgilerinizi koruyun ve yönetin. Parola kimlik bilgilerini (istemci gizli dizileri) değil sertifika kimlik bilgilerini kullanın. Parola kimlik bilgilerini kullanmanız gerekiyorsa, bunu el ile ayarlamayın. Kimlik bilgilerini kodda veya yapılandırmada depolamayın ve hiçbir zaman insanlar tarafından işlenmelerine izin verme. Mümkünse, kimlik bilgilerinizi depolamak ve düzenli olarak döndürmek için Azure kaynakları veya Azure Key Vault için yönetilen kimlikleri kullanın.
Uygulamanızın en az ayrıcalık izinleri istediğinden emin olun. Yalnızca uygulamanızın kesinlikle ihtiyaç duyduğu izinleri ve yalnızca ihtiyacınız olduğunda isteyin. Farklı izin türlerini anlama. Uygulama izinlerini yalnızca gerekirse kullanın; mümkün olduğunda temsilci izinlerini kullanın. Microsoft Graph izinlerinin tam listesi için bu izin başvurusuna bakın.
Microsoft kimlik platformu kullanarak bir API'nin güvenliğini sağlıyorsanız, kullanıma sunması gereken izinleri dikkatlice düşünün. Çözümünüz için doğru ayrıntı düzeyinin ne olduğunu ve hangi izinlerin yönetici onayı gerektirdiğini göz önünde bulundurun. Yetkilendirme kararları almadan önce gelen belirteçlerde beklenen izinleri denetleyin.
Uygulama
Kullanıcıları güvenli bir şekilde oturum açmak için modern kimlik doğrulama çözümlerini (OAuth 2.0, OpenID Connect) kullanın.
OAuth 2.0 ve Open ID gibi protokollere karşı doğrudan program yapmayın. Bunun yerine, Microsoft Kimlik Doğrulama Kitaplığı'nı (MSAL) kullanın. MSAL kitaplıkları güvenlik protokollerini kullanımı kolay bir kitaplıkta güvenli bir şekilde sarmalar ve Koşullu Erişim senaryoları, cihaz genelinde çoklu oturum açma (SSO) ve yerleşik belirteç önbelleğe alma desteği için yerleşik destek alırsınız. Daha fazla bilgi için Microsoft tarafından desteklenen istemci kitaplıkları listesine bakın. Kimlik doğrulama protokolleri için el ile kod oluşturmanız gerekiyorsa, Microsoft SDL veya benzer geliştirme metodolojisini izlemeniz gerekir. Her protokolün standart belirtimlerindeki güvenlik konularına çok dikkat edin.
Erişim belirteci değerine BAKMAYIN veya istemci olarak ayrıştırmaya çalışma. Değerleri, biçimleri değiştirebilir, hatta uyarı vermeden şifrelenebilirler. İstemcinizin kullanıcı hakkında bir şey öğrenmesi gerekiyorsa her zaman kimlik belirtecini kullanın. Yalnızca web API'leri erişim belirteçlerini ayrıştırmalıdır (biçimi tanımlayan ve şifreleme anahtarlarını ayaranlardır). Erişim belirtecini istemci tarafından doğrudan bir API'ye göndermek, belirli kaynaklara erişim sağlayan hassas kimlik bilgileri olduğundan güvenlik riski oluşturur. Geliştiriciler, erişim belirtecini doğrulamak için istemciye güvenilebileceğini varsaymamalıdır.
Mevcut uygulamaları Azure Active Directory Kimlik Doğrulama Kitaplığı'ndan (ADAL) Microsoft Kimlik Doğrulama Kitaplığı'na geçirin. MSAL, Microsoft'un en son kimlik platformu çözümüdür ve .NET, JavaScript, Android, iOS, macOS, Python ve Java'da kullanılabilir. ADAL.NET, ADAL.js, ADAL.NET ve iOS aracı uygulamalarını geçirme hakkında daha fazla bilgi edinin.
Mobil uygulamalar için, uygulama kayıt deneyimini kullanarak her platformu yapılandırın. Uygulamanızın çoklu oturum açma için Microsoft Authenticator veya Microsoft Şirket Portalı'dan yararlanabilmesi için uygulamanızın yapılandırılmış bir "aracı yeniden yönlendirme URI'si" olması gerekir. Bu, Microsoft'un kimlik doğrulaması sonrasında denetimi uygulamanıza döndürmesine olanak tanır. Her platformu yapılandırırken, uygulama kayıt deneyimi süreç boyunca size yol gösterir. Çalışan bir örneği indirmek için hızlı başlangıcı kullanın. iOS'ta mümkün olduğunca aracıları ve sistem web görünümü kullanın.
Web uygulamalarında veya web API'lerinde hesap başına bir belirteç önbelleği tutun. Web uygulamaları için belirteç önbelleği hesap kimliğine göre anahtarlanmalıdır. Web API'leri için hesap, API'yi çağırmak için kullanılan belirtecin karması tarafından anahtarlanmalıdır. MSAL.NET hem .NET hem de .NET Framework'te özel belirteç önbelleği serileştirmesi sağlar. Güvenlik ve performans nedenleriyle, kullanıcı başına bir önbelleği seri hale getirmemiz önerilir. Daha fazla bilgi için belirteç önbelleği serileştirmesi hakkında bilgi edinin.
Uygulamanızın gerektirdiği veriler Microsoft Graph aracılığıyla kullanılabiliyorsa, tek tek API yerine Microsoft Graph uç noktasını kullanarak bu veriler için izin isteyin.
Son kullanıcı deneyimi
Onay deneyimini anlayın ve uygulamanızın onay isteminin parçalarını yapılandırarak son kullanıcıların ve yöneticilerin uygulamanıza güvenip güvenmediklerini belirlemek için yeterli bilgiye sahip olmasını sağlayın.
Etkileşimli akışlardan önce sessiz kimlik doğrulaması (sessiz belirteç alma) deneyerek uygulamanızı kullanırken kullanıcının oturum açma kimlik bilgilerini girme sayısını en aza indirin.
Her oturum açma için "prompt=consent" kullanmayın. Yalnızca ek izinler için onay istemeniz gerektiğini belirlediyseniz (örneğin, uygulamanızın gerekli izinlerini değiştirdiyseniz) prompt=consent kullanın.
Uygun olduğunda, uygulamanızı kullanıcı verileriyle zenginleştirin. Microsoft Graph API'sini kullanmak bunu yapmak için kolay bir yoldur. Kullanmaya başlamanıza yardımcı olabilecek Grafik Gezgini aracı.
Yöneticilerin kiracılarına kolayca onay verebilmesi için uygulamanızın gerektirdiği tam izin kümesini kaydedin. Kullanıcıların, uygulamanızın ilk başlangıçta istendiğinde kullanıcıları ilgilendirebilecek veya karıştırabilecek izinler isteme nedenini anlamasına yardımcı olmak için çalışma zamanında artımlı onay kullanın.
Temiz bir çoklu oturum kapatma deneyimi uygulayın. Bu bir gizlilik ve güvenlik gereksinimidir ve iyi bir kullanıcı deneyimi sağlar.
Test Etme
Kullanıcılarınızın uygulamanızı kullanma becerisini etkileyebilecek Koşullu Erişim ilkelerini test edin.
Uygulamanızı desteklemeyi planladığınız tüm olası hesaplarla (örneğin, iş veya okul hesapları, kişisel Microsoft hesapları, çocuk hesapları ve bağımsız hesaplar) test edin.
Ek kaynaklar
V2.0 hakkında ayrıntılı bilgileri keşfedin: