Active Directory Federasyon Hizmetleri’ni (AD FS) Azure’a yaygınlaştırınExtend Active Directory Federation Services (AD FS) to Azure

Bu başvuru mimarisi; şirket içi ağınızı Azura’a yaygınlaştırıp, Azure’da çalışan bileşenleri Active Directory Federasyon Hizmetleri (AD FS) kullanarak federasyon kimlik doğrulama ve yetkilendirme işlemlerini gerçekleştiren bir güvenli hibrit ağ uygular.This reference architecture implements a secure hybrid network that extends your on-premises network to Azure and uses Active Directory Federation Services (AD FS) to perform federated authentication and authorization for components running in Azure. Bu çözümü dağıtın.Deploy this solution.

Güvenli Active Directory ile karma ağ mimarisi

Bu mimarinin bir Visio dosyasını indirin.Download a Visio file of this architecture.

AD FS şirket içinde barındırılabilir ancak bazı bölümleri Azure’da gerçekleştirilen hibrit bir uygulama kullanıyorsanız AD FS’yi bulutta çoğaltmanız daha verimli olabilir.AD FS can be hosted on-premises, but if your application is a hybrid in which some parts are implemented in Azure, it may be more efficient to replicate AD FS in the cloud.

Diyagram aşağıdaki senaryoları gösterir:The diagram shows the following scenarios:

  • İş ortağı bir kuruluşa ait uygulama kodu, Azure VNet’inizde barındırılan bir web uygulamasına erişiyor.Application code from a partner organization accesses a web application hosted inside your Azure VNet.
  • Active Directory Domain Services (DS) içinde kimlik bilgileri depolanan kayıtlı bir dış kullanıcı Azure VNet’inizde barındırılan bir web uygulamasına erişiyor.An external, registered user with credentials stored inside Active Directory Domain Services (DS) accesses a web application hosted inside your Azure VNet.
  • Yetkili bir cihaz kullanarak VNet’inize bağlanmış bir kullanıcı, Azure VNet’inizde barındırılan bir web uygulamasını yürütüyor.A user connected to your VNet using an authorized device executes a web application hosted inside your Azure VNet.

Bu mimarinin tipik kullanımları şunlardır:Typical uses for this architecture include:

  • İş uygulamalarının kısmen şirket içi, kısmen de Azure’da çalıştığı hibrit uygulamalar.Hybrid applications where workloads run partly on-premises and partly in Azure.
  • Web uygulamalarını iş ortağı kuruluşlara sunmak için federasyon yetkilendirmesi kullanan çözümler.Solutions that use federated authorization to expose web applications to partner organizations.
  • Kuruluşun güvenlik duvarı dışında çalışan web tarayıcılarından erişimi destekleyen sistemler.Systems that support access from web browsers running outside of the organizational firewall.
  • Uzak bilgisayarlar, dizüstü bilgisayarlar ve diğer mobil cihazlar gibi yetkili harici cihazlardan bağlanan kullanıcıların web uygulamalarına erişimine izin veren sistemler.Systems that enable users to access to web applications by connecting from authorized external devices such as remote computers, notebooks, and other mobile devices.

Bu başvuru mimarisi, federasyon sunucusunun bir kullanıcıyı nasıl ve ne zaman yetkilendireceğine karar veren pasif federasyon işlemine odaklanır.This reference architecture focuses on passive federation, in which the federation servers decide how and when to authenticate a user. Uygulama başlatıldığında kullanıcı oturum açma bilgilerini sağlar.The user provides sign in information when the application is started. Bu web tarayıcılarında en yaygın kullanılan mekanizmadır ve tarayıcıyı, kullanıcının kimlik doğrulama işlemini gerçekleştireceği siteye yönlendiren protokol içerir.This mechanism is most commonly used by web browsers and involves a protocol that redirects the browser to a site where the user authenticates. AD FS aktif federasyonu da destekler; bu durumda uygulama kullanıcının etkileşimine gerek kalmadan kimlik bilgilerini sağlama sorumluluğunu üstlenir ancak böyle bir senaryo bu mimarinin kapsamı dışındadır.AD FS also supports active federation, where an application takes on responsibility for supplying credentials without further user interaction, but that scenario is outside the scope of this architecture.

Ek konular için, bkz. Şirket içi Active Directory’yi Azure ile tümleştirmek için bir çözüm seçme.For additional considerations, see Choose a solution for integrating on-premises Active Directory with Azure.

MimariArchitecture

