Federace s využitím AD FS zákazníka
Tento článek popisuje, jak může vícetenantská aplikace SaaS podporovat ověřování prostřednictvím služby Active Directory Federation Services (AD FS) (AD FS), aby bylo možné federovat s AD FS.
Scénář federace
Azure Active Directory (Azure AD) usnadňuje přihlašování uživatelů z tenantů Azure AD, včetně zákazníků Office365 a Dynamics CRM Online. Ale co zákazníci, kteří používají místní Active Directory v podnikovém intranetu?
Jednou z možností je, aby tito zákazníci synchronizovaly místní službu AD se službou Azure AD pomocí [služby Azure AD Připojení]. Někteří zákazníci ale nemusí tento přístup používat, a to kvůli podnikovým zásadám IT nebo jiným důvodům. V takovém případě je další možností federovat prostřednictvím Active Directory Federation Services (AD FS) (AD FS).
Povolení tohoto scénáře:
- Zákazník musí mít internetovou AD FS farmu.
- Poskytovatel SaaS nasadí vlastní AD FS farmu.
- Zákazník a poskytovatel SaaS musí nastavit vztah [důvěryhodnosti federace]. Tento proces provádíte ručně.
Vztah důvěryhodnosti má tři hlavní role:
Zákazník je AD FS, který zodpovídá za ověřování uživatelů z AD zákazníka a vytváření tokenů zabezpečení s deklaracemi identity uživatelů. []
Poskytovatel SaaS AD FS je partner poskytující [prostředky,]který důvěřuje partnerovi poskytujícímu účty a přijímá deklarace identity uživatelů.
Aplikace je nakonfigurovaná jako předávající strana (RP) ve zprostředkovateli SaaS AD FS.

