Bendrinti naudojant


SAML 2.0“ teikėjo konfigūravimas portalams su AD FS

Pastaba

Nuo 2022 m. spalio 12 d. „Power Apps“ portalai tampa „Power Pages“. Daugiau informacijos: „Microsoft Power Pages“ dabar yra visuotinai prieinama (tinklaraštis)
Greitai perkelsime ir suliesime „Power Apps“ portalų dokumentaciją su „Power Pages“ dokumentacija.

Svarbu

Žingsniai, kaip konfigūruoti aktyvią direktorijos federacijos paslaugas (AD FS) gali skirtis priklausomai nuo jūsų AD FS serverio versijos.

AD FS susiejamos dalies patikimumo kūrimas

Pastaba

Žr. Konfigūruoti AD FS naudojant „PowerShell“, dėl informacijos apie tai, kaip atlikti šiuos žingsnius „PowerShell“ scenarijuje.

  1. Naudodami AD FS valdymo įrankį, eikite į Tarnyba > Pareiškimų aprašai.

    1. Pasirinkite Įtraukti pareiškimo aprašą.

    2. Nurodykite pareiškimą:

      • Rodomas pavadinimas: Nuolatinis identifikatorius

      • Pareiškimo identifikatorius: urn:oasis:names:tc:SAML:2.0:nameid-format:persistent

      • Žymės langelis Įjungti, skirtas: publikuoti šio ieškinio aprašymą susiejimo metaduomenyse kaip pareiškimo tipą, kurį ši susiejimo paslauga gali priimti

      • Žymės langelis Įjungti, skirtas: publikuoti šio ieškinio aprašymą susiejimo metaduomenyse kaip pareiškimo tipą, kurį ši susiejimo paslauga gali siųsti

    3. Pasirinkite Gerai.

  2. Naudodami AD FS valdymo įrankį, rinkitės Pasitikėti ryšiais >Pagrįstos šalies pasitikėjimas.

    1. Pasirinkite Įtraukti susiejamos dalies patikimumą.

    2. Sveiki: pasirinkite Pradžia.

    3. Pasirinkite duomenų šaltinį: pasirinkite Duomenis apie susiejamą dalį įvesti rankiniu būdu ir Pirmyn.

    4. Nurodykite rodomą pavadinimą: įveskite pavadinimą ir pasirinkite Pirmyn. Pavyzdys: https://portal.contoso.com/

    5. Pasirinkite profilį: pasirinkite AD FS 2.0 profilį ir Pirmyn.

    6. Sukonfigūruokite sertifikatą: pasirinkite Pirmyn.

    7. Sukonfigūruokite URL: pažymėkite žymės langelį Įjungti SAML 2.0 WebSSO protokolo palaikymą. Susiejamos dalies SAML 2.0 SSO paslaugos URL: Įveskite https://portal.contoso.com/signin-saml2
      Atminkite, kad AD FS reikia, jog portalas būtų vykdomas HTTPS.

      Pastaba

      Gautas galinis punktas turi šiuos parametrus:

    8. Konfigūruokite identifikatorius: Įveskite https://portal.contoso.com/, rinkitės Įtraukti ir tuomet rinkitės Kitas. Jei taikoma, galima pridėti daugiau kiekvieno papildomo susiejamos dalies portalo tapatybių. Vartotojai gali autentifikuoti naudodami bet kurią ar visas prieinamas tapatybes.

    9. Pasirinkite išdavimo autorizavimo taisykles: pasirinkite Leisti visiems vartotojams pasiekti šią susiejamą dalį ir Pirmyn.

    10. Pasirengta įtraukti patikimumą: pasirinkite Pirmyn.

    11. Pasirinkite Uždaryti.

  3. Pridėkite prie susiejamos dalies pasitikėjimo Pavadinimo ID pranešimą:

    „„Windows““ paskyros pavadinimą transformuoti į pavadinimo ID pareiškimą (Transformuoti gaunamą pareiškimą):

    • Gaunamo pareiškimo tipas: „„Windows““ paskyros pavadinimas

    • Siunčiamo pranešimo tipas: Pavadinimo ID

    • Siunčiamo pavadinimo ID formatas: Nuolatinis identifikatorius

    • Peržiūrėkite visas pranešimo reikšmes