Bu mimari, AD DS'yi Azure'a yaygınlaştırma başlığı altında açıklanan uygulamayı yaygınlaştırır.This architecture extends the implementation described in Extending AD DS to Azure. Aşağıdaki bileşenleri içerir.It contains the followign components.

  • AD DS alt ağı.AD DS subnet. AD DS sunucuları, ağ güvenlik grubu (NGS) kurallarının güvenlik duvarı işlevi gördüğü kendi alt ağlarında yer alır.The AD DS servers are contained in their own subnet with network security group (NSG) rules acting as a firewall.

  • AD DS sunucuları.AD DS servers. Etki alanı denetleyicileri Azure’da sanal makineler olarak çalışır.Domain controllers running as VMs in Azure. Bu sunucular etki alanının içinde yer alan yerel kimlikler için kimlik doğrulaması sağlar.These servers provide authentication of local identities within the domain.

  • AD FS alt ağı.AD FS subnet. AD FS sunucuları, NGS kurallarının güvenlik duvarı işlevi gördüğü kendi alt ağlarında bulunur.The AD FS servers are located within their own subnet with NSG rules acting as a firewall.

  • AD FS sunucuları.AD FS servers. AD FS sunucuları federal yetkilendirme ve kimlik doğrulama işlemleri sağlar.The AD FS servers provide federated authorization and authentication. Bu mimaride aşağıdaki görevleri gerçekleştirirler:In this architecture, they perform the following tasks:

    • İş ortağı federasyon sunucusunun, iş ortağı kullanıcı adına yaptığı talepleri içeren güvenlik belirtecini alma.Receiving security tokens containing claims made by a partner federation server on behalf of a partner user. AD FS isteği yetkilendirmek için talepleri Azure’da çalıştırılan web uygulamasına iletmeden önce belirteçlerin geçerli olduğunu doğrular.AD FS verifies that the tokens are valid before passing the claims to the web application running in Azure to authorize requests.

      Azure'da çalışan uygulama bağlı olan taraf.The application running in Azure is the relying party. İş ortağı federasyon sunucusu web tarayıcısının anlayacağı taleplerde bulunmak zorundadır.The partner federation server must issue claims that are understood by the web application. İş ortağı federasyon sunucularına hesap ortakları denir çünkü iş ortağı kuruluşlarda bulunan kimliği doğrulanmış hesaplar adına erişim isteğinde bulunurlar.The partner federation servers are referred to as account partners, because they submit access requests on behalf of authenticated accounts in the partner organization. AD FS sunucuları kaynak ortakları olarak adlandırılır çünkü kaynaklara (web uygulaması) erişim sağlarlar.The AD FS servers are called resource partners because they provide access to resources (the web application).

    • Web tarayıcısı veya cihaz kullanarak web uygulamasına erişmesi gereken kullanıcılardan gelen istekleri AD DS ve Active Directory Cihaz Kaydı Hizmeti'ni kullanarak doğrulama ve yetkilendirme.Authenticating and authorizing incoming requests from external users running a web browser or device that needs access to web applications, by using AD DS and the Active Directory Device Registration Service.

    AD FS sunucuları, Azure yük dengeleyici üzerinden erişilen bir sunucu grubu olarak yapılandırılmıştır.The AD FS servers are configured as a farm accessed through an Azure load balancer. Bu uygulama, kullanılabilirliği ve ölçeklenebilirliği artırır.This implementation improves availability and scalability. AD FS sunucuları doğrudan İnternet'e açık değildir.The AD FS servers are not exposed directly to the Internet. Tüm İnternet trafiği AD FS web uygulaması ara sunucuları ve bir DMZ (çevre ağı olarak da bilinir) tarafından filtrelenir.All Internet traffic is filtered through AD FS web application proxy servers and a DMZ (also referred to as a perimeter network).

    AD FS’nin nasıl çalıştığı hakkında daha fazla bilgi için bkz. Active Directory Federasyon Hizmetleri’ne Genel Bakış.For more information about how AD FS works, see Active Directory Federation Services Overview. Ayrıca, Azure'da AD FS dağıtımı makalesi de uygulamaya adım adım ayrıntılı giriş bilgileri içerir.Also, the article AD FS deployment in Azure contains a detailed step-by-step introduction to implementation.

  • AD FS ara sunucusu alt ağı.AD FS proxy subnet. AD FS ara sunucuları NSG kuralları tarafından korunan kendi alt ağlarında bulundurulabilir.The AD FS proxy servers can be contained within their own subnet, with NSG rules providing protection. Bu alt ağda bulunan sunucular, Azure sanal ağınızla İnternet arasında güvenlik duvarı sağlayan bir ağ sanal gereçleri kümesi üzerinden İnternet'e açıktır.The servers in this subnet are exposed to the Internet through a set of network virtual appliances that provide a firewall between your Azure virtual network and the Internet.

  • AD FS web uygulaması ara sunucusu (WAP).AD FS web application proxy (WAP) servers. Bu VM'ler, iş ortağı kuruluşlardan ve harici cihazlardan gelen istekler için AD FS sunucusu işlevi görür.These VMs act as AD FS servers for incoming requests from partner organizations and external devices. WAP sunucuları AD FS sunucularının İnternet'e doğrudan erişimini denetleyen bir filtre işlevi görür.The WAP servers act as a filter, shielding the AD FS servers from direct access from the Internet. AD FS sunucularında da olduğu gibi, WAP sunucularını yük dengeleme özelliğine sahip bir sunucu grubunda dağıtmak, bir dizi sunucuyu tek başına dağıtmaktan daha fazla kullanılabilirlik ve ölçeklenebilirlik sağlar.As with the AD FS servers, deploying the WAP servers in a farm with load balancing gives you greater availability and scalability than deploying a collection of stand-alone servers.

    Not

    WAP sunucularını yükleme hakkında ayrıntılı bilgi için bkz. Web Uygulaması Ara Sunucusu'nu yükleme ve yapılandırmaFor detailed information about installing WAP servers, see Install and Configure the Web Application Proxy Server

  • İş ortağı kuruluş.Partner organization. Azure’da çalıştırılan bir web uygulamasına erişim isteğinde bulunan bir iş ortağı kuruluşun çalıştırdığı web uygulaması.A partner organization running a web application that requests access to a web application running in Azure. İş ortağı kuruluştaki federasyon sunucusu, istekleri yerel olarak doğrular ve talepleri içeren güvenlik belirteçlerini Azure’da çalıştırılan AD FS’ye gönderir.The federation server at the partner organization authenticates requests locally, and submits security tokens containing claims to AD FS running in Azure. Azure'da AD FS güvenlik belirteçlerini doğrular ve geçerliyse talepleri yetkilendirmek için Azure'da çalıştırılan web uygulamasına geçirebilir.AD FS in Azure validates the security tokens, and if valid can pass the claims to the web application running in Azure to authorize them.

    Not

    Azure ağ geçidini kullanarak, güvenilir iş ortaklarınız için AD FS’ye doğrudan erişim sağlayabileceğiniz bir VPN tüneli de yapılandırabilirsiniz.You can also configure a VPN tunnel using Azure gateway to provide direct access to AD FS for trusted partners. Bu iş ortaklarından alınan istekler WAP sunucuları üzerinden geçmez.Requests received from these partners do not pass through the WAP servers.

