Geliştirdiğiniz istemci uygulamalarında kimlik doğrulaması ve yetkilendirmenin dayanıklılığını artırın

Kullanıcılarda oturum açmak ve bu kullanıcılar adına eylemler gerçekleştirmek için Microsoft kimlik platformu ve Microsoft Entra Kimliğini kullanan istemci uygulamalarında dayanıklılık oluşturmayı öğrenin.

Microsoft Kimlik Doğrulama Kitaplığı'nı (MSAL) kullanma

Microsoft Authentication Library (MSAL), Microsoft kimlik platformu bir parçasıdır. MSAL belirteçleri alır, yönetir, önbelleğe alır ve yeniler; dayanıklılık için en iyi yöntemleri kullanır. MSAL, geliştiricilerin güvenli çözümler oluşturmalarına yardımcı olur.

Daha fazla bilgi edinin:

MSAL belirteçleri önbelleğe alır ve sessiz bir belirteç alma düzeni kullanır. MSAL, Evrensel Windows Platformu (UWP), iOS ve Android gibi güvenli depolamayı yerel olarak sağlayan işletim sistemlerinde belirteç önbelleğini seri hale getirmektedir. Kullanırken serileştirme davranışını özelleştirin:

  • Microsoft.Identity.Web
  • MSAL.NET
  • Java için MSAL
  • Python için MSAL

Daha fazla bilgi edinin:

MSAL kullanırken belirteç önbelleğe alma, yenileme ve sessiz alma desteklenir. Kimlik doğrulaması için belirteçleri almak için basit desenler kullanın. Birçok dil için destek sağlanır. Kod örneği Microsoft kimlik platformu kod örneklerini bulun.

try
{
    result = await app.AcquireTokenSilent(scopes, account).ExecuteAsync();
}
catch(MsalUiRequiredException ex)
{
    result = await app.AcquireToken(scopes).WithClaims(ex.Claims).ExecuteAsync()
}

MSAL belirteçleri yenileyebilir. Microsoft kimlik platformu uzun ömürlü bir belirteç gönderdiğinde, belirteci yenilemek için istemciye bilgi gönderebilir (refresh_in). Eski belirteç geçerliyken uygulama çalışır, ancak başka bir belirteç alımı daha uzun sürer.

MSAL sürümleri

Kimlik doğrulaması uygulama güvenliğinin bir parçası olduğundan geliştiricilerin en son MSAL sürümünü kullanmak için bir süreç oluşturmasını öneririz. Geliştirme aşamasındaki kitaplıklar için bu uygulamayı kullanın ve uygulama dayanıklılığını geliştirin.

En son sürüm ve sürüm notlarını bulun:

Belirteç işleme için dayanıklı desenler

MSAL kullanmıyorsanız, belirteç işleme için dayanıklı desenler kullanın. MSAL kitaplığı en iyi yöntemleri uygular.

Genel olarak, modern kimlik doğrulaması kullanan uygulamalar kullanıcının kimliğini doğrulayan belirteçleri almak için bir uç nokta çağırır veya uygulamayı korumalı API'leri çağırmaya yetkiler. MSAL, kimlik doğrulamasını işler ve dayanıklılığı geliştirmek için desenler uygular. MSAL kullanmıyorsanız, en iyi yöntemler için bu bölümdeki yönergeleri kullanın. Aksi takdirde, MSAL en iyi uygulamaları otomatik olarak uygular.

Önbellek belirteçleri

Uygulamaların belirteçleri Microsoft kimlik platformu doğru bir şekilde önbelleğe almalarını sağlayın. Uygulamanız belirteçleri aldıktan sonra, belirteçleri olan HTTP yanıtının önbelleğe alınma süresini ve ne zaman yeniden kullanıldığını gösteren bir expires_in özelliği vardır. Uygulamanın API erişim belirtecinin kodunu çözmeyi denemediğinden emin olun.

Uygulamayı çalıştıran cihazdaki belirteç önbelleği aracılığıyla Microsoft kimlik platformu çağrısı yapan bir uygulama diyagramı.

Önbelleğe alınan belirteçler, bir uygulama ile Microsoft kimlik platformu arasında gereksiz trafiği engeller. Bu senaryo, belirteç alma çağrılarını azaltarak uygulamayı belirteç alma hatalarına karşı daha az duyarlı hale getirir. Önbelleğe alınan belirteçler uygulama performansını artırır çünkü uygulama belirteçleri daha az sıklıkta alma işlemini engeller. Kullanıcılar, belirteç ömrü boyunca uygulamanızda oturum açmış durumda kalır.

Belirteçleri seri hale getirme ve kalıcı hale getirme

