Zdieľať cez


Nastavenie poskytovateľa SAML 2.0 s AD FS

Active Directory Federation Services (AD FS) je jedným z poskytovateľov identity SAML 2.0, ktorých môžete použiť na overovanie návštevníkov vašej lokality Power Pages. Môžete použiť ktoréhokoľvek poskytovateľa, ktorý s portálmi potvrdzuje špecifikáciu SAML 2.0.

V tomto článku sú opísané nasledujúce kroky:

Dôležité

Kroky nastavenia služby AD FS sa môžu líšiť v závislosti od verzie servera AD FS.

Nastavenie AD FS v Power Pages

Nastavte AD FS ako poskytovateľa identity pre svoju lokalitu.

  1. Na svojom Power Pages stránke vyberte Bezpečnosť>Poskytovatelia identity.

    Ak sa nezobrazujú žiadni poskytovatelia identity, uistite sa, že je Externé prihlásenie nastavené na Zapnuté vo všeobecných nastaveniach overovania vašej lokality.

  2. Vyberte možnosť + Nový poskytovateľ.

  3. V časti Výber poskytovateľa prihlásenia stlačte Ostatné.

  4. V rámci možnosti Protokol zvoľte SAML 2.0.

  5. Zadajte názov poskytovateľa.

    Názov poskytovateľa je text na tlačidle, ktorý sa používateľom zobrazí pri výbere poskytovateľa identity na prihlasovacej stránke.

  6. Vyberte Ďalej.

  7. V časti Adresa URL odpovede vyberte možnosť Kopírovať.

    Nezatvárajte kartu prehliadača Power Pages. Čoskoro sa k nej vrátite.

Vytvoriť spoľahlivú stranu dôvery AD FS

Môžete tiež použiť skript PowerShell na vykonanie týchto krokov.

  1. V Správcovi servera vyberte Nástroje a potom vyberte Správa AD FS.

  2. Rozbaľte možnosť Služba.

  3. Na paneli na pravej strane vyberte možnosť Pridať popis deklarácie identity.

  4. Zadajte nasledujúce hodnoty:

    • Zobrazovaný názov: Trvalý identifikátor

    • Identifikátor nároku: urn:oasis:names:tc:SAML:2.0:nameid-format:persistent

    • Vyberte obe možnosti Zverejniť tento popis deklarácie identity v metadátach federácie… .

  5. Vyberte položku OK.

  6. Vyberte Vzťahy dôvery>Spoľahlivé dôveryhodné strany.

  7. Kliknite na Pridať spoľahlivú dôveryhodnú stranu.

  8. Vyberte možnosť Začať.

  9. Zvoľte Manuálne zadávanie údajov o spoľahlivej strane a potom kliknite na Ďalej.

  10. Zadajte názov; napríklad https://portal.contoso.com/.

  11. Vyberte Ďalej.

  12. Vyberte Profil AD FS 2.0 a potom vyberte položku Ďalej.

  13. Na stránke Konfigurovať Certifikát vyberte Ďalej.

  14. Vyberte možnosť Zapnúť podporu protokolu SAML 2.0 WebSSO.

  15. V časti Adresa URL služby jednotného prihlásenia prijímajúcej strany SAML 2.0 zadajte adresu URL odpovede , ktorú ste skopírovali. AD FS vyžaduje, aby webová lokalita bežala na HTTPS, nie HTTP.

  16. Vyberte Ďalej.

  17. Na stránke Konfigurácia identifikátorov zadajte adresu URL svojej lokality a potom vyberte možnosť Pridať.

    Ak je to potrebné, môžete pridať viac identít pre každý ďalší portál spoliehajúcej strany. Používatelia sa môžu overiť použitím akýchkoľvek dostupných identít.

  18. Vyberte Ďalej.

  19. Na stránke Konfigurovať viacfaktorovú autentifikáciu teraz? vyberte Nechcem konfigurovať nastavenia viacfaktorovej autentifikácie pre túto dôveru spoliehajúcej sa strany na tentoraz.

  20. Na stránke Vybrať pravidlá vyhľadávania autorizácie vyberte Povoliť všetkým používateľom prístup k tejto spoliehajúcej sa strane a potom kliknite na Ďalej.

  21. Skontrolujte nastavenia dôvery a následne vyberte položku Ďalej.

  22. Vyberte Zavrieť.

  23. V časti Upraviť pravidlá nároku vyberte jednu z nasledujúcich kariet v závislosti od dôveryhodnosti, ktorú upravujete a v ktorej skupine pravidiel chcete pravidlo vytvoriť:

    • Pravidlá transformácie prijatia
    • Pravidlá transformácie vydávania
    • Pravidlá oprávnenia na vydanie
    • Pravidlá poverenia
  24. Vyberte Pridať pravidlo.

  25. V zozname Šablóna pravidla nároku vyberte Transformovať prichádzajúci nárok a potom vyberte Ďalej.

  26. Zadajte alebo si vyberte nasledujúce hodnoty:

    • Nárokovať názov pravidla : Transformujte názov účtu Windows na ID názvu

    • Typ prichádzajúcej pohľadávky : Názov účtu Windows

    • Typ odchádzajúcej reklamácie : ID mena

    • Formát ID odchádzajúceho mena: Trvalý identifikátor

  27. Vyberte Prejsť všetky hodnoty nároku.

  28. Vyberte Zatvoriť a potom stlačte možnosť OK.