Konfigūruoti „ SAML 2.0“ tiekėją

Nustatę AD FS, pasikliaujantį šalies pasitikėjimu, galite atlikti veiksmus, nurodytus SAML 2.0 teikėjo konfigūravimas portalams.

Tapatybės tiekėjas–pradedamas prisijungimas

AD FS palaiko tapatybės teikėją–pradedamame viename prisijungime (SSO) SAML 2.0 profilyje specifikacija. Tam, kad portalas (paslaugų tiekėjas) atsakytų tinkamai į SALM užklausą pradėta tapatybės tiekėjo, „RelayState“ parametras turi būti tinkamai kodifikuotas.

Pagrindinė eilutės vertė, kuri turi būti koduojama į „SAML RelayState“ parametrą turi būti ReturnUrl=/content/sub-content/ formato, kuris /content/sub-content/ yra kelias į žiniatinklio puslapį, kurį norite perkelti į portalą (paslaugų tiekėjas). Kelią galima pakeisti bet kuriuo veikiančiu portalo tinklalapiu. Eilutės vertė yra užkoduota ir padėta į talpyklos eilutės formatu RPID=&lt;URL encoded RPID&gt;&RelayState=&lt;URL encoded RelayState&gt;. Visa eilutė dar kartą yra užkoduojama į kitą talpyklą formatu <https://adfs.contoso.com/adfs/ls/idpinitiatedsignon.aspx?RelayState=&lt;URL> encoded RPID/RelayState&gt;.

Pavyzdžiui, duotas paslaugos tiekėjo kelias /content/sub-content/ ir pasikliaujamos šalies ID https://portal.contoso.com/, sudaro URL su šiais žingsniais:

  • Užkoduokite vertę ReturnUrl=/content/sub-content/, kad gautumėte ReturnUrl%3D%2Fcontent%2Fsub-content%2F

  • Užkoduokite vertę https://portal.contoso.com/, kad gautumėte https%3A%2F%2Fportal.contoso.com%2F

  • Užkoduokite vertę RPID=https%3A%2F%2Fportal.contoso.com%2F&RelayState=ReturnUrl%3D%2Fcontent%2Fsub-content%2F, kad gautumėte RPID%3Dhttps%253A%252F%252Fportal.contoso.com%252F%26RelayState%3DReturnUrl%253D%252Fcontent%252Fsub-content%252F

  • Iš anksto nustatytas AD FS tapatybės tiekėjas–pradėtas SSO kelias siekiant gauti galutinį 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

Galite naudoti tolesnį „PowerShell“ scenarijų, kad sukurtumėte URL. Įrašykite scenarijų į failą pavadinimu 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

AD FS konfigūravimas naudojant „PowerShell‟

Susijusios šaleis įtraukimo procesas AD FS gali taip pat būti atliekamas vykdant tolesnį „PowerShell“ scenarijų AD FS serveryje. Įrašykite scenarijų į failą pavadinimu Add-AdxPortalRelyingPartyTrustForSaml.ps1. Paleidę scenarijų, tęskite portalo svetainės parametrų konfigūravimą.

<# 

.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

Konfigūruokite „SAML 2.0“ tiekėją

Nustatę AD FS patikimos šalies pasitikėjimą, galite atlikti šiuos žingsnius Konfigūruoti „SAML 2.0“ tiekėją portalams.

Taip pat žr.

SAML 2.0 teikėjo konfigūravimas portalams su "Azure AD"
SAML 2.0 naudojimo portaluose DUK
SAML 2.0 teikėjo konfigūravimas portalams

Pastaba

Ar galite mums pranešti apie dokumentacijos kalbos nuostatas? Atlikite trumpą apklausą. (atkreipkite dėmesį, kad ši apklausa yra anglų kalba)

Apklausą atliksite per maždaug septynias minutes. Asmeniniai duomenys nėra renkami (privatumo nuostatos).