Делите путем


Подешавање SAML 2.0 добављача помоћу услуге AD FS

Active Directory Federation Services (AD FS) је један од SAML 2.0 добављача идентитета које можете користити за потврду идентитета посетилаца ваше Power Pages локације. Можете да користите било ког другог добављача који је у складу са SAML 2.0 спецификацијом.

Овај чланак описује следеће кораке:

Важно

Кораци за подешавање AD FS могли би се разликовати у зависности од верзије вашег AD FS сервера.

Подешавање добављача AD FS у услузи Power Pages

Подесите AD FS као добављача идентитета за локацију.

  1. На вашој Power Pages веб локацији изаберите провајдере > безбедносног идентитета.

    Ако се не појаве добављачи идентитета, уверите се да је спољно пријављивање подешено на Укључено у општим поставкама потврде идентитета ваше локације.

  2. Изаберите опцију + Нови добављач.

  3. Међу опцијама Изаберите добављача за пријављивање изаберите Остали.

  4. У одељку Протокол изаберите SAML 2.0.

  5. Унесите назив добављача.

    Назив добављача је текст на дугмету који корисници виде када изаберу добављача идентитета на страници за пријављивање.

  6. Изаберите Следеће.

  7. У оквиру URL адреса одговора, изаберите ставку Копирај.

    Немојте затварати картицу прегледача Power Pages. Вратићете јој се ускоро.

Креирајте AD FS поверење ослоњене стране

Такође можете да користите PowerShell скрипту да бисте извршили ове кораке.

  1. У управљачу серверима изаберите ставку Алатке, а затим изаберите Управљање добављачем AD FS.

  2. Проширите услугу.

  3. У табли својстава са десне стране изаберите Додај опис захтева.

  4. Унесите следеће вредности:

    • < ДИЦТ__име за приказ >Дисплаy наме : Трајни идентификатор

    • Идентификатор потраживања: урн:оасис:намес:тц:САМЛ:2.0:намеид-формат:персистент

    • Изаберите обе Објави овај опис захтева у спољним метаподацима… опције.

  5. Изаберите У реду.

  6. Изаберите Релације поузданости>Поверења ослоњене стране.

  7. Изаберите Додај поверење ослоњене стране.

  8. Изаберите Започни.

  9. Изаберите Ручно унесите податке о ослоњеној страни, па изаберите Даље.

  10. Унесите назив; нпр. https://portal.contoso.com/.

  11. Изаберите Следеће.

  12. Изаберите AD FS 2.0 профил, а затим изаберите Следеће.

  13. На страници Конфигурисање цертификата изаберите Даље.

  14. Изаберите опцију Омогући подршку за SAML 2.0 WebSSO протокол.

  15. У оквиру URL услуге ослоњене стране за SAML 2.0 SSO унесите URL адресу одговора коју сте копирали. AD FS захтева да локација ради на протоколу HTTPS, не на HTTP.

  16. Изаберите Следеће.

  17. На страници Конфигурисање идентификатора унесите URL адресу ваше локације, а затим кликните на Додај.

    Ако је потребно, можете додати више идентитета за сваку додатну локацију ослоњене стране. Корисници могу да потврде идентитет коришћењем било ког доступног идентитета.

  18. Изаберите Следеће.

  19. На страници Конфигуришете ли сада потврду идентитета са више фактора? изаберите опцију Не желим да конфигуришем поставке потврде идентитета са више фактора за ово поверење ослоњене стране у овом тренутку.

  20. На страници Одаберите правила за издавање одобрења изаберите Дозволи свим корисницима да приступе овој ослоњеној страни, а затим изаберите Даље.

  21. Прегледајте поставке поузданости, а затим изаберите опцију Даље.

  22. Изаберите Затвори.

  23. У одељку Уређивање правила захтева, изаберите једну од следећих картица, у зависности од поузданости коју уређујете и у ком скупу правила желите да креирате правило:

    • Правила трансформације прихватања
    • Правила трансформације издавања
    • Правила овлашћења за издавање
    • Правила овлашћења за делегирање
  24. Изаберите Додај правило.

  25. У листи Предложак правила захтева изаберите ставку Трансформиши долазни захтев, а затим кликните на дугме Даље.

  26. Унесите или изаберите следеће вредности:

    • Захтев правило име : Трансформиши име Виндоуз налога у име ИД

    • Тип долазног захтева: Име Виндовс налога

    • Одлазни тип потраживања: Име ИД

    • Одлазни ИД формат : Трајни идентификатор

  27. Изаберите Проследите путем свих вредности захтева.

  28. Изаберите Заврши, а затим изаберите У реду.