Poznámka
V tomto článku předpokládáme, že aplikace používá OpenID Připojení jako ověřovací protokol. Další možností je použít WS-Federation.
V případě Připojení OpenID musí poskytovatel SaaS AD FS 2016 spuštěný v Windows Server 2016. AD FS 3.0 nepodporuje openid Připojení.
Příklad použití příkazu WS-Federation s ASP.NET 4 najdete v ukázce active-directory-dotnet-webapp-wsfederation.
<a name="authentication-flow">Tok ověřování
- Když uživatel klikne na "přihlásit", aplikace se přesměruje na koncový bod OpenID Připojení na webu poskytovatele SaaS AD FS.
- Uživatel zadá své uživatelské jméno organizace ("
alice@corp.contoso.com"). AD FS používá zjišťování domovské domény k přesměrování na adresu zákazníka AD FS kde uživatel zadá své přihlašovací údaje. - Klient zákazníka AD FS deklarace identity uživatele do poskytovatele SaaS AD FS pomocí WF-Federation (nebo SAML).
- Deklarace identity se AD FS do aplikace pomocí OpenID Připojení. To vyžaduje přechod protokolu z WS-Federation.
Omezení
Ve výchozím nastavení aplikace předávající strany obdrží pouze pevnou sadu deklarací identity, které jsou k dispozici v id_token, jak je znázorněno v následující tabulce. S AD FS 2016 můžete přizpůsobit id_token scénářích OpenID Připojení scénářích. Další informace najdete v tématu Vlastní tokeny ID v AD FS.
| Deklarovat | Popis |
|---|---|
| aud | Publikum. Aplikace, pro kterou byly deklarace identity vydány. |
| ověřovánívstant | Okamžité ověření. Čas, kdy došlo k ověření. |
| c_hash | Hodnota hash kódu. Jedná se o hodnotu hash obsahu tokenu. |
| exp | Doba vypršení platnosti. Čas, po jehož uplynutí token nebude přijat. |
| iat | Vystaveno v Čas, kdy byl token vydán. |
| Iss | Emitenta. Hodnota této žádosti je vždy hodnotou partnera poskytujícího AD FS. |
| name | Uživatelské jméno. Příklad: john@corp.fabrikam.com |
| nameidentifier | Identifikátor názvu. Identifikátor názvu entity, pro kterou byl token vystaven. |
| Nonce | Nonce relace. Jedinečná hodnota vygenerovaná AD FS, která pomáhá zabránit útokům z přehrání. |
| Upn | Hlavní název uživatele (UPN). Příklad: john@corp.fabrikam.com |
| pwd_exp | Doba vypršení platnosti hesla. Počet sekund do hesla uživatele nebo podobného ověřovacího tajného klíče, například PIN kódu. Vyprší. |
Poznámka
Deklarace identity "iss" obsahuje AD FS partnera (obvykle tato deklarace identity identifikuje poskytovatele SaaS jako vystavitele). Ne identify the customer's AD FS. Doménu zákazníka najdete jako součást hlavního názvu uživatele (UPN).
Zbývající část tohoto článku popisuje, jak nastavit vztah důvěryhodnosti mezi rp (aplikací) a partnerem poskytujícím účty (zákazníkem).
AD FS nasazení
Poskytovatel SaaS může AD FS místně nebo na virtuální počítače Azure. Pro zabezpečení a dostupnost jsou důležité následující pokyny:
- Nasaďte alespoň dva AD FS servery a dva AD FS proxy servery, abyste dosáhli nejlepší dostupnosti AD FS služby.
- Řadiče domény a AD FS servery by nikdy neměly být vystaveny přímo internetu a měly by být ve virtuální síti s přímým přístupem k nim.
- Proxy webových aplikací (AD FS proxy) se musí použít k publikování AD FS servery na internetu.
K nastavení podobné topologie v Azure se vyžadují virtuální sítě, skupiny zabezpečení sítě, virtuální počítače a skupiny dostupnosti. Další podrobnosti najdete v tématu Pokyny pro nasazení Windows Server Active Directory v Azure Virtual Machines.
Konfigurace ověřování Připojení OpenID pomocí AD FS
Poskytovatel SaaS musí povolit OpenID Připojení mezi aplikací a AD FS. Pokud to chcete udělat, přidejte skupinu aplikací do AD FS. Podrobné pokyny najdete v tomto [blogovém příspěvku]v části Nastavení webové aplikace pro OpenId Připojení přihlášení AD FS.
Dále nakonfigurujte OpenID Připojení middleware. Koncový bod metadat je , kde doména je doména poskytovatele https://domain/adfs/.well-known/openid-configuration SaaS AD FS domény.
Obvykle je můžete kombinovat s jinými openID Připojení koncovými body (například Azure AD). Budete potřebovat dvě různá tlačítka pro přihlášení nebo jiný způsob, jak je odlišit, aby byl uživatel odeslán do správného koncového bodu ověřování.
Konfigurace partnera poskytujícího AD FS prostředků
Poskytovatel SaaS musí pro každého zákazníka, který se chce připojit přes AD FS:
- Přidejte vztah důvěryhodnosti zprostředkovatele deklarací identity.
- Přidejte pravidla deklarací identity.
- Povolte zjišťování domovské reálné sítě.
Tady jsou podrobnější kroky.
Přidání vztahu důvěryhodnosti zprostředkovatele deklarací identity
- V Správce serveru klikněte na Nástroje a pak vyberte AD FS Management.
- Ve stromu konzoly v části AD FS klikněte pravým tlačítkem na Vztahy důvěryhodnosti zprostředkovatele deklarací. Vyberte Add Claims Provider Trust (Přidat vztah důvěryhodnosti zprostředkovatele deklarací).
- Kliknutím na Spustit spusťte průvodce.
- Vyberte možnost Import dat o zprostředkovateli deklarací identity publikovaného online nebo v místní síti. Zadejte identifikátor URI koncového bodu federačních metadat zákazníka. (Příklad:
https://contoso.com/FederationMetadata/2007-06/FederationMetadata.xml.) Budete ho muset získat od zákazníka. - Dokončete průvodce pomocí výchozích možností.
Úprava pravidel deklarací identity
- Klikněte pravým tlačítkem na nově přidaný vztah důvěryhodnosti zprostředkovatele deklarací a vyberte Upravit pravidla deklarací identity.
- Klikněte na Přidat pravidlo.
- Vyberte "Předávat nebo filtrovat příchozí deklaraci" a klikněte na Další.

- Zadejte název pravidla.
- V části Typ příchozí deklarace identity vyberte UPN.
- Vyberte Předávat všechny hodnoty deklarací identity.

- Klikněte na Finish (Dokončit).
- Opakujte kroky 2 až 7 a jako typ příchozí deklarace identity zadejte Typ deklarace ukotvení.
- Kliknutím na OK dokončete průvodce.
Povolení zjišťování domovské reálné sítě
Spusťte následující skript PowerShellu:
Set-AdfsClaimsProviderTrust -TargetName "name" -OrganizationalAccountSuffix @("suffix")
kde "name" je popisný název vztahu důvěryhodnosti zprostředkovatele deklarací identity a "přípona" je přípona hlavního názvu uživatele (UPN) pro AD zákazníka (například "corp.fabrikam.com").
Díky této konfiguraci mohou koncoví uživatelé zadat svůj účet organizace a AD FS automaticky vybere odpovídajícího zprostředkovatele deklarací identity. Viz [Přizpůsobení přihlašovacích AD FS]identity v části Konfigurace zprostředkovatele identity pro použití určitých e-mailových přípon.
Konfigurace partnera AD FS účtu
Zákazník musí provést následující akce:
- Přidání vztahu důvěryhodnosti předávající strany
- Přidá pravidla deklarací identity.
Přidání vztahu důvěryhodnosti rp
- V Správce serveru klikněte na Nástroje a pak vyberte AD FS Management.
- Ve stromu konzoly v části AD FS klikněte pravým tlačítkem na Vztahy důvěryhodnosti předávající strany. Vyberte Add Relying Party Trust (Přidat vztah důvěryhodnosti předávající strany).
- Vyberte Možnost Prošly deklaracemi a klikněte na Spustit.
- Na stránce Vybrat zdroj dat vyberte možnost Importovat data o poskytovateli deklarací identity publikovaného online nebo v místní síti. Zadejte identifikátor URI koncového bodu federačních metadat poskytovatele SaaS.

- Na stránce Zadat zobrazovaný název zadejte libovolný název.
- Na stránce Access Control zásady zvolte zásadu. Můžete povolit všechny v organizaci nebo zvolit konkrétní skupinu zabezpečení.

- Do pole Zásady zadejte všechny požadované parametry.
- Průvodce dokončete kliknutím na Další.
Přidání pravidel deklarací identity
Klikněte pravým tlačítkem na nově přidaný vztah důvěryhodnosti předávající strany a vyberte Upravit zásady vystavování deklarací identity.
Klikněte na Přidat pravidlo.
Vyberte Send LDAP Attributes as Claims (Odeslat atributy LDAP jako deklarace) a klikněte na Next (Další).
Zadejte název pravidla, například hlavní název uživatele (UPN).
V části Úložiště atributů vyberte Active Directory.

V části Mapování atributů LDAP:
- V části Atribut LDAP vyberte User-Principal-Name.
- V části Typ odchozí deklarace vyberte UPN.

Klikněte na Finish (Dokončit).
Znovu klikněte na Přidat pravidlo.
Vyberte Odeslat deklarace pomocí vlastního pravidla a klikněte na Další.
Zadejte název pravidla, například "Anchor Claim Type".
V části Vlastní pravidlo zadejte následující:
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");Toto pravidlo vydá deklaraci identity typu
anchorclaimtype. Deklarace říká předávající straně, aby jako neměnné ID uživatele jako hlavní název uživatele (UPN) používá.Klikněte na Finish (Dokončit).
Kliknutím na OK dokončete průvodce.