ÖnerilerRecommendations

Aşağıdaki öneriler çoğu senaryo için geçerlidir.The following recommendations apply for most scenarios. Bu önerileri geçersiz kılan belirli bir gereksiniminiz olmadığı sürece izlemeniz önerilir.Follow these recommendations unless you have a specific requirement that overrides them.

Ağ önerileriNetworking recommendations

AD FS barındıran her VM’nin ve statik özel IP adresine sahip her WAP sunucusunun ağ arabirimini yapılandırın.Configure the network interface for each of the VMs hosting AD FS and WAP servers with static private IP addresses.

AD FS VM'lerine genel IP adresleri vermeyin.Do not give the AD FS VMs public IP addresses. Daha fazla bilgi için güvenlik konuları bölümü.For more information, see the Security considerations section.

Her AD FS ve WAP VM ağ arabiriminin tercih edilen ve ikincil etki alanı adı hizmeti (DNS) sunucularının IP adresini Active Directory DS VM'lerine başvuracak biçimde ayarlayın.Set the IP address of the preferred and secondary domain name service (DNS) servers for the network interfaces for each AD FS and WAP VM to reference the Active Directory DS VMs. Active Directory DS Vm'leri DNS çalıştırıyor olmalıdır.The Active Directory DS VMs should be running DNS. Her VM’nin etki alanına katılabilmesi için bu adım gereklidir.This step is necessary to enable each VM to join the domain.

AD FS yüklemesiAD FS installation

AD FS'yi yükleme ve yapılandırma hakkında daha ayrıntılı yönergeler, Federasyon Sunucu Grubunu dağıtma makalesinde sağlanmıştır.The article Deploying a Federation Server Farm provides detailed instructions for installing and configuring AD FS. Gruptaki ilk AD FS sunucusunu yapılandırmadan önce aşağıdaki görevleri gerçekleştirin:Perform the following tasks before configuring the first AD FS server in the farm:

  1. Sunucu kimlik doğrulaması gerçekleştirmek için genel olarak güvenilir bir sertifika alın.Obtain a publicly trusted certificate for performing server authentication. Konu adı, istemcilerin federasyon hizmetine erişmek için kullandığı adı içermelidir.The subject name must contain the name clients use to access the federation service. Bu, yük dengeleyici için kayıtlı DNS adı olabilir, örneğin; adfs.contoso.com (güvenlik nedeniyle *.contoso.com gibi joker karakter içeren adları kullanmaktan kaçının).This can be the DNS name registered for the load balancer, for example, adfs.contoso.com (avoid using wildcard names such as *.contoso.com, for security reasons). Tüm AD FS sunucu VM’lerinde aynı sertifikayı kullanın.Use the same certificate on all AD FS server VMs. Güvenilir sertifika yetkilisinden bir sertifika satın alabileceğiniz gibi, kuruluşunuz Active Directory Sertifika Hizmetleri’ni kullanıyorsa kendi sertifikanızı da oluşturabilirsiniz.You can purchase a certificate from a trusted certification authority, but if your organization uses Active Directory Certificate Services you can create your own.

    Konu diğer adı, cihaz kayıt hizmeti (DRS) tarafından dış cihazlardan erişimi etkinleştirmek için kullanılır.The subject alternative name is used by the device registration service (DRS) to enable access from external devices. Bu ad enterpriseregistration.contoso.com biçiminde olmalıdır.This should be of the form enterpriseregistration.contoso.com.

    Daha fazla bilgi için bkz. AD FS için Güvenli Yuva Katmanı (SSL) Sertifikası Alma ve Yapılandırma.For more information, see Obtain and Configure a Secure Sockets Layer (SSL) Certificate for AD FS.

  2. Etki alanı denetleyicisinde Anahtar Dağıtım Hizmeti için yeni bir kök anahtar oluşturun.On the domain controller, generate a new root key for the Key Distribution Service. Etkin saati geçerli saatten 10 saat önceye ayarlayın (Bu yapılandırma, anahtarları etki alanları arasında dağıtırken ve eşitlerken oluşan gecikmeyi azaltır).Set the effective time to the current time minus 10 hours (this configuration reduces the delay that can occur in distributing and synchronizing keys across the domain). Bu adım, AD FS hizmetini çalıştırmak için kullanılan grup hizmeti hesabının oluşturulmasını desteklemek için gereklidir.This step is necessary to support creating the group service account that is used to run the AD FS service. Aşağıdaki PowerShell komutu bunun nasıl yapılacağını gösteren bir örnek sağlar:The following PowerShell command shows an example of how to do this:

    Add-KdsRootKey -EffectiveTime (Get-Date).AddHours(-10)
    
  3. Her AD FS sunucu VM’sini etki alanına ekleyin.Add each AD FS server VM to the domain.

