Müşterinin AD FS’si ile birleştirme

Bu makalede, çok müşterili bir SaaS uygulamasının, müşterinin Active Directory Federasyon Hizmetleri (AD FS) (AD FS) aracılığıyla kimlik doğrulamasını nasıl destekleye AD FS.

Federasyon senaryosu

Azure Active Directory (Azure AD), Office365 ve Dynamics CRM Online müşterileri dahil olmak üzere Azure AD kiracılarından kullanıcıların oturum açmasını kolaylaştırır. Peki ya şirket intraneti üzerinde şirket içi Active Directory kullanan müşteriler ne olacak?

Seçeneklerden biri, bu müşterilerin Şirket içi AD'lerini Azure AD ile Eşitlemek için Azure ADBağlan. Ancak, bazı müşteriler kurumsal IT ilkesi veya başka nedenlerle bu yaklaşımı kullanamayabiliyor. Bu durumda, bir diğer seçenek de Active Directory Federasyon Hizmetleri (AD FS) (AD FS).

Bu senaryoyu etkinleştirmek için:

  • Müşterinin İnternet'e yönelik bir AD FS gerekir.
  • SaaS sağlayıcısı kendi AD FS dağıtır.
  • Müşterinin ve SaaS sağlayıcısının federasyon güveni ayarlaması gerekir. Bu el ile yapılan bir işlemdir.

Güven ilişkisinde üç ana rol vardır:

  • Müşterinin AD FS, kullanıcıların AD'lerinden kimliklerini doğrulama ve kullanıcı talepleri ile güvenlik belirteçleri oluşturma sorumluluğunda olan hesap ortağıdır.

  • SaaS sağlayıcısının AD FS, hesap ortağına güvenenve kullanıcı taleplerini alan kaynak ortağıdır.

  • Uygulama SaaS sağlayıcısının hizmet sağlayıcısında bağlı olan taraf (RP) olarak AD FS.

    Federasyon güveni

Not

Bu makalede, uygulamanın kimlik doğrulama protokolü olarak OpenID Bağlan kullandığını varsayalım. Bir diğer seçenek de WS-Federation kullanmak.

OpenID Bağlan SaaS sağlayıcısının 2016'AD FS içinde çalışan bir Windows Server 2016. AD FS 3.0, OpenID Bağlan.

WS-Federation 4 ile ASP.NET örneği için active-directory-dotnet-webapp-wsfederation örneğine bakın.

Kimlik doğrulaması akışı

  1. Kullanıcı "oturum aç"a tıkladığında, uygulama SaaS sağlayıcısının Bağlan bir OpenID uç noktasına AD FS.
  2. Kullanıcı kuruluş kullanıcı adını (" alice@corp.contoso.com ") girer. AD FS, kullanıcının kimlik bilgilerini girdiği müşterinin AD FS yeniden yönlendirmek için ev alanı keşfini kullanır.
  3. Müşterinin AD FS, AD FS (veya SAML) kullanarak SaaS sağlayıcısının WF-Federation gönderir.
  4. OpenID AD FS kullanarak talepler uygulamaya Bağlan. Bu, WS-Federation'dan protokol geçişi gerektirir.

Sınırlamalar

Varsayılan olarak, bağlı olan taraf uygulaması aşağıdaki tabloda gösterildiği gibi yalnızca id_token sabit bir talep kümesi alır. 2016'AD FS ile OpenID id_token senaryolarında Bağlan özelleştirebilirsiniz. Daha fazla bilgi için bkz. AD FS.

İste Description
aud Seyirci. Taleplerin verilen uygulama.
Authenticationınstant Kimlik doğrulaması anında. Kimlik doğrulamasının ne zaman meydana geldiği.
c_hash Kod karması değeri. Bu, belirteç içeriğinin karmasıdır.
Exp Sona erme zamanı. Belirteci bundan sonra kabul edilmeyecek olan süre.
ıat Verilen. Belirteci verilen saat.
ıss Veren. Bu talebin değeri her zaman kaynak ortağının AD FS.
name Kullanıcı adı. Örnek: john@corp.fabrikam.com
nameidentifier Ad tanımlayıcısı. Belirteci verilen varlığın adının tanımlayıcısı.
Nonce Oturum nonce. Yeniden yürütme saldırılarını önlemeye yardımcı AD FS tarafından oluşturulan benzersiz bir değer.
Upn Kullanıcı asıl adı (UPN). Örnek: john@corp.fabrikam.com
pwd_exp Parola süre sonu. Kullanıcının parolasını veya PIN gibi benzer bir kimlik doğrulama gizli dizisine kadar olan saniye sayısı. Sona eri -yor.

