Kerberos kısıtlanmış temsil için çoklu oturum açma uygulamalarınıza uygulama ara sunucusu ileKerberos Constrained Delegation for single sign-on to your apps with Application Proxy

Şirket içi için çoklu oturum açma sağlayabilir yayımlanan uygulamaları aracılığıyla uygulama proxy'si tümleşik Windows kimlik doğrulaması ile güvenli hale getirilir.You can provide single sign-on for on-premises applications published through Application Proxy that are secured with Integrated Windows Authentication. Bu uygulamalara erişim için bir Kerberos anahtarı gerektirir.These applications require a Kerberos ticket for access. Uygulama proxy'si, bu uygulamaları desteklemek için Kerberos Kısıtlı temsilci (KCD) kullanır.Application Proxy uses Kerberos Constrained Delegation (KCD) to support these applications.

Kullanıcının kimliğine bürünmek için Active Directory Uygulama Proxy bağlayıcıları izni vererek tümleşik Windows kimlik doğrulaması (IWA) kullanarak uygulamalarınızı çoklu oturum açmayı etkinleştirebilirsiniz.You can enable single sign-on to your applications using Integrated Windows Authentication (IWA) by giving Application Proxy connectors permission in Active Directory to impersonate users. Bağlayıcılar, göndermek ve kendileri adına belirteçlerini almak için bu izni kullanın.The connectors use this permission to send and receive tokens on their behalf.

KCD works ile nasıl çoklu oturum açmaHow single sign-on with KCD works

Bu diyagramda, bir Kullanıcı ıWA kullanan bir şirket içi uygulamaya erişmeyi denediğinde akış açıklanır.This diagram explains the flow when a user attempts to access an on premises application that uses IWA.

Microsoft AAD kimlik doğrulaması akışı diyagramı

  1. Kullanıcı, uygulama proxy 'si aracılığıyla şirket içi uygulamaya erişmek için URL 'YI girer.The user enters the URL to access the on premises application through Application Proxy.
  2. Uygulama Ara sunucusu için Azure AD kimlik doğrulama hizmetleri preauthenticate için istek yönlendirir.Application Proxy redirects the request to Azure AD authentication services to preauthenticate. Bu noktada, Azure AD, tüm geçerli kimlik doğrulama ve yetkilendirme ilkeleri, çok faktörlü kimlik doğrulaması gibi uygulanır.At this point, Azure AD applies any applicable authentication and authorization policies, such as multifactor authentication. Kullanıcı doğrulanmış olması durumunda, Azure AD belirteç oluşturulur ve kullanıcıya gönderir.If the user is validated, Azure AD creates a token and sends it to the user.
  3. Kullanıcı belirteci uygulama ara sunucusuna iletir.The user passes the token to Application Proxy.
  4. Uygulama proxy 'Si belirteci doğrular ve bundan sonra Kullanıcı asıl adını (UPN) alır ve bağlayıcı, kimliği doğrulanmış bir güvenli kanal aracılığıyla UPN 'yi ve hizmet asıl adı 'nı (SPN) çeker.Application Proxy validates the token and retrieves the User Principal Name (UPN) from it, and then the Connector pulls the UPN, and the Service Principal Name (SPN) through a dually authenticated secure channel.
  5. Bağlayıcı, şirket içi AD ile Kerberos kısıtlı temsili (KCD) anlaşması gerçekleştirerek, kullanıcının uygulamaya bir Kerberos belirteci almasını sağlar.The Connector performs Kerberos Constrained Delegation (KCD) negotiation with the on premises AD, impersonating the user to get a Kerberos token to the application.
  6. Active Directory Uygulama bağlayıcısı için Kerberos belirteci gönderir.Active Directory sends the Kerberos token for the application to the Connector.
  7. Bağlayıcı, özgün istek AD'den alınan Kerberos belirteci kullanarak uygulama sunucusuna gönderir.The Connector sends the original request to the application server, using the Kerberos token it received from AD.
  8. Uygulama için uygulama proxy'si hizmeti ardından döndürülen bağlayıcı yanıta gönderir ve son kullanıcı.The application sends the response to the Connector, which is then returned to the Application Proxy service and finally to the user.