Uygulamaların belirteçleri uygulama örnekleri arasında kalıcı hale getirmek için belirteç önbelleğini güvenli bir şekilde seri hale getirmesini sağlayın. Belirteçleri kullanım ömrü boyunca yeniden kullanın. Yenileme belirteçleri ve erişim belirteçleri saatlerce verilir. Bu süre boyunca kullanıcılar uygulamanızı birkaç kez başlatabilir. Bir uygulama başlatıldığında geçerli bir erişim veya yenileme belirteci aramasını onaylayın. Bu, uygulama dayanıklılığını ve performansını artırır.

Daha fazla bilgi edinin:

Kalıcı belirteç depolama alanının kullanıcı sahibi veya işlem kimliğiyle ilgili olarak erişim denetimi ve şifrelemeye sahip olduğundan emin olun. Çeşitli işletim sistemlerinde kimlik bilgisi depolama özellikleri vardır.

Belirteçleri sessizce alma

Kullanıcının kimliğini doğrulamak veya API çağırmak için yetkilendirme almak Microsoft kimlik platformu'da birden çok adım gerektirir. Örneğin, ilk kez oturum açmış olan kullanıcılar kimlik bilgilerini girer ve çok faktörlü kimlik doğrulaması gerçekleştirir. Her adım, hizmeti sağlayan kaynağı etkiler. En az bağımlılıkla en iyi kullanıcı deneyimi sessiz belirteç alımıdır.

Kullanıcı kimlik doğrulaması veya yetkilendirmesini tamamlamaya yardımcı olan Microsoft kimlik platformu hizmetlerinin diyagramı.

Sessiz belirteç alımı, uygulama belirteci önbelleğinden geçerli bir belirteçle başlar. Geçerli bir belirteç yoksa, uygulama kullanılabilir bir yenileme belirteci ve belirteç uç noktası kullanarak belirteç almayı dener. İki seçenek de kullanılamıyorsa, uygulama parametresini prompt=none kullanarak bir belirteç alır. Bu eylem yetkilendirme uç noktasını kullanır, ancak kullanıcı için kullanıcı arabirimi görüntülenmez. Mümkünse, Microsoft kimlik platformu kullanıcı etkileşimi olmadan uygulamaya bir belirteç sağlar. Hiçbir yöntem belirteçle sonuçlanırsa, kullanıcı el ile yeniden kimlik doğrulaması uygular.

Not

Genel olarak, uygulamaların "oturum açma" ve "onay" gibi istemleri kullanmadığından emin olun. Bu istemler, hiçbir etkileşim gerekli olmadığında kullanıcı etkileşimini zorlar.

Yanıt kodu işleme

Yanıt kodları hakkında bilgi edinmek için aşağıdaki bölümleri kullanın.

HTTP 429 yanıt kodu

Dayanıklılığı etkileyen hata yanıtları vardır. Uygulamanız http 429 yanıt kodu (Çok Fazla İstek) alıyorsa, Microsoft kimlik platformu isteklerinizi kısıtlar. Bir uygulama çok fazla istekte bulunursa, uygulamanın belirteçleri almasını önlemek için kısıtlanmış olur. Yanıt alanı süresi tamamlanmadan önce bir uygulamanın belirteç almayı denemesine izin verme. 429 yanıtı genellikle uygulamanın belirteçleri doğru önbelleğe alma ve yeniden kullanma olmadığını gösterir. Belirteçlerin uygulamada nasıl önbelleğe alınıp yeniden kullanıldığını onaylayın.

HTTP 5x yanıt kodu

Bir uygulama HTTP 5x yanıt kodu alırsa, uygulama hızlı bir yeniden deneme döngüsü girmemelidir. 429 yanıtı için aynı işlemeyi kullanın. Yeniden Deneme Sonrası üst bilgisi görüntülenmezse, yanıttan en az 5 saniye sonra ilk yeniden denemeyle üstel bir geri alma yeniden denemesi uygulayın.

İstek zaman aşımına uğradıysa, anında yeniden denemeler önerilmez. Yanıttan en az 5 saniye sonra, ilk yeniden denemeyle üstel bir geri alma yeniden denemesi uygulayın.

Birçok uygulama ve API'nin yetkilendirmek için kullanıcı bilgilerine ihtiyacı vardır. Kullanılabilir yöntemlerin avantajları ve dezavantajları vardır.

Belirteçler

Kimlik (Kimlik) belirteçleri ve erişim belirteçleri, bilgi sağlayan standart taleplere sahiptir. Belirteçte gerekli bilgiler varsa, en verimli teknik belirteç talepleridir, çünkü bu başka bir ağ çağrısını engeller. Daha az ağ çağrısı daha iyi dayanıklılık sağlar.

Daha fazla bilgi edinin:

Not

Bazı uygulamalar, kimliği doğrulanmış kullanıcı hakkındaki talepleri almak için UserInfo uç noktasını çağırır. Kimlik belirtecindeki bilgiler, UserInfo uç noktasından alınan bilgilerin üst kümesidir. UserInfo uç noktasını çağırmak yerine uygulamaların kimlik belirtecini kullanmasını etkinleştirin.

