Microsoft Entra uygulama ara sunucusu ile Kerberos Kısıtlanmış Temsil (KCD) yapılandırmalarıyla ilgili sorunları giderme

Çoklu oturum açma yöntemleri bir uygulamadan diğerine farklılık gösterir. Microsoft Entra uygulama ara sunucusu varsayılan olarak Kerberos Kısıtlanmış Temsili (KCD) sağlar. Kullanıcılar Kerberos kullanarak özel uygulamalarda kimlik doğrulaması yapar.

Bu makale, en yaygın sorunları gidermek için tek bir başvuru noktası sağlar. Ayrıca daha karmaşık uygulama sorunlarının tanılamasını da kapsar.

Bu makalede aşağıdaki varsayımlar yer alır.

  • Microsoft Entra uygulama ara sunucusunun dağıtımı ve KCD olmayan uygulamalara genel erişim. Daha fazla bilgi için bkz . Uygulama ara sunucusunu kullanmaya başlama.
  • Yayımlanan uygulama, Internet Information Services 'ı (IIS) ve Kerberos'un Microsoft uygulamasını temel alır.
  • Sunucu ve uygulama konakları tek bir Microsoft Entra etki alanında bulunur. Etki alanları ve ormanlar arası senaryolar hakkında daha fazla bilgi için bkz . KCD teknik incelemesi.
  • Uygulama, ön kimlik doğrulaması etkinleştirilmiş bir Microsoft Entra ID kiracısında yayımlanır. Kullanıcıların form tabanlı kimlik doğrulaması kullanarak kimlik doğrulamaları beklenir. Zengin istemci kimlik doğrulama senaryoları bu makale kapsamında değildir.

Önkoşullar

Çoğu soruna basit yanlış yapılandırmalar veya genel hatalar neden olur. Sorun gidermeden önce Uygulama ara sunucusuyla KCD çoklu oturum açma kullanma makalesindeki tüm önkoşulları denetleyin.

Bağlan veya konakları yalnızca belirli bir yerel site Etki Alanı Denetleyicisi (DC) ile iletişimle sınırlı değildir. Değiştirebileceği için kullanılan DC'yi denetleyin.

Etki alanları arası senaryolar, bir bağlayıcı konağını yerel ağ çevresi dışında olabilecek DC'lere yönlendiren referansları kullanır. Bu gibi durumlarda, diğer ilgili etki alanlarını temsil eden DC'lere trafiğin ileriye doğru gönderilmesi de aynı derecede önemlidir. Aksi takdirde temsilci seçme başarısız olur.

Bağlayıcı konakları ve DC'ler arasında etkin İzinsiz Giriş Önleme Sistemi (IPS) veya İzinsiz Giriş Algılama Sistemi (IDS) cihazlarından kaçının. Bu cihazlar çok müdahalecidir ve çekirdek Uzaktan Yordam Çağrısı (RPC) trafiğine müdahale eder.

Basit senaryolarda temsilci seçmeyi test edin. Ne kadar çok değişken eklerseniz, o kadar fazla tartışmanız gerekebilir. Zaman kazanmak için testinizi tek bir bağlayıcıyla sınırlayın. Sorun çözüldükten sonra daha fazla bağlayıcı ekleyin.