ÖnkoşullarPrerequisites

IWA uygulamalar için çoklu oturum açma ile çalışmaya başlamadan önce aşağıdaki ayarları ve yapılandırmaları ile ortamınızı hazır olduğundan emin olun:Before you get started with single sign-on for IWA applications, make sure your environment is ready with the following settings and configurations:

Active Directory'yi yapılandırmaConfigure Active Directory

Active Directory yapılandırması, uygulama ara sunucusu bağlayıcısını ve uygulama sunucusu aynı etki alanında veya olmanıza bağlı olarak değişir.The Active Directory configuration varies, depending on whether your Application Proxy connector and the application server are in the same domain or not.

Bağlayıcı ve uygulama sunucusu aynı etki alanındaConnector and application server in the same domain

  1. Active Directory'de Git Araçları > kullanıcıları ve Bilgisayarları.In Active Directory, go to Tools > Users and Computers.

  2. Bağlayıcısını çalıştıran sunucuyu seçin.Select the server running the connector.

  3. Sağ tıklayıp özellikleri > temsilci.Right-click and select Properties > Delegation.

  4. Seçin bu bilgisayara yalnızca belirtilen hizmetlere temsilci seçmek için güven.Select Trust this computer for delegation to specified services only.

  5. Herhangi bir kimlik doğrulama protokolünü kullan' ı seçin.Select Use any authentication protocol.

  6. Altında için bu hesabın temsilci seçilen kimlik bilgilerini sunacağı Hizmetler uygulama sunucusunun SPN kimlik için bir değer ekleyin.Under Services to which this account can present delegated credentials add the value for the SPN identity of the application server. Bu listede tanımlanan uygulamalarla AD'de kullanıcının kimliğine bürünmek uygulama ara sunucusu Bağlayıcısı sağlar.This enables the Application Proxy Connector to impersonate users in AD against the applications defined in the list.

    Bağlayıcı SVR Özellikler penceresi ekran görüntüsü

Bağlayıcı ve uygulama sunucusu farklı etki alanlarındaConnector and application server in different domains

  1. KCD ile çalışma alanlarında önkoşullarının listesi için bkz. etki alanlarında Kerberos kısıtlanmış temsil.For a list of prerequisites for working with KCD across domains, see Kerberos Constrained Delegation across domains.
  2. Kullanım principalsallowedtodelegateto bağlayıcı sunucusu için temsilci seçmek uygulama proxy'sini etkinleştirmek için bağlayıcı sunucusu özelliği.Use the principalsallowedtodelegateto property on the Connector server to enable the Application Proxy to delegate for the Connector server. Uygulama sunucusu olan sharepointserviceaccount ve temsilci sunucusu connectormachineaccount.The application server is sharepointserviceaccount and the delegating server is connectormachineaccount. Windows 2012 R2 için örnek olarak bu kodu kullanın:For Windows 2012 R2, use this code as an example:
$connector= Get-ADComputer -Identity connectormachineaccount -server dc.connectordomain.com

Set-ADComputer -Identity sharepointserviceaccount -PrincipalsAllowedToDelegateToAccount $connector

Get-ADComputer sharepointserviceaccount -Properties PrincipalsAllowedToDelegateToAccount

sharepointserviceaccountSPS makine hesabı veya SPS uygulama havuzunun üzerinde çalıştığı bir hizmet hesabı olabilir.sharepointserviceaccount can be the SPS machine account or a service account under which the SPS app pool is running.