Not

AD FS'yi yüklemek için, etki alanı için birincil etki alanı denetleyici (PDC) öykünücüsü esnek tek yöneticili işlem (FSMO) rolünün çalışır durumda ve AD FS VM’lerinden erişilebilir olması gerekir.To install AD FS, the domain controller running the primary domain controller (PDC) emulator flexible single master operation (FSMO) role for the domain must be running and accessible from the AD FS VMs. << RBC: Bu daha az yapmak için bir yol var yinelenen mı? >><<RBC: Is there a way to make this less repetitive?>>

AD FS güveniAD FS trust

AD FS yüklemenizle herhangi bir iş ortağı kuruluşun federasyon sunucusu arasında federasyon güveni oluşturun.Establish federation trust between your AD FS installation, and the federation servers of any partner organizations. Filtreleme ve eşleme gerektiren tüm talepleri yapılandırın.Configure any claims filtering and mapping required.

  • Her iş ortağı kuruluştaki DevOps personelinin AD FS sunucunuz üzerinden erişilebilen web uygulamalarına, bağlı olan taraf güveni eklemesi gerekir.DevOps staff at each partner organization must add a relying party trust for the web applications accessible through your AD FS servers.
  • AD FS sunucusunun iş ortağı kuruluşun sağladığı taleplere güvenmesini etkinleştirmek için kuruluşunuzdaki DevOps personelinin talep sağlayıcısı güveni yapılandırması gerekir.DevOps staff in your organization must configure claims-provider trust to enable your AD FS servers to trust the claims that partner organizations provide.
  • Kuruluşunuzdaki DevOps personelinin kuruluşunuzun web uygulamasına talepte bulunabilmesi için ayrıca AD FS'yi de yapılandırması gerekir.DevOps staff in your organization must also configure AD FS to pass claims on to your organization's web applications.

Daha fazla bilgi için bkz. Federasyon Güveni Oluşturma.For more information, see Establishing Federation Trust.

WAP sunucuları üzerinden ön kimlik doğrulama özelliğini kullanarak kuruluşunuzun web uygulamasını yayımlayın ve dış iş ortaklarının erişimini sağlayın.Publish your organization's web applications and make them available to external partners by using preauthentication through the WAP servers. Daha fazla bilgi için bkz. AD FS Ön Kimlik Doğrulama özelliğini kullanarak uygulama yayımlamaFor more information, see Publish Applications using AD FS Preauthentication

AD FS, belirteç dönüştürme ve genişletmeyi destekler.AD FS supports token transformation and augmentation. Azure Active Directory bu özelliği sağlamaz.Azure Active Directory does not provide this feature. AD FS ile, güven ilişkisi ayarladığınızda şunları yapabilirsiniz:With AD FS, when you set up the trust relationships, you can:

  • Yetkilendirme kuralları için talep dönüştürme işlemlerini yapılandırma.Configure claim transformations for authorization rules. Örneğin, Microsoft dışındaki bir iş ortağı kuruluşta kullanılan bir gösterimdeki grup güvenliğini, Active Directory DS’nin kuruluşunuzda yetkilendirebileceği bir şeyle eşleyebilirsiniz.For example, you can map group security from a representation used by a non-Microsoft partner organization to something that that Active Directory DS can authorize in your organization.
  • Talepleri bir biçimden diğerine dönüştürme.Transform claims from one format to another. Örneğin, uygulamanız yalnızca SAML 1.1 destekliyorsa SAML 2.0’dan SAML 1.1’e eşleyebilirsiniz.For example, you can map from SAML 2.0 to SAML 1.1 if your application only supports SAML 1.1 claims.

AD FS izlemeAD FS monitoring

Active Directory Federasyon Hizmetleri 2012 R2 için Microsoft System Center Yönetim Paketi federasyon sunucusu için AD FS dağıtımını hem ileriye hem geriye dönük izleme olanağı tanır.The Microsoft System Center Management Pack for Active Directory Federation Services 2012 R2 provides both proactive and reactive monitoring of your AD FS deployment for the federation server. Bu yönetim paketi şunları izler:This management pack monitors:

  • AD FS hizmetinin olay günlüklerine kaydettiği olaylar.Events that the AD FS service records in its event logs.
  • AD FS performans sayaçlarının topladığı performans verileri.The performance data that the AD FS performance counters collect.
  • AD FS sisteminin ve web uygulamasının (bağlı olan taraflar) genel durumu; ayrıca kritik sorunlar ve uyarılar için uyarı bildirimleri sağlar.The overall health of the AD FS system and web applications (relying parties), and provides alerts for critical issues and warnings.

