Konfigurisanje SAML 2.0 dobavljača za portale pomoću AD FS

Napomena

Od 12. oktobra 2022. Power Apps portali postaju Power Pages. Više informacija: Usluga Microsoft Power Pages je sada opštedostupna (blog)
Uskoro ćemo migrirati i objediniti dokumentaciju o Power Apps portalima sa dokumentacijom o usluzi Power Pages.

Važno

Koraci za konfiguraciju usluge Active Directory Federation Services (AD FS) mogu se razlikovati u zavisnosti od verzije vašeg AD FS servera.

Kreirajte AD FS poverenje oslonjene strane

Napomena

Pogledajte Konfigurisanje AD FS pomoću platforme PowerShell, za informacije o tome kako da izvršite ove korake u PowerShell skripti.

  1. Upotrebom alatke za upravljanje AD FS, idite do opcije Usluga > Opisi zahteva.

    1. Izaberite Dodaj opis zahteva.

    2. Navedite zahtev:

      • Ime za prikaz:Postojani identifikator

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

      • Omogućite polje za potvrdu za: Objaviti ovaj opis zahteva u spoljnim metapodacima kao tip zahteva koje ova usluga spoljnog pristupa može da prihvati

      • Omogućite polje za potvrdu za: Objaviti ovaj opis zahteva u spoljnim metapodacima kao tip zahteva koje ova usluga spoljnog pristupa može da pošalje

    3. Izaberite U redu.

  2. Upotrebom alatke za upravljanje uslugom AD FS, izaberite Relacije pouzdanosti >Poverenja oslonjene strane.

    1. Izaberite Dodaj poverenje oslonjene strane.

    2. Dobro došli: Izaberite Početak.

    3. Izaberite izvor podataka: Izaberite Ručno unesite podatke o oslonjenoj strani, pa izaberite Dalje.

    4. Naznačite ime za prikaz: Unesite ime, a zatim izaberite Dalje. Primer: https://portal.contoso.com/

    5. Odaberite profil: Izaberite AD FS 2.0 profil, a zatim izaberite Dalje.

    6. Konfigurišite certifikat: Izaberite Dalje.

    7. Konfigurisanje URL adrese: Izaberite polje za potvrdu Omogućavanje podrške za protokol SAML 2.0 WebSSO. URL adresa usluge oslonjene strane za SAML 2.0 SSO: Unesite https://portal.contoso.com/signin-saml2
      Imajte uvidu da AD FS zahteva da portal radi na protokolu HTTPS.

      Napomena

      Dobijena krajnja tačka ima sledeća podešavanja:

    8. Konfigurišite identitete: Unesite https://portal.contoso.com/, izaberite Dodaj, a zatim izaberite Sledeće. Ako je primenljivo, možete dodati više identiteta za svaki dodatni portal oslonjene strane. Korisnici mogu da potvrde identitet za neke ili sve dostupne identitete.

    9. Odaberite pravila za izdavanje odobrenja: Izaberite Dozvolite svim korisnicima da pristupe ovoj oslonjenoj strani, a zatim izaberite Dalje.

    10. Spremno da dodate pouzdanost: Izaberite Dalje.

    11. Izaberite Zatvori.

  3. Dodajte zahtev za ID imena poverenju oslonjene strane:

    TransformišiteWindows ime poslovnog kontakta u zahtev za ID imena (Transformisanje dolaznog zahteva):

    • Tip dolaznog zahteva:Windows ime poslovnog kontakta

    • Odlazni tip zahtev: ID imena

    • Odlazni format imena ID-a: Postojani Identifikator

    • Prosledite putem svih vrednosti zahteva

Konfigurisanje SAML 2.0 dobavljača

Nakon podešavanja poverenja stranke koja se oslanja na AD FS, možete slediti korake u konfigurisanju SAML 2.0 dobavljača za portale.

Prijavljivanje koju je pokrenuo dobavljač identiteta

AD FS podržava profil jedinstvenog prijavljivanja (SSO) koje je pokrenuo dobavljač identiteta SAML 2.0 specifikacije. Da bi portal (dobavljač usluga) pravilno odgovorio na SAML zahtev koji je pokrenuo dobavljač identiteta, parametar RelayState mora da bude pravilno kodiran.

Osnovna vrednost niske koja se kodira u parametru SAML RelayState mora da bude u formatu ReturnUrl=/content/sub-content/, gde je /content/sub-content/ putanja do željene veb-stranice na koju želite da odete na portalu (dobavljaču usluga). Putanja se može zameniti bilo kojom važećom veb-stranicom na portalu. Vrednost niske se kodira i smešta u spremištu niske formata RPID=&lt;URL encoded RPID&gt;&RelayState=&lt;URL encoded RelayState&gt;. Ova čitava niska se ponovo kodira i dodaje drugom spremištu formata <https://adfs.contoso.com/adfs/ls/idpinitiatedsignon.aspx?RelayState=&lt;URL> encoded RPID/RelayState&gt;.

Na primer, data putanja dobavljača usluge /content/sub-content/ i ID oslonjene strane https://portal.contoso.com/, konstruišu URL adresu sa sledećim koracima:

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

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

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

  • Dodajte SSO putanju koju je pokrenuo AD FS dobavljač identiteta da biste dobili konačnu URL adresu 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 konstrukciju URL adrese možete da koristite sledeću PowerShell skriptu. Sačuvajte skriptu u datoteku pod nazivom 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

Konfigurisanje usluge AD FS pomoću komande PowerShell

Postupak dodavanja pouzdanosti oslonjene strane u AD FS takođe se može obaviti pokretanjem sledeće PowerShell skripte na AD FS serveru. Sačuvajte skriptu u datoteku pod nazivom Add-AdxPortalRelyingPartyTrustForSaml.ps1. Nakon pokretanja skripta, nastavite sa konfigurisanjem postavke za lokaciju 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

Konfigurisanje SAML 2.0 dobavljača

Kada podesite AD FS poverenje oslonjene strane, možete slediti korake u članku Konfigurisanje SAML 2.0 dobavljača za portale.

Pogledajte i ovo

Konfigurisanje SAML 2.0 dobavljača za portale sa Azure AD
Najčešća pitanja o korišćenju SAML 2.0 na portalima
Konfigurisanje SAML 2.0 dobavljača za portale

Napomena

Možete li nam reći o svojim željenim postavkama jezika u dokumentaciji? Ispunite kratku anketu. (imajte na umu da je ova anketa na engleskom jeziku)

Anketa će trajati oko sedam minuta. Ne prikupljaju se lični podaci (izjava o privatnosti).