Çoklu oturum açmayı yapılandırmaConfigure single sign-on

  1. Açıklanan yönergelere göre uygulamanızı yayımlayın uygulama ara sunucusu ile uygulama yayımlama.Publish your application according to the instructions described in Publish applications with Application Proxy. Seçtiğinizden emin olun Azure Active Directory olarak ön kimlik doğrulama yöntemi.Make sure to select Azure Active Directory as the Preauthentication Method.

  2. Uygulamanızı kurumsal uygulamalar listesinde göründükten sonra seçin ve çoklu oturum açma.After your application appears in the list of enterprise applications, select it and click Single sign-on.

  3. Çoklu oturum açma modu ayarlamak tümleşik Windows kimlik doğrulaması.Set the single sign-on mode to Integrated Windows Authentication.

  4. Girin iç uygulama SPN'si uygulama sunucusunun.Enter the Internal Application SPN of the application server. Bu örnekte, http/www.contoso.com yayımlanan uygulamamız için SPN'dir.In this example, the SPN for our published application is http/www.contoso.com. Bu SPN, istediğiniz bağlayıcıyı temsilci seçilen kimlik bilgilerini sunacağı Hizmetler listesinde olması gerekiyor.This SPN needs to be in the list of services to which the connector can present delegated credentials.

  5. Seçin temsilci oturum açma kimliği Bağlayıcısı kullanıcılarınız adına kullanın.Choose the Delegated Login Identity for the connector to use on behalf of your users. Daha fazla bilgi için farklı şirket içi ve bulut kimlikleri ile çalışmaFor more information, see Working with different on-premises and cloud identities

    Gelişmiş uygulama yapılandırması

Windows olmayan uygulamaları için SSOSSO for non-Windows apps

Azure AD bulut kullanıcı kimliği doğruladığında Azure AD uygulama proxy'si Kerberos temsilci akışında başlatır.The Kerberos delegation flow in Azure AD Application Proxy starts when Azure AD authenticates the user in the cloud. İstek, şirket içi geldikten sonra Azure AD uygulama ara sunucusu Bağlayıcısı'nı yerel Active Directory ile etkileşim kurarak kullanıcı adına bir Kerberos anahtarı verir.Once the request arrives on-premises, the Azure AD Application Proxy connector issues a Kerberos ticket on behalf of the user by interacting with the local Active Directory. Bu işlem, Kerberos Kısıtlı temsilci (KCD) olarak adlandırılır.This process is referred to as Kerberos Constrained Delegation (KCD). Sonraki aşamada, bu Kerberos anahtarı ile arka uç uygulaması için bir istek gönderilir.In the next phase, a request is sent to the backend application with this Kerberos ticket.

Bu tür istekleri göndermek nasıl tanımlayan birçok Protokolü vardır.There are several protocols that define how to send such requests. Çoğu Windows olmayan sunucuları ile SPNEGO anlaşma beklenir.Most non-Windows servers expect to negotiate with SPNEGO. Bu protokol, Azure AD uygulama ara sunucusu desteklenir, ancak varsayılan olarak devre dışıdır.This protocol is supported on Azure AD Application Proxy, but is disabled by default. Bir sunucu SPNEGO veya standart KCD için yapılandırılmış, ancak ikisiyle olabilir.A server can be configured for SPNEGO or standard KCD, but not both.

Bağlayıcı makinesinde SPNEGO için yapılandırırsanız, diğer tüm bağlayıcılar, bağlayıcı grubunda SPNEGO ile yapılandırılmış olduğundan emin olun.If you configure a connector machine for SPNEGO, make sure that all other connectors in that Connector group are also configured with SPNEGO. Uygulama standart KCD SPNEGO için yapılandırılmamış olan diğer bağlayıcılar üzerinden yönlendirilmesi.Applications expecting standard KCD should be routed through other connectors that are not configured for SPNEGO.

SPNEGO etkinleştirmek için:To enable SPNEGO:

  1. Yönetici olarak çalıştırılan bir komut istemi açın.Open an command prompt that runs as administrator.

  2. Komut İstemi'nden SPNEGO gereken bağlayıcı sunucuları üzerinde aşağıdaki komutları çalıştırın.From the command prompt, run the following commands on the connector servers that need SPNEGO.

    REG ADD "HKLM\SOFTWARE\Microsoft\Microsoft AAD App Proxy Connector" /v UseSpnegoAuthentication /t REG_DWORD /d 1
    net stop WAPCSvc & net start WAPCSvc
    

