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.

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ışı
- 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.
- 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. - Müşterinin AD FS, AD FS (veya SAML) kullanarak SaaS sağlayıcısının WF-Federation gönderir.
- 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:
- Talep sağlayıcı güveni ekleyin.
- Talep kuralları ekleyin.
- Giriş-alan bulmayı etkinleştirin.
Adımları daha ayrıntılı olarak burada inceleebilirsiniz.
Talep sağlayıcı güvenini ekleyin
- Sunucu Yöneticisi Araçlar' a ve ardından AD FS Yönetimi' ni seçin.
- 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.
- Sihirbazı başlatmak için Başlat ' a tıklayın.
- "Ç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. - Varsayılan seçenekleri kullanarak Sihirbazı doldurun.
Talep kurallarını Düzenle
- Yeni eklenen talep sağlayıcı güveni öğesine sağ tıklayın ve talep kurallarını Düzenle' yi seçin.
- Kural Ekle' ye tıklayın.
- "Gelen talebi geçir veya filtrele" seçeneğini belirleyin ve İleri' ye tıklayın.

- Kural için bir ad girin.
- "Gelen talep türü" altında UPN' yi seçin.
- "Tüm talep değerlerini geçir" seçeneğini belirleyin.

- Finish (Son) düğmesine tıklayın.
- 2-7 adımlarını yineleyin ve gelen talep türü için tutturucu talep türünü belirtin.
- 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:
- Bağlı olan taraf (RP) güveni ekleyin.
- Talep kuralları ekler.
RP güvenini ekleyin
- Sunucu Yöneticisi Araçlar' a ve ardından AD FS Yönetimi' ni seçin.
- 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.
- Talepler Aware ' i seçin ve Başlat' a tıklayın.
- 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.

- Görünen ad belirtin sayfasında, herhangi bir ad girin.
- Access Control Ilkesi Seç sayfasında bir ilke seçin. Kuruluştaki herkese izin verebilir veya belirli bir güvenlik grubu seçebilirsiniz.

- İlke kutusunda gereken parametreleri girin.
- Sihirbazı tamamladıktan sonra ileri ' ye tıklayın.
Talep kuralları Ekle
Yeni eklenen bağlı olan taraf güvenini sağ tıklatın ve talep verme Ilkesini Düzenle' yi seçin.
Kural Ekle' ye tıklayın.
"LDAP özniteliklerini talep olarak gönder" seçeneğini belirleyin ve İleri' ye tıklayın.
Kural için "UPN" gibi bir ad girin.
Öznitelik deposualtında Active Directory' yi seçin.

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.

Finish (Son) düğmesine tıklayın.
Kural Ekle ' ye tekrar tıklayın.
"Talepleri özel bir kural kullanarak gönder" seçeneğini belirleyin ve İleri' ye tıklayın.
Kural için "bağlayıcı talep türü" gibi bir ad girin.
Ö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.Finish (Son) düğmesine tıklayın.
Sihirbazı tamamladıktan sonra Tamam ' ı tıklatın.