Not

"iss" talebi, AD FS iş ortağının kimliğini içerir (genellikle bu talep, SaaS sağlayıcısını veren olarak tanıtır). Müşterinin kimliğini AD FS. UpN'nin bir parçası olarak müşterinin etki alanını bulabilirsiniz.

Bu makalenin geri kalanında, RP (uygulama) ile hesap ortağı (müşteri) arasında güven ilişkisinin nasıl ayar olduğu açıklanmıştır.

AD FS dağıtımı

SaaS sağlayıcısı şirket AD FS Azure VM'lere dağıtımlar da kullanabilir. Güvenlik ve kullanılabilirlik için aşağıdaki yönergeler önemlidir:

  • En iyi kullanılabilirlik AD FS elde etmek için en az iki AD FS sunucu ve iki AD FS sunucu AD FS dağıtın.
  • Etki alanı denetleyicileri AD FS sunucuları hiçbir zaman doğrudan İnternet'e maruz kalmamalı ve doğrudan erişimi olan bir sanal ağ içinde olmalıdır.
  • Web uygulaması sunucuları (eski AD FS sunucuları) İnternet'te yayımlamak AD FS için kullanılmalıdır.

Azure'da benzer bir topoloji ayarlamak için sanal ağların, ağ güvenlik gruplarının, sanal makinelerin ve kullanılabilirlik kümelerinin kullanımı gerekir. Diğer ayrıntılar için bkz. Azure Sanal Makineler'Windows Server Active Directory dağıtım yönergeleri.

OpenID kimlik Bağlan doğrulamasını AD FS

SaaS sağlayıcısının uygulama ve uygulama Bağlan OpenID'yi etkinleştirmesi AD FS. Bunu yapmak için uygulama grubunu AD FS. Ayrıntılı yönergeleri bu bloggönderisinde "OpenId için Web Uygulaması ayarlama" altında bulabilirsiniz Bağlan oturum AD FS.

Ardından OpenID'yi Bağlan yapılandırın. Meta veri uç noktası https://domain/adfs/.well-known/openid-configuration şeklindedir; burada etki alanı SaaS sağlayıcısının AD FS alanıdır.

Genellikle bunu diğer OpenID uç noktalarıyla Bağlan uç noktalarla (Azure AD gibi) birleştirebilirsiniz. İki farklı oturum açma düğmesi veya bunları ayırt etmek için başka bir yol gerekir, böylece kullanıcı doğru kimlik doğrulama uç noktasına gönderilir.

kaynak AD FS ortağını yapılandırma

SaaS sağlayıcısı, ağ üzerinden bağlanmak isteyen her müşteri için şunları AD FS:

  1. Talep sağlayıcı güveni ekleyin.
  2. Talep kuralları ekleyin.
  3. Giriş-alan bulmayı etkinleştirin.

Adımları daha ayrıntılı olarak burada inceleebilirsiniz.

Talep sağlayıcı güvenini ekleyin

  1. Sunucu Yöneticisi Araçlar' a ve ardından AD FS Yönetimi' ni seçin.
  2. Konsol ağacında, AD FSaltında, talep sağlayıcı güvenleri' ne sağ tıklayın. Talep sağlayıcı güveni Ekle' yi seçin.
  3. Sihirbazı başlatmak için Başlat ' a tıklayın.
  4. "Çevrimiçi veya yerel ağ üzerinde yayınlanan talep sağlayıcısı hakkındaki verileri Içeri aktar" seçeneğini belirleyin. Müşterinin Federasyon meta veri uç noktasının URI 'sini girin. (Örnek: https://contoso.com/FederationMetadata/2007-06/FederationMetadata.xml .) Bunu müşteriden almanız gerekir.
  5. Varsayılan seçenekleri kullanarak Sihirbazı doldurun.

Talep kurallarını Düzenle

  1. Yeni eklenen talep sağlayıcı güveni öğesine sağ tıklayın ve talep kurallarını Düzenle' yi seçin.
  2. Kural Ekle' ye tıklayın.
  3. "Gelen talebi geçir veya filtrele" seçeneğini belirleyin ve İleri' ye tıklayın. Talep kuralı şablonu altında gelen talebi geçir veya filtrele seçeneğinin ekran görüntüsü.
  4. Kural için bir ad girin.
  5. "Gelen talep türü" altında UPN' yi seçin.
  6. "Tüm talep değerlerini geçir" seçeneğini belirleyin. Tüm talep değerlerini geçirme seçeneğinin ekran görüntüsü.
  7. Finish (Son) düğmesine tıklayın.
  8. 2-7 adımlarını yineleyin ve gelen talep türü için tutturucu talep türünü belirtin.
  9. Sihirbazı tamamladıktan sonra Tamam ' ı tıklatın.

