Aracılığıyla paylaş


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

Daemon uygulamalarının dayanıklılığını artırmak için Microsoft kimlik platformu ve Microsoft Entra Kimliğini kullanmayı öğrenin. Arka plan işlemleri, hizmetler, sunucudan sunucuya uygulamalar ve kullanıcıları olmayan uygulamalar hakkında bilgi edinin.

Bkz. Microsoft kimlik platformu nedir?

Aşağıdaki diyagramda Microsoft kimlik platformu çağrısı yapan bir daemon uygulaması gösterilmektedir.

A daemon application making a call to Microsoft identity platform.

Azure kaynakları için yönetilen kimlikler

Microsoft Azure'da daemon uygulamaları oluşturuyorsanız, gizli dizileri ve kimlik bilgilerini işleyen Azure kaynakları için yönetilen kimlikleri kullanın. Bu özellik sertifika süre sonu, döndürme veya güveni işleyerek dayanıklılığı artırır.

Bkz. Azure kaynakları için yönetilen kimlikler nelerdir?

Yönetilen kimlikler, belirteçlerin süresi dolmadan önce yeni belirteçler almak için uzun süreli erişim belirteçlerini ve Microsoft kimlik platformu bilgilerini kullanır. Uygulamanız yeni belirteçler alırken çalışır.

Yönetilen kimlikler, hizmet bağımlılıklarını birleştirerek bölge dışı hataları önlemeye yardımcı olan bölgesel uç noktaları kullanır. Bölgesel uç noktalar, trafiğin coğrafi bir alanda tutulmasına yardımcı olur. Örneğin, Azure kaynağınız WestUS2'deyse tüm trafik WestUS2'de kalır.

Microsoft Authentication Library

Daemon uygulamaları geliştirir ve yönetilen kimlikleri kullanmıyorsanız, kimlik doğrulaması ve yetkilendirme için Microsoft Kimlik Doğrulama Kitaplığı'nı (MSAL) kullanın. MSAL, istemci kimlik bilgilerini sağlama sürecini kolaylaştırır. Örneğin, uygulamanızın JSON web belirteci onaylarını sertifika tabanlı kimlik bilgileriyle oluşturması ve imzalaması gerekmez.

Bkz. Microsoft Kimlik Doğrulama Kitaplığı'na (MSAL) Genel Bakış

.NET geliştiricileri için Microsoft.Identity.Web

ASP.NET Core'da daemon uygulamaları geliştirirseniz yetkilendirmeyi kolaylaştırmak için Microsoft.Identity.Web kitaplığını kullanın. Birden çok bölgede çalışan dağıtılmış uygulamalar için dağıtılmış belirteç önbellek stratejileri içerir.

Daha fazla bilgi edinin:

Belirteçleri önbelleğe alma ve depolama

Kimlik doğrulaması ve yetkilendirme için MSAL kullanmıyorsanız belirteçleri önbelleğe almak ve depolamak için en iyi yöntemler vardır. MSAL bu en iyi uygulamaları uygular ve izler.

Uygulama, bir kimlik sağlayıcısından (IdP) korumalı API'leri çağırma yetkisi vermek için belirteçler alır. Uygulamanız belirteçleri aldığında, belirteçleri içeren yanıt, uygulamaya belirtecin ne kadar süreyle önbelleğe alınıp yeniden kullanıldığını bildiren bir expires\_in özellik içerir. Uygulamaların belirteç ömrünü belirlemek için özelliğini kullandığından expires\_in emin olun. Uygulamanın API erişim belirtecinin kodunu çözmeyi denemediğinden emin olun. Önbelleğe alınmış belirtecin kullanılması, uygulama ile Microsoft kimlik platformu arasında gereksiz trafiği önler. Kullanıcılar, belirtecin ömrü boyunca uygulamanızda oturum açmış olur.

HTTP 429 ve 5xx hata kodları

HTTP 429 ve 5xx hata kodları hakkında bilgi edinmek için aşağıdaki bölümleri kullanın

HTTP 429

Dayanıklılığı etkileyen HTTP hataları vardır. Uygulamanız HTTP 429 hata kodu(Çok Fazla İstek) alıyorsa, Microsoft kimlik platformu isteklerinizi kısıtlar ve bu da uygulamanızın belirteç almasını engeller. Yeniden Dene yanıt alanındaki süre dolana kadar uygulamalarınızın belirteç almaya çalışmadığından emin olun. 429 hatası genellikle uygulamanın belirteçleri doğru önbelleğe almadığı ve yeniden kullanmadığı anlamına gelir.

HTTP 5xx

Bir uygulama HTTP 5x hata kodu alırsa, uygulama hızlı bir yeniden deneme döngüsü girmemelidir. Uygulamaların Yeniden Deneme Sonrası alanının süresi dolana kadar beklediğinden emin olun. Yanıtta Yeniden Deneme Sonrası üst bilgisi yoksa, yanıttan en az 5 saniye sonra ilk yeniden denemeyle üstel geri alma yeniden denemesi kullanın.

İstek zaman aşımına uğradıysa uygulamaların hemen yeniden denemediğini onaylayın. Daha önce belirtilen üstel geri alma yeniden denemesini kullanın.

Sonraki adımlar