Kerberos hakkında daha fazla bilgi için bkz: tüm Kerberos Kısıtlı temsilci (KCD) hakkında bilmek istediğiniz.For more information about Kerberos, see All you want to know about Kerberos Constrained Delegation (KCD).

Windows olmayan uygulamalar genellikle kullanıcı kullanıcı adını veya etki alanı yerine SAM hesabı adları e-posta adresleri.Non-Windows apps typically user usernames or SAM account names instead of domain email addresses. Bu durum, uygulamalarınız için geçerliyse, uygulama kimliklerinizi, bulut kimlikleri bağlamak için temsilci oturum açma kimlik alanı'nı yapılandırmanız gerekir.If that situation applies to your applications, you need to configure the delegated login identity field to connect your cloud identities to your application identities.

Farklı şirket içi ve bulut kimlikleri ile çalışmaWorking with different on-premises and cloud identities

Uygulama proxy'si, kullanıcıların bulutta ve şirket içinde tam olarak aynı kimliğe sahip olduğunu varsayar.Application Proxy assumes that users have exactly the same identity in the cloud and on-premises. Ancak, bazı ortamlarda şirket ilkeleri veya uygulama bağımlılıkları nedeniyle, kuruluşların oturum açma için alternatif kimlikler kullanması gerekebilir.But in some environments, due to corporate policies or application dependencies, organizations might have to use alternate IDs for sign-in. Bu gibi durumlarda, yine de KCD 'yi çoklu oturum açma için kullanmaya devam edebilirsiniz.In such cases, you can still use KCD for single sign-on. Yapılandırma bir oturum açma kimlik temsilcisi her uygulamanın çoklu oturum açma yapılırken hangi kimlik kullanılması gerektiğini belirtin.Configure a Delegated login identity for each application to specify which identity should be used when performing single sign-on.

Bu özellik, farklı şirket içi ve bulut kimlikleri SSO kullanıcıların farklı kullanıcı adları ve parolaları girmeye gerek kalmadan buluttan şirket içi uygulamalara sahip olan birçok kuruluş sağlar.This capability allows many organizations that have different on-premises and cloud identities to have SSO from the cloud to on-premises apps without requiring the users to enter different usernames and passwords. Bu, kuruluşların içerir:This includes organizations that:

  • Dahili olarak birden çok etki alanınız (joe@us.contoso.com, joe@eu.contoso.com) hem de bulutta tek bir etki alanı (joe@contoso.com).Have multiple domains internally (joe@us.contoso.com, joe@eu.contoso.com) and a single domain in the cloud (joe@contoso.com).
  • Dahili olarak yönlendirilemeyen etki alanı adına sahip (joe@contoso.usa) ve yasal bir bulutta.Have non-routable domain name internally (joe@contoso.usa) and a legal one in the cloud.
  • Etki alanı adları iç kullanmayın (ALi)Do not use domain names internally (joe)
  • Şirket içinde ve bulutta farklı diğer adlar kullanın.Use different aliases on premises and in the cloud. Örneğin, joe-johns@contoso.com vs. joej@contoso.comFor example, joe-johns@contoso.com vs. joej@contoso.com

Uygulama proxy'si, Kerberos anahtarını almak için kullanılacak kimliği seçebilirsiniz.With Application Proxy, you can select which identity to use to obtain the Kerberos ticket. Bu ayar bir uygulamadır.This setting is per application. Bu seçeneklerden bazısı e-posta adresi biçimi kabul sistemler için uygundur, diğer alternatif oturum açma için tasarlanmıştır.Some of these options are suitable for systems that do not accept email address format, others are designed for alternative login.

Temsilci oturum açma kimlik parametresi ekran görüntüsü

