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.
Upotrebom alatke za upravljanje AD FS, idite do opcije Usluga > Opisi zahteva.
Izaberite Dodaj opis zahteva.
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
Izaberite U redu.
Upotrebom alatke za upravljanje uslugom AD FS, izaberite Relacije pouzdanosti >Poverenja oslonjene strane.
Izaberite Dodaj poverenje oslonjene strane.
Dobro došli: Izaberite Početak.
Izaberite izvor podataka: Izaberite Ručno unesite podatke o oslonjenoj strani, pa izaberite Dalje.
Naznačite ime za prikaz: Unesite ime, a zatim izaberite Dalje. Primer: https://portal.contoso.com/
Odaberite profil: Izaberite AD FS 2.0 profil, a zatim izaberite Dalje.
Konfigurišite certifikat: Izaberite Dalje.
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:
- Tip krajnje tačke:SAML krajnje tačke potvrde utroška
- Povezivanje:PORUKA
- Indeks: n/a (0)
- URL adresa: https://portal.contoso.com/signin-saml2
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.Odaberite pravila za izdavanje odobrenja: Izaberite Dozvolite svim korisnicima da pristupe ovoj oslonjenoj strani, a zatim izaberite Dalje.
Spremno da dodate pouzdanost: Izaberite Dalje.
Izaberite Zatvori.
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=<URL encoded RPID>&RelayState=<URL encoded RelayState>
. Ova čitava niska se ponovo kodira i dodaje drugom spremištu formata <https://adfs.contoso.com/adfs/ls/idpinitiatedsignon.aspx?RelayState=<URL> encoded RPID/RelayState>
.
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/
uReturnUrl%3D%2Fcontent%2Fsub-content%2F
Kodirajte vrednost
https://portal.contoso.com/
uhttps%3A%2F%2Fportal.contoso.com%2F
Kodirajte vrednost
RPID=https%3A%2F%2Fportal.contoso.com%2F&RelayState=ReturnUrl%3D%2Fcontent%2Fsub-content%2F
uRPID%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).
Povratne informacije
https://aka.ms/ContentUserFeedback.
Stiže uskoro: Tokom 2024. godine postepeno ćemo ukidati probleme sa uslugom GitHub kao mehanizam povratnih informacija za sadržaj i zameniti ga novim sistemom povratnih informacija. Dodatne informacije potražite u članku:Prosledite i prikažite povratne informacije za