Ölçeklenebilirlik konusunda dikkat edilmesi gerekenlerScalability considerations

Aşağıda değinilen noktalar AD FS sunucu gruplarını boyutlandırmaya başlamanıza yardımcı olmak için AD FS dağıtımınızı planlama makalesinden alınmıştır:The following considerations, summarized from the article Plan your AD FS deployment, give a starting point for sizing AD FS farms:

  • Kullanıcılarınızın sayısı 1000’den azsa adanmış sunucu oluşturmayın. Bunun yerine buluttaki her Active Directory DS sunucusuna AD FS yükleyin.If you have fewer than 1000 users, do not create dedicated servers, but instead install AD FS on each of the Active Directory DS servers in the cloud. Kullanılabilirliği sürdürmek için en az iki Active Directory DS sunucunuz bulunduğundan emin olun.Make sure that you have at least two Active Directory DS servers to maintain availability. Tek bir WAP sunucusu oluşturun.Create a single WAP server.
  • Kullanıcılarınızın sayısı 1000 ile 15000 arasındaysa iki adanmış AD FS sunucusu ve iki adanmış WAP sunucusu oluşturun.If you have between 1000 and 15000 users, create two dedicated AD FS servers and two dedicated WAP servers.
  • Kullanıcılarınızın sayısı 15000 ile 60000 arasındaysa üç ila beş arasında adanmış AD FS sunucusu ve en az iki adanmış WAP sunucusu oluşturun.If you have between 15000 and 60000 users, create between three and five dedicated AD FS servers and at least two dedicated WAP servers.

Bu noktalarda, Azure’da çift dört çekirdekli VM (Standart D4_v2 veya üstü) boyutları kullandığınız varsayılmıştır.These considerations assume that you are using dual quad-core VM (Standard D4_v2, or better) sizes in Azure.

AD FS yapılandırma verilerini depolamak için Windows İç Veritabanı’nı kullanıyorsanız sunucu grubunda sahip olabileceğiniz AD FS sunucusu sayısı sekizle sınırlıdır.If you are using the Windows Internal Database to store AD FS configuration data, you are limited to eight AD FS servers in the farm. İleride daha fazlasına ihtiyacınız olacağını düşünüyorsanız SQL Server kullanın.If you anticipate that you will need more in the future, use SQL Server. Daha fazla bilgi için bkz AD FS Yapılandırma Veritabanının Rolü.For more information, see The Role of the AD FS Configuration Database.

Kullanılabilirlik konusunda dikkat edilmesi gerekenlerAvailability considerations

Hizmetin kullanılabilirliğini artırmak için en az iki sunucu içeren bir AD FS grubu oluşturun.Create an AD FS farm with at least two servers to increase availability of the service. Gruptaki her AD FS VM’si için farklı depolama hesapları kullanın.Use different storage accounts for each AD FS VM in the farm. Bu yaklaşım, tek bir depolama hesabında oluşan hatanın tüm grubu erişilemez duruma getirmesini önlemeye yardımcı olur.This approach helps to ensure that a failure in a single storage account does not make the entire farm inaccessible.

AD FS ve WAP VM'leri için ayrı Azure kullanılabilirlik kümeleri oluşturun.Create separate Azure availability sets for the AD FS and WAP VMs. Her kümede en az iki VM bulunduğundan emin olun.Ensure that there are at least two VMs in each set. Her kullanılabilirlik kümesinin en az iki güncelleme etki alanı ve iki hata etki alanına sahip olması gerekir.Each availability set must have at least two update domains and two fault domains.

AD FS VM’leri ve WAP VM'leri için yük dengeleyicileri aşağıdaki gibi yapılandırın:Configure the load balancers for the AD FS VMs and WAP VMs as follows:

  • WAP VM’lerine dışarıdan erişim sağlamak için bir Azure yük dengeleyicisi ve gruptaki AD FS sunucuları arasında yük dağıtmak için bir iç yük dengeleyici kullanın.Use an Azure load balancer to provide external access to the WAP VMs, and an internal load balancer to distribute the load across the AD FS servers in the farm.

  • AD FS/WAP sunucularına yalnızca 443 numaralı bağlantı noktası (HTTPS) üzerinde görünen trafiği geçirin.Only pass traffic appearing on port 443 (HTTPS) to the AD FS/WAP servers.

  • Yük dengeleyiciye bir statik IP adresi verin.Give the load balancer a static IP address.

  • Karşı HTTP kullanarak durum araştırması oluşturun /adfs/probe.Create a health probe using HTTP against /adfs/probe. Daha fazla bilgi için donanım yük dengeleyici sistem durumu denetimleri ve Web uygulaması Ara sunucusu / AD FS 2012 R2.For more information, see Hardware Load Balancer Health Checks and Web Application Proxy / AD FS 2012 R2.

    Not

    AD FS sunucuları Sunucu Adı Belirtme (SNI) protokolü kullanır, bu nedenle yük dengeleyicideki bir HTTPS uç noktasını kullanarak araştırmaya çalıştığınızda başarısız olur.AD FS servers use the Server Name Indication (SNI) protocol, so attempting to probe using an HTTPS endpoint from the load balancer fails.

  • AD FS yük dengeleyicisi için etki alanına bir DNS A kaydı ekleyin.Add a DNS A record to the domain for the AD FS load balancer. Yük dengeleyicinin IP adresini belirtin ve buna etki alanından bir ad verin (örneğin adfs.contoso.com).Specify the IP address of the load balancer, and give it a name in the domain (such as adfs.contoso.com). Bu, istemcilerin ve WAP sunucularının AD FS sunucu grubuna erişmek için kullanacağı addır.This is the name clients and the WAP servers use to access the AD FS server farm.

