Konfiguracija ponudnika SAML 2.0 za portale z AD FS

Opomba

Od 12. oktobra 2022 najprej je portal Power Apps Power Pages. Več informacij: Microsoft Power Pages je zdaj splošno dostopen (spletni dnevnik)
Dokumentacijo portalov Power Apps bomo kmalu preselili in združili z dokumentacijo za Power Pages.

Pomembno

Koraki za konfiguracijo Active Directory Federation Services (AD FS) se lahko razlikujejo glede na različico strežnika AD FS.

Ustvarite zaupanje odvisne strani AD FS

Opomba

Glejte Konfiguracija AD FS z lupino PowerShell, kjer najdete informacije o izvajanju teh korakov v skriptu PowerShell.

  1. Z orodjem za upravljanje AD FS odprite Storitev > Opisi zahtevkov.

    1. Izberite Dodaj opis zahtevka.

    2. Podajte zahtevek:

      • Prikazno ime: Vztrajni identifikator

      • Identifikator zahtevka: urn:oasis:names:tc:SAML:2.0:nameid-format:persistent

      • Potrditveno polje Omogoči za: objavi ta opis zahtevka v metapodatkih združevanja kot vrsto zahtevka, ki jo ta storitev združevanja lahko sprejme

      • Potrditveno polje Omogoči za: objavi ta opis zahtevka v metapodatkih združevanja kot vrsto zahtevka, ki jo ta storitev združevanja lahko pošlje

    3. Izberite V redu.

  2. Z orodjem za upravljanje strežnika AD FS izberite Razmerja zaupanj >Zaupanja odvisnih strani.

    1. Izberite Dodaj zaupanje odvisne strani.

    2. Začetna stran: izberite Začetek.

    3. Izbira vira podatkov: izberite Ročni vnos podatkov o odvisni strani in nato izberite Naprej.

    4. Določitev prikaznega imena: vnesite ime in nato izberite Naprej. Primer: https://portal.contoso.com/

    5. Izbira profila: izberite Profil AD FS 2.0 in nato izberite Naprej.

    6. Konfiguracija potrdila: izberite Naprej.

    7. Konfiguracija URL-ja: potrdite polje Omogoči podporo za protokol SAML 2.0 WebSSO. URL storitve odvisne strani SAML 2.0 SSO: vnesite https://portal.contoso.com/signin-saml2
      Upoštevajte, da AD FS zahteva, da se portal izvaja prek HTTPS.

      Opomba

      Pridobljena končna točka ima naslednje nastavitve:

    8. Konfiguracija identitet: vnesite https://portal.contoso.com/, izberite Dodaj in nato še Naprej. Za portal vsake dodatne odvisne strani lahko po potrebi dodate več identitet. Postopek preverjanja pristnosti uporabnikov se lahko izvaja prek katerih koli ali vseh razpoložljivih identitet.

    9. Izbira pravil za overjanje izdajanja: izberite Dovoli vsem uporabnikom dostop do te odvisne strani in nato izberite Naprej.

    10. Dodajanje zaupanja: izberite Naprej.

    11. Izberite Zapri.

  3. Dodajanje zahtevka ID imena v zaupanje odvisne strani:

    Preoblikovanje imena računa sistema Windows v zahtevek ID imena (preoblikovanje dohodnega zahtevka):

    • Vrsta dohodnega zahtevka: Ime računa Windows

    • Vrsta odhodnega zahtevka: ID imena

    • Odhodna oblika ID-ja imena: Vztrajni identifikator

    • Prehod vseh vrednosti zahtevka

Konfiguracija ponudnika SAML 2.0

Ko nastavite zaupanje odvisne stranke AD FS, lahko sledite korakom v Konfigurirajte ponudnika SAML 2.0 za portale.

Ponudnik identitete – zagnani vpis

AD FS podpira profil enotne prijave (SSO), ki jo zažene ponudnik identitete za specifikacije SAML 2.0. Da se portal (ponudnik storitve) ustrezno odzove na zahtevo SAML, ki jo zažene ponudnik identitete, mora biti parameter RelayState pravilno kodiran.

Vrednost osnovnega niza za kodiranje v parameter SAML RelayState mora biti v obliki ReturnUrl=/content/sub-content/, kjer je /content/sub-content/ pot do želene spletne strani na portalu (ponudnik storitve). Pot lahko nadomesti katera koli veljavna spletna stran na portalu. Vrednost niza je kodirana in umeščena v niz vsebnika v obliki RPID=&lt;URL encoded RPID&gt;&RelayState=&lt;URL encoded RelayState&gt;. Ta celoten niz se vnovič kodira in doda v drug vsebnik v obliki <https://adfs.contoso.com/adfs/ls/idpinitiatedsignon.aspx?RelayState=&lt;URL> encoded RPID/RelayState&gt;.

Primer: na podlagi podane poti ponudnika storitve /content/sub-content/ in ID-ja odvisne strani https://portal.contoso.com/ ustvarite URL z naslednjimi koraki:

  • Kodirajte vrednost ReturnUrl=/content/sub-content/, da pridobite ReturnUrl%3D%2Fcontent%2Fsub-content%2F

  • Kodirajte vrednost https://portal.contoso.com/, da pridobite https%3A%2F%2Fportal.contoso.com%2F

  • Kodirajte vrednost RPID=https%3A%2F%2Fportal.contoso.com%2F&RelayState=ReturnUrl%3D%2Fcontent%2Fsub-content%2F, da pridobite RPID%3Dhttps%253A%252F%252Fportal.contoso.com%252F%26RelayState%3DReturnUrl%253D%252Fcontent%252Fsub-content%252F

  • Na začetek dodajte pot AD FS enotne prijave (SSO), ki jo zažene ponudnik identitete, da dobite končni 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

Za izdelavo URL-ja lahko uporabite naslednji skript PowerShell. Skript shranite v datoteko z imenom Get-IdPInitiatedUrl.ps1.

<#

.SYNOPSIS 

Constructs an IdP-initiated SSO URL to access a portal page on the service provider.

.PARAMETER path

The path to the portal 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

Konfiguracija AD FS z lupino PowerShell

Postopek dodajanja zaupanja odvisne strani v AD FS lahko izvedete tudi tako, da zaženete spodnji skript PowerShell v strežniku AD FS. Skript shranite v datoteko z imenom Add-AdxPortalRelyingPartyTrustForSaml.ps1. Po zagonu skripta nadaljujte postopek konfiguracije nastavitev mesta portala.

<# 

.SYNOPSIS

Adds a SAML 2.0 relying party trust entry for a website.

.PARAMETER domain

The domain name of the portal.

.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 portal relying party trust


[!INCLUDE[cc-pages-ga-banner](../../../includes/cc-pages-ga-banner.md)]

Add-CrmRelyingPartyTrust $domain

Konfiguriranje ponudnika SAML 2.0

Po nastavitvi zaupanja odvisne strani AD FS lahko upoštevate korake za konfiguriranje ponudnika SAML 2.0 za portale.

Glejte tudi

Konfigurirajte ponudnika SAML 2.0 za portale z Azure AD
Pogosta vprašanja o uporabi SAML 2.0 na portalih
Konfigurirajte ponudnika SAML 2.0 za portale

Opomba

Ali nam lahko poveste, kateri je vaš prednostni jezik za dokumentacijo? Izpolnite kratko anketo. (upoštevajte, da je v angleščini)

Z anketo boste porabili približno sedem minut. Ne zbiramo nobenih osebnih podatkov (izjava o zasebnosti).