Temsilci oturum açma kimliği kullanılırsa, değeri etki alanları veya kuruluşunuzdaki ormanlar arasında benzersiz olmayabilir.If delegated login identity is used, the value might not be unique across all the domains or forests in your organization. İki kez iki farklı bağlayıcı grupları kullanarak bu uygulamaları yayımlayarak, bu sorunu önleyebilirsiniz.You can avoid this issue by publishing these applications twice using two different Connector groups. Her uygulama farklı bir kullanıcı bir dinleyici olduğundan, kendi bağlayıcılar farklı bir etki alanına katılmasını sağlayabilirsiniz.Since each application has a different user audience, you can join its Connectors to a different domain.

SSO için farklı kimliklere yapılandırınConfigure SSO for different identities

  1. Asıl kimlik e-posta adresi (posta), bu nedenle, Azure AD Connect ayarlarını yapılandırın.Configure Azure AD Connect settings so the main identity is the email address (mail). Bu özelleştirme işleminin bir parçası değiştirerek yapılır kullanıcı asıl adı alanındaki eşitleme ayarları.This is done as part of the customize process, by changing the User Principal Name field in the sync settings. Bu ayarlar, ayrıca kullanıcıların Office 365, Windows 10 cihazları nasıl oturum belirler ve bunların kimlik deposu olarak Azure AD'yi kullanan diğer uygulamalar.These settings also determine how users log in to Office365, Windows10 devices, and other applications that use Azure AD as their identity store.
    Kullanıcıların ekran görüntüsü - kullanıcı asıl adı açılan tanımlamaIdentifying users screenshot - User Principal Name dropdown

  2. Değiştirmek istediğiniz uygulama için uygulama yapılandırma ayarlarında seçin temsilci oturum açma kimliği kullanılacak:In the Application Configuration settings for the application you would like to modify, select the Delegated Login Identity to be used:

    • Kullanıcı asıl adı (örneğin, joe@contoso.com)User Principal Name (for example, joe@contoso.com)
    • Diğer kullanıcı asıl adı (örneğin, joed@contoso.local)Alternate User Principal Name (for example, joed@contoso.local)
    • Kullanıcı adı, kullanıcı asıl adı (örneğin, ALi) parçasıUsername part of User Principal Name (for example, joe)
    • Kullanıcı adı bölümü diğer kullanıcı asıl adı (örneğin, joed)Username part of Alternate User Principal Name (for example, joed)
    • Şirket içi SAM hesabı adı (etki alanı denetleyicisi yapılandırmasına bağlıdır)On-premises SAM account name (depends on the domain controller configuration)

SSO için farklı kimliklere sorunlarını gidermeTroubleshooting SSO for different identities

SSO işleminde bir hata varsa, bağlayıcı makine olay günlüğünde açıklandığı gibi göründüğü sorun giderme.If there is an error in the SSO process, it appears in the connector machine event log as explained in Troubleshooting. Ancak, bu uygulama diğer çeşitli HTTP yanıtlarında yanıtlar karşın bazı durumlarda, istek başarıyla arka uç uygulaması için gönderilir.But, in some cases, the request is successfully sent to the backend application while this application replies in various other HTTP responses. Bu gibi durumlarda sorun giderme bağlayıcı makinede uygulama ara sunucusu oturum olay günlüğündeki olay numarası 24029 inceleyerek başlamanız gerekir.Troubleshooting these cases should start by examining event number 24029 on the connector machine in the Application Proxy session event log. Olay Ayrıntıları içinde "kullanıcı" alanında temsilci seçme için kullanılan kullanıcı kimliğini görünür.The user identity that was used for delegation appears in the “user” field within the event details. Oturum açma açmak için Göster Analitik ve hata ayıklama günlüklerini Olay Görüntüleyicisi'ni Görünüm menüsünde.To turn on session log, select Show analytic and debug logs in the event viewer view menu.

Sonraki adımlarNext steps

En yeni haberler ve güncelleştirmeler için Uygulama Ara Sunucusu bloguna göz atınFor the latest news and updates, check out the Application Proxy blog