Dokončite nastavenie poskytovateľa

Po nastavení dôveryhodnosti spoliehajúcej sa strany AD FS:

  1. Vytvorte registráciu aplikácie v Azure.

  2. Zadajte nastavenia lokality v Power Pages.

Prihlásenie inicializované poskytovateľom identity

AD FS podporuje poskytovateľom identity iniciované jediné prihlásenie (SSO) cez IdP profil so špecifikáciou SAML 2.0. Aby web poskytovateľa služieb správne reagoval na požiadavku SAML poskytovateľa identity, musíte kódovať parameter RelayState.

Základná hodnota reťazca, ktorá bude zakódovaná do parametra SAML RelayState, musí byť vo formáte ReturnUrl=/content/sub-content/, kde je /content/sub-content/ cesta k požadovanej stránke na webovej lokalite poskytovateľa služby. Môžete zadať cestu k akejkoľvek platnej stránke na webovej lokalite. Hodnota reťazca je zakódovaná a umiestnená do zásobníka reťazca formátu RPID=&lt;URL encoded RPID&gt;&RelayState=&lt;URL encoded RelayState&gt;. Celý reťazec je opäť zakódovaný a pridaný do iného zásobníka vo formáte <https://adfs.contoso.com/adfs/ls/idpinitiatedsignon.aspx?RelayState=&lt;URL> encoded RPID/RelayState&gt;.

Napríklad cesta poskytovateľa služieb /content/sub-content/ a identifikátor spoľahlivej strany https://portal.contoso.com/ vytvárajú adresu URL na základe nasledovných krokov:

  • Zakódujte hodnotu ReturnUrl=/content/sub-content/ na získanie ReturnUrl%3D%2Fcontent%2Fsub-content%2F

  • Zakódujte hodnotu https://portal.contoso.com/ na získanie https%3A%2F%2Fportal.contoso.com%2F

  • Zakódujte hodnotu RPID=https%3A%2F%2Fportal.contoso.com%2F&RelayState=ReturnUrl%3D%2Fcontent%2Fsub-content%2F na získanie RPID%3Dhttps%253A%252F%252Fportal.contoso.com%252F%26RelayState%3DReturnUrl%253D%252Fcontent%252Fsub-content%252F

  • Na začiatok pripojte AD FS poskytovateľom identity iniciovanú cestu SSO a získajte koncovú adresu URL https://adfs.contoso.com/adfs/ls/idpinitiatedsignon.aspx?RelayState=RPID%3Dhttps%253A%252F%252Fportal.contoso.com%252F%26RelayState%3DReturnUrl%253D%252Fcontent%252Fsub-content%252F

Na zostavenie adresy URL môžete použiť nasledujúci skript PowerShell. Uložte skript do súboru s názvom Get-IdPInitiatedUrl.ps1.