AD FS yapılandırma bilgilerini saklamak için SQL Server veya Windows İç Veritabanı’nı kullanabilirsiniz.You can use either SQL Server or the Windows Internal Database to hold AD FS configuration information. Windows İç Veritabanı temel yedeklilik sağlar.The Windows Internal Database provides basic redundancy. Diğer sunucular veritabanlarını güncel tutmak için istek temelli çoğaltma yöntemini kullanırken, değişiklikler doğrudan AD FS küme ağında yer alan AD FS veritabanlarından birine yazılır.Changes are written directly to only one of the AD FS databases in the AD FS cluster, while the other servers use pull replication to keep their databases up to date. SQL Server kullanımı tam veritabanı yedekliliği ve yüksek kullanılabilirlik sağlayabilir. Bu, yük devretme kümelemesi veya yansıtmayla gerçekleştirilir.Using SQL Server can provide full database redundancy and high availability using failover clustering or mirroring.

Yönetilebilirlik konusunda dikkat edilmesi gerekenlerManageability considerations

DevOps personeli aşağıdaki görevleri gerçekleştirmeye hazırlıklı olmalıdır:DevOps staff should be prepared to perform the following tasks:

  • AD FS grubunu yönetme, federasyon sunucularında yer alan güven ilkelerini yönetme ve federasyon sunucuları tarafından kullanılan sertifikaları yönetme de dahil olmak üzere federasyon sunucularını yönetme.Managing the federation servers, including managing the AD FS farm, managing trust policy on the federation servers, and managing the certificates used by the federation services.
  • WAP sunucu grubu ve sertifikaları da dahil olmak üzere WAP sunucularını yönetme.Managing the WAP servers including managing the WAP farm and certificates.
  • Bağlı olan tarafları yapılandırma, kimlik doğrulama yöntemleri ve talep eşleme işlemleri de dahil olmak üzere web uygulamalarını yönetme.Managing web applications including configuring relying parties, authentication methods, and claims mappings.
  • AD FS bileşenlerini yedekleme.Backing up AD FS components.

Güvenlikle ilgili dikkat edilmesi gerekenlerSecurity considerations

AD FS HTTPS kullanır, bu nedenle web içeren alt ağ için NSG kuralları VM'ler HTTPS isteğine izin verdiğinden katmanı emin olun.AD FS uses HTTPS, so make sure that the NSG rules for the subnet containing the web tier VMs permit HTTPS requests. Bu istekler şirket içi ağlar; web katmanını, iş katmanını, veri katmanını, özel DMZ'yi ve ortak DMZ'yi içeren alt ağlar; AD FS sunucularını içeren alt ağlar tarafından gönderilebilir.These requests can originate from the on-premises network, the subnets containing the web tier, business tier, data tier, private DMZ, public DMZ, and the subnet containing the AD FS servers.

AD FS sunucularının İnternet'e doğrudan erişimini önleyin.Prevent direct exposure of the AD FS servers to the Internet. AD FS sunucuları; güvenlik belirteci vermek için tam yetkisi olan, etki alanına katılmış bilgisayarlardır.AD FS servers are domain-joined computers that have full authorization to grant security tokens. Bir sunucunun güvenliği aşılırsa, kötü niyetli bir kullanıcı AD FS tarafından korunan tüm web uygulamalarına ve federasyon sunucularına tam erişim belirteci verebilir.If a server is compromised, a malicious user can issue full access tokens to all web applications and to all federation servers that are protected by AD FS. Sisteminizin, güvenilir iş ortağı siteler dışından bağlanan dış kullanıcıların gönderdiği istekleri işlemesi gerekiyorsa, bu istekler işlemek için WAP sunucularını kullanın.If your system must handle requests from external users not connecting from trusted partner sites, use WAP servers to handle these requests. Daha fazla bilgi için bkz. Federasyon Sunucusu Proxy'sini Nereye Yerleştirmeli.For more information, see Where to Place a Federation Server Proxy.

AD FS sunucularıyla WAP sunucularını kendi güvenlik duvarlarıyla ayrı alt ağlara yerleştirin.Place AD FS servers and WAP servers in separate subnets with their own firewalls. Güvenlik duvarı kurallarını tanımlamak için NSG kurallarını kullanabilirsiniz.You can use NSG rules to define firewall rules. Tüm güvenlik duvarlarının 443 numaralı bağlantı noktasında (HTTPS) trafiğe izin vermesi gerekir.All firewalls should allow traffic on port 443 (HTTPS).

AD FS ve WAP sunucularında doğrudan oturum açma erişimini kısıtlayın.Restrict direct sign in access to the AD FS and WAP servers. Yalnızca DevOps personeli bağlanabilmelidir.Only DevOps staff should be able to connect. WAP sunucularını etki alanına eklemeyin.Do not join the WAP servers to the domain.