Standart belirteç taleplerini gruplar gibi isteğe bağlı taleplerle artırma. Uygulama Grubu seçeneği, uygulamaya atanan grupları içerir. Tümü veya Güvenlik grupları seçenekleri, belirteçe grup ekleyebilen aynı kiracıdaki uygulamalardan gruplar içerir. Etkiyi değerlendirin, çünkü belirteçte grup istemenin verimliliğini belirtecin kabarmasına neden olabilir ve grupları almak için daha fazla çağrı gerektirebilir.

Daha fazla bilgi edinin:

Müşterilerin portalı veya API'leri kullanarak yönettiği uygulama rollerini kullanmanızı ve eklemenizi öneririz. Erişimi denetlemek için kullanıcılara ve gruplara roller atayın. Belirteç düzenlendiğinde, atanan roller belirteç rolleri talebine eklenir. Belirteçten türetilen bilgiler daha fazla API çağrısını engeller.

Bkz. Uygulamanıza uygulama rolleri ekleme ve bunları belirteçte alma

Kiracı bilgilerini temel alan talepler ekleyin. Örneğin, bir uzantının kuruluşa özgü kullanıcı kimliği vardır.

Dizinden belirteçe bilgi eklemek verimlidir ve bağımlılıkları azaltarak dayanıklılığı artırır. Belirteç alınamaması nedeniyle dayanıklılık sorunlarını gidermez. Uygulamanın birincil senaryoları için isteğe bağlı talepler ekleyin. Uygulama yönetim işlevselliği için bilgi gerektiriyorsa, uygulama gerektiğinde bu bilgileri alabilir.

Microsoft Graph

Microsoft Graph,üretkenlik desenleri, kimlik ve güvenlik hakkında Microsoft 365 verilerine erişmek için birleşik bir API uç noktasına sahiptir. Microsoft Graph kullanan uygulamalar yetkilendirme için Microsoft 365 bilgilerini kullanabilir.

Uygulamaların Microsoft 365'e erişmesi için bir belirteç gerekir. Bu, Birden çok belirteç gerektiren Microsoft Exchange veya Microsoft SharePoint gibi Microsoft 365 bileşenleri için önceki API'lerden daha dayanıklıdır.

Microsoft Graph API'lerini kullanırken, Microsoft Graph'a erişen dayanıklı uygulamalar oluşturmayı basitleştiren bir Microsoft Graph SDK'sı kullanın.

Bkz. Microsoft Graph SDK'ya genel bakış

Yetkilendirme için bazı Microsoft Graph çağrıları yerine belirteç taleplerini kullanmayı göz önünde bulundurun. Belirteçlerde istek grupları, uygulama rolleri ve isteğe bağlı talepler. Yetkilendirme için Microsoft Graph, Microsoft kimlik platformu ve Microsoft Graph kullanan daha fazla ağ çağrısı gerektirir. Ancak uygulamanız veri katmanı olarak Microsoft Graph kullanıyorsa yetkilendirme için Microsoft Graph daha fazla risk taşımaz.

Mobil cihazlarda aracı kimlik doğrulamayı kullanma

Mobil cihazlarda, Microsoft Authenticator gibi bir kimlik doğrulama aracısı dayanıklılığı artırır. Kimlik doğrulama aracısı, kullanıcı ve cihaz hakkındaki talepleri içeren bir birincil yenileme belirteci (PRT) kullanır. Cihazdan diğer uygulamalara erişmek için kimlik doğrulama belirteçleri için PRT kullanın. PrT uygulama erişimi istediğinde, Microsoft Entra ID cihazına ve MFA taleplerine güvenir. Bu, cihazın kimliğini doğrulama adımlarını azaltarak dayanıklılığı artırır. Kullanıcılara aynı cihazda birden çok MFA istemi sorulmuyor.

Bkz. Birincil Yenileme Belirteci nedir?

Belirteç önbelleği ve belirteç deposu aracılığıyla Microsoft kimlik platformu çağıran bir uygulamanın diyagramı ve uygulamayı çalıştıran cihazdaki kimlik doğrulama aracısı.

MSAL aracı kimlik doğrulamayı destekler. Daha fazla bilgi edinin:

Sürekli Erişim Değerlendirmesi

Sürekli Erişim Değerlendirmesi (CAE), uzun süreli belirteçlerle uygulama güvenliğini ve dayanıklılığını artırır. CAE ile erişim belirteci, kısa belirteç ömrü yerine kritik olaylara ve ilke değerlendirmesine göre iptal edilir. Bazı kaynak API'leri için risk ve ilke gerçek zamanlı olarak değerlendirildiğinden CAE belirteç ömrünü 28 saate kadar artırır. MSAL, uzun ömürlü belirteçleri yeniler.

Daha fazla bilgi edinin:

Kaynak API'leri geliştirirseniz Paylaşılan Sinyaller – Güvenli Web Kancaları Çerçevesi için adresine gidinopenid.net.

Sonraki adımlar