<#
.SYNOPSIS 
Constructs an IdP-initiated SSO URL to access a website page on the service provider.
.PARAMETER path
The path to the website page.
.PARAMETER rpid
The relying party identifier.
.PARAMETER adfsPath
The AD FS IdP initiated SSO page.
.EXAMPLE
PS C:\\> .\\Get-IdPInitiatedUrl.ps1 -path "/content/sub-content/" -rpid "https://portal.contoso.com/" -adfsPath "https://adfs.contoso.com/adfs/ls/idpinitiatedsignon.aspx"
#>
param
(
[parameter(mandatory=$true,position=0)]
$path,
[parameter(mandatory=$true,position=1)]
$rpid,
[parameter(position=2)]
$adfsPath = https://adfs.contoso.com/adfs/ls/idpinitiatedsignon.aspx
)
$state = ReturnUrl=$path
$encodedPath = [uri]::EscapeDataString($state)
$encodedRpid = [uri]::EscapeDataString($rpid)
$encodedPathRpid = [uri]::EscapeDataString("RPID=$encodedRpid&RelayState=$encodedPath")
$idpInitiatedUrl = {0}?RelayState={1} -f $adfsPath, $encodedPathRpid
Write-Output $idpInitiatedUrl

Konfigurácia AD FS pomocou PowerShell

Namiesto pridania dôveryhodnosti prijímajúcej strany do služby AD FS môžete manuálne spustiť nasledujúci skript PowerShell na serveri AD FS. Uložte skript do súboru s názvom Add-AdxPortalRelyingPartyTrustForSaml.ps1. Po spustení skriptu pokračujte konfiguráciou nastavenia lokality v Power Pages.

<# 
.SYNOPSIS
Adds a SAML 2.0 relying party trust entry for a website.
.PARAMETER domain
The domain name of the website.
.EXAMPLE
PS C:\\> .\\Add-AdxPortalRelyingPartyTrustForSaml.ps1 -domain portal.contoso.com
#>
param
(
[parameter(Mandatory=$true,Position=0)]
$domain,
[parameter(Position=1)]
$callbackPath = /signin-saml2
)
$VerbosePreference = Continue
$ErrorActionPreference = Stop
Import-Module adfs
Function Add-CrmRelyingPartyTrust
{
param (
[parameter(Mandatory=$true,Position=0)]
$name
)
$identifier = https://{0}/ -f $name
$samlEndpoint = New-ADFSSamlEndpoint -Binding POST -Protocol SAMLAssertionConsumer -Uri (https://{0}{1} -f $name, $callbackPath)
$identityProviderValue = Get-ADFSProperties | % { $_.Identifier.AbsoluteUri }
$issuanceTransformRules = @'
@RuleTemplate = MapClaims
@RuleName = Transform [!INCLUDE[pn-ms-windows-short](../../../includes/pn-ms-windows-short.md)] Account Name to Name ID claim
c:[Type == "https://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname"]
=> issue(Type = "https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", Issuer = c.Issuer, OriginalIssuer = c.OriginalIssuer, Value = c.Value, ValueType = c.ValueType, Properties["https://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/format"] = "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent");
@RuleTemplate = LdapClaims
@RuleName = Send LDAP Claims
c:[Type == "https://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"]
=> issue(store = "[!INCLUDE[pn-active-directory](../../../includes/pn-active-directory.md)]", types = ("https://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname", "https://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname", "https://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"), query = ";givenName,sn,mail;{{0}}", param = c.Value);
'@ -f $identityProviderValue
$issuanceAuthorizationRules = @'
@RuleTemplate = AllowAllAuthzRule
=> issue(Type = https://schemas.microsoft.com/authorization/claims/permit, Value = true);
'@
Add-ADFSRelyingPartyTrust -Name $name -Identifier $identifier -SamlEndpoint $samlEndpoint -IssuanceTransformRules $issuanceTransformRules -IssuanceAuthorizationRules $issuanceAuthorizationRules
}
# add the 'Identity Provider' claim description if it is missing
[!INCLUDE[cc-pages-ga-banner](../../../includes/cc-pages-ga-banner.md)]
if (-not (Get-ADFSClaimDescription | ? { $_.Name -eq Persistent Identifier })) {
Add-ADFSClaimDescription -name "Persistent Identifier" -ClaimType "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent" -IsOffered:$true -IsAccepted:$true
}
# add the website relying party trust
[!INCLUDE[cc-pages-ga-banner](../../../includes/cc-pages-ga-banner.md)]
Add-CrmRelyingPartyTrust $domain

Pozrite si tiež

Nastavte poskytovateľa SAML 2.0
Nastavte poskytovateľa SAML 2.0 s Microsoft Entra ID
Najčastejšie otázky týkajúce sa SAML 2.0