Konfiguriranje davatelja protokola SAML 2.0 za portale pomoću značajke AD FS
Važno
Koraci za konfiguraciju Active Directory Federation Services (AD FS) mogu se razlikovati ovisno o verziji vašeg poslužitelja AD FS.
Stvaranje pouzdanosti strane koja prihvaća za AD FS
Napomena
Pogledajte Konfiguriranje značajke AD FS pomoću okvira PowerShell, kako biste saznali način izvođenja tih koraka u skripti okvira PowerShell.
Uz pomoć alata za upravljanje AD FS odaberite Servis > Opisi zahtjeva.
Kliknite Dodaj opis zahtjeva.
Navedite zahtjev:
Prikaz naziva: Trajni identifikator
Identifikator zahtjeva:urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
Omogućite potvrdni okvir za: Objavi ovaj opis zahtjeva u metapodacima vanjskog pristupa kao vrstu zahtjeva koju ova usluga vanjskog pristupa može prihvatiti
Omogućite potvrdni okvir za: Objavi ovaj opis zahtjeva u metapodacima vanjskog pristupa kao vrstu zahtjeva koju ova usluga vanjskog pristupa može poslati
Odaberite U redu.
Uz pomoć alata za upravljanje AD FS odaberite Pouzdani odnosi >Pouzdana strana oslanjanja.
Kliknite Dodavanje pouzdane strane oslanjanja.
Dobro došli: odaberite Početak.
Odabir izvora podataka: odaberite Ručni unos podataka o pouzdanoj strani, pa kliknite Dalje.
Odredite zaslonski naziv: unesite naziv, pa kliknite Dalje. Primjer: https://portal.contoso.com/
Odabir profila: odaberite AD FS 2.0 profil, a zatim odaberite Dalje.
Konfiguracija certifikata: kliknite Dalje.
Konfiguriranje URL-a: potvrdite Omogući protokol SAML 2.0 WebSSO. URL usluge strane za oslanjanje SAML 2.0 SSO: unesite https://portal.contoso.com/signin-saml2
Napominjemo da za AD FS portal mora raditi na protokolu HTTPS.Napomena
Dobivena krajnja točka ima sljedeće postavke:
- Vrsta krajnje točke: Krajnje točke upotrebe tvrdnje SAML
- Povezivanje: POST
- Indeks: nije dostupno (0)
- URL: https://portal.contoso.com/signin-saml2
Konfiguriranje identiteta: unesite
https://portal.contoso.com/, odaberite Dodaj i zatim odaberite Sljedeće. Ako je primjenjivo, za svaki dodatni portal strane za oslanjanje možete dodati više identiteta. Korisnici mogu provjeriti autentičnost putem jednog ili svih dostupnih identiteta.Odaberite pravila autorizacije izdavanja: odaberite Dozvoli svim korisnicima pristup ovoj pouzdanoj strani, kliknite Dalje.
Spremni za dodavanje oslanjanja: kliknite Dalje.
Odaberite Zatvori.
Dodajte zahtjev Naziv ID-a pouzdanosti strane za oslanjanje:
PretvoriteWindows naziv računa u zahtjev ID naziva (Transformacija dolaznog zahtjeva):
Vrsta dolaznog zahtjeva: Windows naziv računa
Vrsta odlaznog zahtjeva: Naziv ID-a
Izlazni oblik ID-a naziva: trajni identifikator
Prolaz kroz sve vrijednosti zahtjeva
Konfigurirajte SAML 2.0 davatelja
Nakon postavljanja pouzdane strane oslanjanja značajke AD FS, možete slijediti korake u odjeljku Konfiguriranje davatelja protokola SAML 2.0 za portale.
Prijava koju pokreće davatelj identiteta
AD FS podržava profil jedinstvene prijave (SSO) koju pokreće davatelj identiteta za specifikaciju protokola SAML 2.0. Kako bi portal (davatelj usluga) ispravno odgovarao na zahtjeve protokola SAML koje pokreće davatelj identiteta, parametar stanjaprijenosa mora biti pravilno kodiran.
Osnovna vrijednost niza za šifriranje u parametar SAML StanjaPrijenosa mora biti u obliku: ReturnUrl=/content/sub-content/, gdje je /content/sub-content/ putanja željene web-stranice za otvaranje na portalu (davatelj usluge). Putanja može biti zamijenjena bilo kojom valjanom web-stranicom na portalu. Vrijednost niza šifrirana je i postavljena u niz spremnika oblika RPID=<URL encoded RPID>&RelayState=<URL encoded RelayState>. Cijeli niz ponovno je šifriran i dodan drugom spremniku oblika <https://adfs.contoso.com/adfs/ls/idpinitiatedsignon.aspx?RelayState=<URL> encoded RPID/RelayState>.
Na primjer, uz putanju davatelja usluge /content/sub-content/ i ID pouzdane strane https://portal.contoso.com/, sastavite URL pomoću sljedećih koraka:
Šifrirajte vrijednost
ReturnUrl=/content/sub-content/da biste dohvatiliReturnUrl%3D%2Fcontent%2Fsub-content%2FŠifrirajte vrijednost
https://portal.contoso.com/da biste dohvatilihttps%3A%2F%2Fportal.contoso.com%2FŠifrirajte vrijednost
RPID=https%3A%2F%2Fportal.contoso.com%2F&RelayState=ReturnUrl%3D%2Fcontent%2Fsub-content%2Fda biste dohvatiliRPID%3Dhttps%253A%252F%252Fportal.contoso.com%252F%26RelayState%3DReturnUrl%253D%252Fcontent%252Fsub-content%252FNa početak dodajte putanju SSO-a koju pokreće davatelj identiteta značajke AD FS da biste dobili konač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 sastavljanje URL-a možete koristiti sljedeću skriptu okvira PowerShell. Spremite skriptu u datoteku naziva 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
Konfiguriranje AD FS s pomoću okvira PowerShell
Proces dodavanja pouzdane strane oslanjanja u AD FS može se obaviti i pokretanjem skripte okvira PowerShell na AD FS poslužitelju. Spremite skriptu u datoteku naziva Add-AdxPortalRelyingPartyTrustForSaml.ps1. Nakon pokretanja skripte nastavite s konfiguriranjem postavki web-mjesta 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
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
Add-CrmRelyingPartyTrust $domain
Konfiguriranje davatelja protokola SAML 2.0
Nakon postavljanja pouzdane strane oslanjanja značajke AD FS, možete slijediti korake u odjeljku Konfiguriranje davatelja protokola SAML 2.0 za portale.
Pogledajte
Konfiguriranje davatelja usluge SAML 2.0 za portale s Azure AD
Najčešća pitanja o korištenju protokola SAML 2.0 na portalima
Konfigurirajte davatelja protokola SAML 2.0 za portale