Denetim amacıyla, sanal ağınızdan geçen trafiğin bilgilerini ayrıntılı bir şekilde günlüğe kaydedecek bir dizi ağ sanal gereci kullanmayı göz önünde bulundurun.Consider using a set of network virtual appliances that logs detailed information on traffic traversing the edge of your virtual network for auditing purposes.

Çözümü dağıtmaDeploy the solution

GitHub’da bu mimariye yönelik bir dağıtıma ulaşılabilir.A deployment for this architecture is available on GitHub. VPN ağ geçidi oluşturma ve Active Directory ve AD FS yapılandırma betikleri çalıştırma içeren tüm dağıtım iki saate kadar sürebileceğini unutmayın.Note that the entire deployment can take up to two hours, which includes creating the VPN gateway and running the scripts that configure Active Directory and AD FS.

ÖnkoşullarPrerequisites

  1. Kopyalama, çatalı oluşturma veya zip dosyasını indirin GitHub deposu.Clone, fork, or download the zip file for the GitHub repository.

  2. Yükleme Azure CLI 2.0.Install Azure CLI 2.0.

  3. Yükleme Azure yapı taşları npm paketi.Install the Azure building blocks npm package.

    npm install -g @mspnp/azure-building-blocks
    
  4. Bir komut istemi'nden istemi veya PowerShell isteminde oturum gibi Azure hesabınızda oturum bash:From a command prompt, bash prompt, or PowerShell prompt, sign into your Azure account as follows:

    az login
    

Simülasyonu yapılmış şirket içi veri merkezini dağıtmaDeploy the simulated on-premises datacenter

  1. Gidin adfs GitHub deposunun klasör.Navigate to the adfs folder of the GitHub repository.

  2. onprem.json dosyasını açın.Open the onprem.json file. Arama örneklerini adminPassword, Password, ve SafeModeAdminPassword ve parolalarını güncelleştirin.Search for instances of adminPassword, Password, and SafeModeAdminPassword and update the passwords.

  3. Dağıtımın tamamlanmasını bekleyin ve aşağıdaki komutu çalıştırın:Run the following command and wait for the deployment to finish:

    azbb -s <subscription_id> -g <resource group> -l <location> -p onprem.json --deploy
    

Azure altyapısı dağıtmaDeploy the Azure infrastructure

  1. azure.json dosyasını açın.Open the azure.json file. Arama örneklerini adminPassword ve Password ve parola değerlerini ekleyin.Search for instances of adminPassword and Password and add values for the passwords.

  2. Dağıtımın tamamlanmasını bekleyin ve aşağıdaki komutu çalıştırın:Run the following command and wait for the deployment to finish:

    azbb -s <subscription_id> -g <resource group> -l <location> -p azure.json --deploy
    

AD FS grubunuzu kurmakSet up the AD FS farm

  1. adfs-farm-first.json dosyasını açın.Open the adfs-farm-first.json file. Arama AdminPassword ve varsayılan parolasını değiştirin.Search for AdminPassword and replace the default password.

  2. Şu komutu çalıştırın:Run the following command:

    azbb -s <subscription_id> -g <resource group> -l <location> -p adfs-farm-first.json --deploy
    
  3. adfs-farm-rest.json dosyasını açın.Open the adfs-farm-rest.json file. Arama AdminPassword ve varsayılan parolasını değiştirin.Search for AdminPassword and replace the default password.

  4. Dağıtımın tamamlanmasını bekleyin ve aşağıdaki komutu çalıştırın:Run the following command and wait for the deployment to finish:

    azbb -s <subscription_id> -g <resource group> -l <location> -p adfs-farm-rest.json --deploy
    

AD FS (Kısım 1) yapılandırmaConfigure AD FS (part 1)

  1. Adlı sanal makineye Uzak Masaüstü oturumu açın ra-adfs-jb-vm1, sıçrama kutusu VM olduğu.Open a remote desktop session to the VM named ra-adfs-jb-vm1, which is the jumpbox VM. Kullanıcı adı: testuser.The user name is testuser.

  2. Sıçrama kutusundan adlı sanal makineye Uzak Masaüstü oturumu açma ra-adfs-proxy-vm1.From the jumpbox, open a remote desktop session to the VM named ra-adfs-proxy-vm1. Özel IP adresini 10.0.6.4 ' dir.The private IP address is 10.0.6.4.

  3. Bu Uzak Masaüstü oturumundan çalıştırın PowerShell ISE.From this remote desktop session, run the PowerShell ISE.

  4. PowerShell'de aşağıdaki dizine gidin:In PowerShell, navigate to the following directory:

    C:\Packages\Plugins\Microsoft.Powershell.DSC\2.77.0.0\DSCWork\adfs-v2.0
    
  5. Aşağıdaki kod bir betik bölmesine yapıştırın ve çalıştırın:Paste the following code into a script pane and run it:

    . .\adfs-webproxy.ps1
    $cd = @{
        AllNodes = @(
            @{
                NodeName = 'localhost'
                PSDscAllowPlainTextPassword = $true
                PSDscAllowDomainUser = $true
            }
        )
    }
    
    $c1 = Get-Credential -UserName testuser -Message "Enter password"
    InstallWebProxyApp -DomainName contoso.com -FederationName adfs.contoso.com -WebApplicationProxyName "Contoso App" -AdminCreds $c1 -ConfigurationData $cd
    Start-DscConfiguration .\InstallWebProxyApp
    

    Adresindeki Get-Credential isteminde, dağıtım parametre dosyasında belirttiğiniz parolayı girin.At the Get-Credential prompt, enter the password that you specified in the deployment parameter file.

  6. İlerleme durumunu izlemek için aşağıdaki komutu çalıştırın DSC yapılandırma:Run the following command to monitor the progress of the DSC configuration:

    Get-DscConfigurationStatus
    

    Uygulamanın tutarlılık ulaşması birkaç dakika sürebilir.It can take several minutes to reach consistency. Bu süre boyunca, hataları komutundan görebilirsiniz.During this time, you may see errors from the command. Yapılandırma başarılı olduğunda, çıktı aşağıdakine benzer görünmelidir:When the configuration succeeds, the output should look similar to the following:

    PS C:\Packages\Plugins\Microsoft.Powershell.DSC\2.77.0.0\DSCWork\adfs-v2.0> Get-DscConfigurationStatus
    
    Status     StartDate                 Type            Mode  RebootRequested      NumberOfResources
    ------     ---------                 ----            ----  ---------------      -----------------
    Success    12/17/2018 8:21:09 PM     Consistency     PUSH  True                 4
    