Ana bölge bulmayı etkinleştir

Aşağıdaki PowerShell betiğini çalıştırın:

Set-AdfsClaimsProviderTrust -TargetName "name" -OrganizationalAccountSuffix @("suffix")

Burada "ad", talep sağlayıcı güveninin kolay adıdır ve "sonek" müşterinin AD (örneğin, "corp.fabrikam.com") için UPN sonekidir.

Bu yapılandırmaya sahip son kullanıcıların Kurumsal hesabında yazabilirsiniz ve AD FS karşılık gelen talep sağlayıcısı otomatik olarak seçer. Bkz. AD FS oturum açma sayfalarını özelleştirme, "kimlik sağlayıcısını belirli e-posta soneklerini kullanacak şekilde yapılandırma" bölümünde.

AD FS hesabı ortağını yapılandırma

Müşterinin aşağıdakileri yapması gerekir:

  1. Bağlı olan taraf (RP) güveni ekleyin.
  2. Talep kuralları ekler.

RP güvenini ekleyin

  1. Sunucu Yöneticisi Araçlar' a ve ardından AD FS Yönetimi' ni seçin.
  2. Konsol ağacında, AD FSaltında, bağlı olan taraf güvenleri' ne sağ tıklayın. Bağlı olan taraf güveni Ekle' yi seçin.
  3. Talepler Aware ' i seçin ve Başlat' a tıklayın.
  4. Veri kaynağı seç sayfasında "çevrimiçi veya yerel ağ üzerinde yayınlanan talep sağlayıcısı hakkındaki verileri içeri aktar" seçeneğini belirleyin. SaaS sağlayıcısının Federasyon meta veri uç noktasının URI 'sini girin. Bağlı olan taraf güveni Ekleme Sihirbazı
  5. Görünen ad belirtin sayfasında, herhangi bir ad girin.
  6. Access Control Ilkesi Seç sayfasında bir ilke seçin. Kuruluştaki herkese izin verebilir veya belirli bir güvenlik grubu seçebilirsiniz. Access Control Ilkesi Seç sayfasının ekran görüntüsü.
  7. İlke kutusunda gereken parametreleri girin.
  8. Sihirbazı tamamladıktan sonra ileri ' ye tıklayın.

Talep kuralları Ekle

  1. Yeni eklenen bağlı olan taraf güvenini sağ tıklatın ve talep verme Ilkesini Düzenle' yi seçin.

  2. Kural Ekle' ye tıklayın.

  3. "LDAP özniteliklerini talep olarak gönder" seçeneğini belirleyin ve İleri' ye tıklayın.

  4. Kural için "UPN" gibi bir ad girin.

  5. Öznitelik deposualtında Active Directory' yi seçin. Dönüşüm talebi kuralı Ekle Sihirbazı

  6. LDAP özniteliklerini eşleme bölümünde:

    • LDAP özniteliğialtında Kullanıcı-asıl-adı' nı seçin.
    • Giden talep türüaltında UPN' yi seçin. LDAP özniteliklerinin eşlenmesinin altında Kullanıcı-asıl-adı ve UPN 'yi seçme ekran görüntüsü.
  7. Finish (Son) düğmesine tıklayın.

  8. Kural Ekle ' ye tekrar tıklayın.

  9. "Talepleri özel bir kural kullanarak gönder" seçeneğini belirleyin ve İleri' ye tıklayın.

  10. Kural için "bağlayıcı talep türü" gibi bir ad girin.

  11. Özel kuralaltına şunu girin:

    EXISTS([Type == "http://schemas.microsoft.com/ws/2014/01/identity/claims/anchorclaimtype"])=>
    issue (Type = "http://schemas.microsoft.com/ws/2014/01/identity/claims/anchorclaimtype",
          Value = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn");
    

    Bu kural, türünde bir talep yayınlar anchorclaimtype . Talep, bağlı olan tarafa kullanıcının sabit KIMLIĞI olarak UPN 'yi kullanmasını söyler.

  12. Finish (Son) düğmesine tıklayın.

  13. Sihirbazı tamamladıktan sonra Tamam ' ı tıklatın.