Завршавање подешавања добављача

Када подесите AD FS поверење ослоњене стране:

  1. Креирајте регистрацију апликације у #глср_цихцддфгз.

  2. Унесите поставке сајта Power Pages.

Пријављивање које је покренуо добављач идентитета

AD FS подржава профил јединственог пријављивања (SSO) које је покренуо добављач идентитета SAML 2.0 спецификације. Да би веб-локација добављача услуга исправно одговорила на SAML захтев добављача идентитета, морате шифрирати параметар RelayState.

Основна вредност ниске која се шифрира у параметру SAML RelayState мора да буде у формату ReturnUrl=/content/sub-content/, где је /content/sub-content/ путања до странице на коју желите да одете на веб-локацији добављача услуге. Можете да наведете путању до било које важеће странице на веб-локацији. Вредност ниске се шифрира и смешта у спремишту ниске формата RPID=&lt;URL encoded RPID&gt;&RelayState=&lt;URL encoded RelayState&gt;. Ова читава ниска се поново кодира и додаје другом спремишту формата <https://adfs.contoso.com/adfs/ls/idpinitiatedsignon.aspx?RelayState=&lt;URL> encoded RPID/RelayState&gt;.

На пример, с обзиром на путању добављача услуге /content/sub-content/ и ID ослоњене стране https://portal.contoso.com/, пратите ове кораке да конструишете URL адресу:

  • Кодирајте вредност ReturnUrl=/content/sub-content/ у ReturnUrl%3D%2Fcontent%2Fsub-content%2F

  • Кодирајте вредност https://portal.contoso.com/ у https%3A%2F%2Fportal.contoso.com%2F

  • Кодирајте вредност RPID=https%3A%2F%2Fportal.contoso.com%2F&RelayState=ReturnUrl%3D%2Fcontent%2Fsub-content%2F у RPID%3Dhttps%253A%252F%252Fportal.contoso.com%252F%26RelayState%3DReturnUrl%253D%252Fcontent%252Fsub-content%252F

  • Додајте SSO путању коју је покренуо AD FS добављач идентитета да бисте добили коначни 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

За конструкцију URL адресе можете да користите следећу PowerShell скрипту. Сачувајте скрипту у датотеку под називом Get-IdPInitiatedUrl.ps1.


<#
.SYNOPSIS 
Constructs an IdP-initiated SSO URL to access a website page on the service provider.
.PARAMETER path
The path to the website 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 помоћу платформе PowerShell

Уместо да ручно додајете поузданост ослоњене стране у AD FS, можете покренути следећу PowerShell скрипту на AD FS серверу. Сачувајте скрипту у датотеку под називом Add-AdxPortalRelyingPartyTrustForSaml.ps1. Након извршавања скрипте, наставите да конфигуришете поставке локације у услузи Power Pages.

<# 
.SYNOPSIS
Adds a SAML 2.0 relying party trust entry for a website.
.PARAMETER domain
The domain name of the website.
.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 website relying party trust
[!INCLUDE[cc-pages-ga-banner](../../../includes/cc-pages-ga-banner.md)]
Add-CrmRelyingPartyTrust $domain

Погледајте и

Подесите САМЛ 2.0 провајдера
Подесите САМЛ 2.0 провајдера са ИД-ом Microsoft Entra
САМЛ 2.0 Питања и одговори