AD FS (Bölüm 2) yapılandırmaConfigure AD FS (part 2)

  1. Sıçrama kutusundan adlı sanal makineye Uzak Masaüstü oturumu açma ra-adfs-proxy-vm2.From the jumpbox, open a remote desktop session to the VM named ra-adfs-proxy-vm2. Özel IP adresini 10.0.6.5 ' dir.The private IP address is 10.0.6.5.

  2. Bu Uzak Masaüstü oturumundan çalıştırın PowerShell ISE.From this remote desktop session, run the PowerShell ISE.

  3. Aşağıdaki dizine gidin:Navigate to the following directory:

    C:\Packages\Plugins\Microsoft.Powershell.DSC\2.77.0.0\DSCWork\adfs-v2.0
    
  4. Geçmiş aşağıdaki betik bölmesi ve komut dosyasını çalıştırın:Past the following in a script pane and run the script:

    . .\adfs-webproxy-rest.ps1
    $cd = @{
        AllNodes = @(
            @{
                NodeName = 'localhost'
                PSDscAllowPlainTextPassword = $true
                PSDscAllowDomainUser = $true
            }
        )
    }
    
    $c1 = Get-Credential -UserName testuser -Message "Enter password"
    InstallWebProxy -DomainName contoso.com -FederationName adfs.contoso.com -WebApplicationProxyName "Contoso App" -AdminCreds $c1 -ConfigurationData $cd
    Start-DscConfiguration .\InstallWebProxy
    

    Adresindeki Get-Credential isteminde, dağıtım parametre dosyasında belirttiğiniz parolayı girin.At the Get-Credential prompt, enter the password that you specified in the deployment parameter file.

  5. DSC yapılandırması ilerlemesini izlemek için aşağıdaki komutu çalıştırın:Run the following command to monitor the progress of the DSC configuration:

    Get-DscConfigurationStatus
    

    Uygulamanın tutarlılık ulaşması birkaç dakika sürebilir.It can take several minutes to reach consistency. Bu süre boyunca, hataları komutundan görebilirsiniz.During this time, you may see errors from the command. Yapılandırma başarılı olduğunda, çıktı aşağıdakine benzer görünmelidir:When the configuration succeeds, the output should look similar to the following:

    PS C:\Packages\Plugins\Microsoft.Powershell.DSC\2.77.0.0\DSCWork\adfs-v2.0> Get-DscConfigurationStatus
    
    Status     StartDate                 Type            Mode  RebootRequested      NumberOfResources
    ------     ---------                 ----            ----  ---------------      -----------------
    Success    12/17/2018 8:21:09 PM     Consistency     PUSH  True                 4
    

    Bazen bu DSC başarısız olur.Sometimes this DSC fails. Durum gösterir işaretlerseniz Status=Failure ve Type=Consistency, 4. Adım'ı yeniden çalıştırmayı deneyin.If the status check shows Status=Failure and Type=Consistency, try re-running step 4.

AD FS oturumSign into AD FS

  1. Sıçrama kutusundan adlı sanal makineye Uzak Masaüstü oturumu açma ra-adfs-adfs-vm1.From the jumpbox, open a remote desktop session to the VM named ra-adfs-adfs-vm1. Özel IP adresini 10.0.5.4 ' dir.The private IP address is 10.0.5.4.

  2. Bağlantısındaki IDP Intiated oturum açma sayfası etkinleştirme oturum açma sayfasını etkinleştirmek için.Follow the steps in Enable the Idp-Intiated Sign on page to enable the sign-on page.

  3. Atlama kutusundan göz atın https://adfs.contoso.com/adfs/ls/idpinitiatedsignon.htm.From the jump box, browse to https://adfs.contoso.com/adfs/ls/idpinitiatedsignon.htm. Bu test için yoksayabileceğiniz bir sertifika alabilirsiniz.You may receive a certificate warning that you can ignore for this test.

  4. Contoso Corporation oturum açma sayfasının gösterildiğinden emin olun.Verify that the Contoso Corporation sign-in page appears. Olarak oturum contoso\testuser.Sign in as contoso\testuser.