Bazı çevresel faktörler de bir soruna katkıda bulunabilir. Bu faktörlerden kaçınmak için test sırasında mimariyi mümkün olduğunca en aza indirin. Örneğin, yanlış yapılandırılmış iç güvenlik duvarı Erişim Denetim Listeleri (ACL' ler) yaygındır. Mümkünse, bağlayıcıdaki tüm trafiği doğrudan DC'lere ve arka uç uygulamasına gönderin.

Bağlayıcıları konumlandırmak için en iyi yer, hedeflerine mümkün olduğunca yakın olmasıdır. Test sırasında satır içinde duran bir güvenlik duvarı gereksiz karmaşıklık ekler ve araştırmalarınızı uzatabilir.

KCD sorununu gösteren nedir? KCD çoklu oturum açmanın başarısız olduğuna dair birçok yaygın gösterge vardır. Sorunun ilk işaretleri tarayıcıda görünür.

Örnek: Yetkilendirme eksik izinler nedeniyle başarısız oldu

Her iki görüntü de aynı belirtiyi gösterir: çoklu oturum açma hatası. Uygulamaya kullanıcı erişimi reddedildi.

Sorun giderme

Sorun gidermeyi üç aşamaya ayırın.

İstemci ön kimlik doğrulaması

Bir tarayıcı aracılığıyla kimlik doğrulaması yapılan dış kullanıcı. KCD çoklu oturum açmanın (SSO) çalışması için Microsoft Entra Id'de önceden kimlik doğrulaması yapabilme özelliği gereklidir. Herhangi bir sorun varsa bu özelliği test edin ve giderin. Ön kimlik doğrulama aşaması KCD veya yayımlanan uygulamayla ilgili değildir. Konu hesabının Microsoft Entra Id'de mevcut olup olmadığını denetleyerek tutarsızlıkları düzeltmek kolaydır. Uygulamanın devre dışı bırakılmadığını veya engellenmediğini denetleyin. Tarayıcıdaki hata yanıtı, nedenini açıklayacak kadar açıklayıcıdır.

Temsilci seçme hizmeti

Bir Kerberos Anahtar Dağıtım Merkezi'nden (KCD) kullanıcılar için Kerberos hizmet bileti alan özel ağ bağlayıcısı.

İstemci ile Azure ön ucu arasındaki dış iletişimlerin KCD'ye hiçbir ilgisi yoktur. Bu iletişimler yalnızca KCD'nin çalıştığından emin olur. Uygulama ara sunucusu hizmetine Kerberos bileti almak için kullanılan geçerli bir kullanıcı kimliği sağlanır. Bu kimlik olmadan KCD mümkün değildir ve başarısız olur.

Tarayıcı hata iletileri, işlerin neden başarısız olduğuna ilişkin bazı iyi ipuçları sağlar. yanıttaki activity ID ve timestamp alanlarını kaydedin. Bilgiler, davranışı uygulama ara sunucusu olay günlüğündeki gerçek olaylarla ilişkilendirmeye yardımcı olur.

Örnek: Yanlış KCD yapılandırma hatası

Olay günlüğünde görülen ilgili girdiler 13019 veya 12027 olayları olarak gösterilir. Bağlayıcı olay günlüklerini Uygulama ve Hizmet Günlükleri>Microsoft Microsoft>Entra özel ağı> Bağlan or> Yönetici'nda bulabilirsiniz.

  1. Uygulamanın adresi için iç Etki Alanı Adı Sisteminizde (DNS) bir CNameA kaydı kullanın, değil.
  2. Bağlayıcı ana bilgisayarının, belirlenen hedef hesabın Hizmet Asıl Adı'na (SPN) temsilci seçme hakkına sahip olduğunu onaylarsınız. Herhangi bir kimlik doğrulama protokolü kullan seçeneğinin belirlendiğini doğrulayın. Daha fazla bilgi için SSO yapılandırma makalesine bakın.
  3. Microsoft Entra Id'de SPN'nin yalnızca bir örneğinin mevcut olduğunu doğrulayın. Herhangi bir etki alanı üyesi konağındaki bir komut isteminden gelen sorun setspn -x .
  4. Verilen Kerberos belirteçlerinin boyut üst sınırını sınırlayan bir etki alanı ilkesinin zorunlu kılındığını denetleyin. İlke, aşırıysa bağlayıcının belirteç almasına engel olur.

Bağlayıcı konağı ve etki alanı Kerberos Kısıtlanmış Temsili (KDC) arasındaki değişimleri yakalayan bir ağ izlemesi, sorunlarla ilgili daha düşük düzeyde ayrıntı almak için bir sonraki en iyi adımdır. Daha fazla bilgi için ayrıntılı sorun giderme makalesine bakın.

Bilet oluşturma iyi görünüyorsa, günlüklerde uygulama 401 döndürdü diye kimlik doğrulamasının başarısız olduğunu belirten bir olay görürsünüz. Bu olay, hedef uygulamanın biletinizi reddettiğini gösterir. Sonraki aşamaya geçin.

Hedef uygulama

Bağlayıcının sağladığı Kerberos anahtarının tüketicisi. Bu aşamada, bağlayıcının arka uca bir Kerberos hizmet bileti göndermesini bekleyin. Bilet, ilk uygulama isteğindeki bir üst bilgidir.

  1. Uygulamanın portalda tanımlanan iç URL'sini kullanarak, uygulamaya doğrudan bağlayıcı konağındaki tarayıcıdan erişilebildiğini doğrulayın. Ardından başarıyla oturum açabilirsiniz. Ayrıntılar bağlayıcı sorun giderme sayfasında bulunabilir.

  2. Tarayıcı ile uygulama arasındaki kimlik doğrulamasının Kerberos kullandığını onaylayın.

  3. Internet Explorer'da DevTools 'u (F12) çalıştırın veya bağlayıcı konağından Fiddler'ı kullanın. İç URL'yi kullanarak uygulamaya gidin. Anlaşma veya Kerberos'un mevcut olduğundan emin olmak için, uygulamadan gelen yanıtta döndürülen önerilen web yetkilendirme üst bilgilerini inceleyin.

    • Tarayıcıdan uygulamaya verilen yanıtta döndürülen sonraki Kerberos blobu YII ile başlar. Bu harfler Kerberos'un çalıştığını gösterir. Öte yandan Microsoft NT LAN Manager (NTLM), her zaman Base64'ten kod çözülünce NTLM Güvenlik Destek Sağlayıcısı'nı (NTLMSSP) okuyan TlRMTVNTUAAB ile başlar. Blobun başında TlRMTVNTUAAB görürseniz Kerberos kullanılamaz. TlRMTVNTUAAB'yi görmüyorsanız Kerberos büyük olasılıkla kullanılabilir.

      Not

      Fiddler kullanıyorsanız, bu yöntem uygulamanın IIS'deki yapılandırmasında genişletilmiş korumayı geçici olarak devre dışı bırakmanızı gerektirir.

      Tarayıcı ağı inceleme penceresi

    • Bu şekildeki blob TIRMTVNTUAAB ile başlamaz. Bu örnekte Kerberos kullanılabilir ve Kerberos blobu YII ile başlamaz.

  4. NTLM'yi IIS sitesindeki sağlayıcılar listesinden geçici olarak kaldırın. Uygulamaya doğrudan bağlayıcı konağından Internet Explorer'dan erişin. NTLM artık sağlayıcılar listesinde değil. Uygulamaya yalnızca Kerberos kullanarak erişebilirsiniz. Erişim başarısız olursa uygulamanın yapılandırmasıyla ilgili bir sorun olabilir. Kerberos kimlik doğrulaması çalışmıyor.

    • Kerberos kullanılamıyorsa IIS'de uygulamanın kimlik doğrulama ayarlarını denetleyin. Anlaşma'nın üst kısımda, NTLM'nin hemen altında yer alan listelendiğinden emin olun. Anlaşma değil, Kerberos veya Anlaşma veya PKU2U görüyorsanız, yalnızca Kerberos işlevselse devam edin.

      Windows kimlik doğrulama sağlayıcıları

    • Kerberos ve NTLM etkinken, portalda uygulama için ön kimlik doğrulamasını geçici olarak devre dışı bırakın. Dış URL'yi kullanarak İnternet'ten erişmeyi deneyin. Kimlik doğrulaması yapmanız istenir. Bunu önceki adımda kullanılan hesapla yapabilirsiniz. Aksi takdirde, KCD'de değil arka uç uygulamasında bir sorun vardır.

    • Portalda ön kimlik doğrulamayı yeniden etkinleştirin. Uygulamaya dış URL'si aracılığıyla bağlanmayı deneyerek Azure üzerinden kimlik doğrulaması yapın. SSO başarısız olursa tarayıcıda yasak hata iletisi ve günlükte 13022 olayı görürsünüz:

      Arka uç sunucusu Kerberos kimlik doğrulama girişimlerine HTTP 401 hatasıyla yanıt verdiği için Microsoft Entra özel ağ bağlayıcısı kullanıcının kimliğini doğrulayamaz.

      HTTTP 401 yasak hatasını gösterir

    • IIS uygulamasını denetleyin. Yapılandırılan uygulama havuzunun ve SPN'nin Microsoft Entra Id'de aynı hesabı kullanacak şekilde yapılandırıldığından emin olun. Aşağıdaki çizimde gösterildiği gibi IIS'de gezinin.

      IIS uygulama yapılandırma penceresi

      Kimliği bildikten sonra, bu hesabın söz konusu SPN ile yapılandırıldığından emin olun. setspn –q http/spn.wacketywack.com bunun bir örneğidir. Komut istemine aşağıdaki metni girin.

      SetSPN komut penceresini gösterir

    • Portalda uygulamanın ayarlarında tanımlanan SPN'yi denetleyin. Hedef Microsoft Entra hesabında yapılandırılan SPN'nin uygulamanın uygulama havuzu tarafından kullanıldığından emin olun.

    • IIS'ye gidin ve uygulama için Yapılandırma Düzenleyicisi seçeneğini belirleyin. system.webServer/security/authentication/windowsAuthentication adresine gidin. UseAppPoolCredentials değerinin True olduğundan emin olun.

      IIS yapılandırma uygulaması havuzları kimlik bilgisi seçeneği

      Değeri True olarak değiştirin. komutunu çalıştırarak önbelleğe alınmış tüm Kerberos biletlerini arka uç sunucusundan kaldırın.

      Get-WmiObject Win32_LogonSession | Where-Object {$_.AuthenticationPackage -ne 'NTLM'} | ForEach-Object {klist.exe purge -li ([Convert]::ToString($_.LogonId, 16))}
      

Çekirdek modunu etkin bırakırsanız, Kerberos işlemlerinin performansını artırır. Ancak, istenen hizmetin anahtarının makine hesabı kullanılarak şifresinin çözülmesine de neden olur. Bu hesap Yerel sistem olarak da adlandırılır. Uygulama bir grup içinde birden fazla sunucuda barındırıldığında KCD'yi kesmek için bu değeri True olarak ayarlayın.

  • Başka bir denetim olarak Genişletilmiş korumayı da devre dışı bırakın. Bazı senaryolarda Genişletilmiş koruma, belirli yapılandırmalarda etkinleştirildiğinde KCD'yi kırdı. Bu gibi durumlarda, bir uygulama varsayılan web sitesinin alt klasörü olarak yayımlandı. Bu uygulama yalnızca anonim kimlik doğrulaması için yapılandırılır. Tüm iletişim kutuları gri gösterilir ve bu da alt nesnelerin etkin ayarları devralmayacağını gösterir. Test yapmanızı öneririz, ancak mümkün olduğunca bu değeri etkin olarak geri yüklemeyi unutmayın.

    Bu ek denetim, yayımlanmış uygulamanızı kullanmanız için sizi takip etmenizi getirir. Temsilci seçmek üzere yapılandırılmış daha fazla bağlayıcı oluşturabilirsiniz. Daha fazla bilgi için Microsoft Entra uygulama ara sunucusu sorunlarını giderme makalesini okuyun.

Hala ilerleme kaydedemiyorsanız Microsoft desteği size yardımcı olabilir. Doğrudan portalda bir destek bileti oluşturun.

Diğer senaryolar

Microsoft Entra uygulama ara sunucusu, isteğini bir uygulamaya göndermeden önce bir Kerberos bileti istemektedir. Bazı uygulamalar bu kimlik doğrulama yöntemini sevmez. Bu uygulamalar daha geleneksel müzakerelerin gerçekleşmesini bekliyor. İlk istek anonimdir ve uygulamanın 401 aracılığıyla desteklediği kimlik doğrulama türleriyle yanıt vermesini sağlar. Bu tür Kerberos anlaşması, bu belgede özetlenen adımlar kullanılarak etkinleştirilebilir: Çoklu oturum açma için Kerberos Kısıtlanmış Temsili.

Çok atlamalı kimlik doğrulaması, bir uygulamanın katmanlandığı senaryolarda yaygın olarak kullanılır. Katmanlar bir arka uç ve ön uç içerir. Her iki katman da kimlik doğrulaması gerektirir. Örneğin, SQL Server Reporting Services. Daha fazla bilgi için bkz . Web Kaydı proxy sayfaları için Kerberos Kısıtlanmış Temsilini yapılandırma.

Sonraki adımlar

Yönetilen bir etki alanında KCD'yi yapılandırın.