Konfigurace poskytovatele SAML 2.0 s portály s AD FS.

Poznámka

S účinností od 12. října 2022 jsou portály Power Apps Power Pages. Další informace: Služba Microsoft Power Pages je nyní obecně dostupná (blog)
Zanedlouho migrujeme a sloučíme dokumentaci k portálům Power Apps s dokumentací k Power Pages.

Důležité

Kroky pro konfiguraci služby Active Directory Federation Services (AD FS) se mohou lišit v závislosti na verzi vašeho serveru AD FS.

Vytvoření služby AD FS důvěryhodnosti předávající strany

Poznámka

Viz Konfigurace služby AD FS pomocí PowerShell, kde naleznete informace o tom, jak provést tyto kroky ve skriptu PowerShell.

  1. Pomocí nástroje pro správu AD FS vyberte položku Služba > Popisy deklarací.

    1. Klepněte na položku Přidat popis deklarace identity.

    2. Určete deklaraci:

      • Zobrazovaný název: Trvalý identifikátor

      • Identifikátor deklarace: urn:oasis:names:tc:SAML:2.0:nameid-format:persistent

      • Zaškrtávací políčko Povolit pro: publikování tohoto popisu deklarace identity v metadatech federace jako typu deklarace, který může tato služba federace přijímat

      • Zaškrtávací políčko Povolit pro: publikování tohoto popisu deklarace v metadatech federace jako typu deklarace, který může tato služba federace odesílat

    3. Vyberte OK.

  2. Pomocí nástroje pro správu AD FS vyberte Vztahy důvěryhodnosti > Vztahy důvěryhodnosti předávající strany

    1. Vyberte tlačítko Přidat vztah důvěryhodnosti předávající strany.

    2. Vítejte: Vyberte položku Spustit.

    3. Vyberte zdroj dat: Vyberte Zadejte data o předávající straně ručně a poté zvolte Další.

    4. Zadejte zobrazovaný název: Zadejte název a poté zvolte Další. Příklad: https://portal.contoso.com/

    5. Zvolte profil: Vyberte profil AD FS 2.0 a potom vyberte Další.

    6. Nakonfigurujte certifikát: Zvolte Další.

    7. Konfigurace adresy URL: Zaškrtněte políčko Povolit podporu protokolu WebSSO SAML 2.0. Adresa URL služby SSO SAML 2.0 předávající strany: Zadejte https://portal.contoso.com/signin-saml2
      Poznámka: Služba AD FS vyžaduje spuštění portálu na HTTPS.

      Poznámka

      Výsledný koncový bod má následující nastavení:

    8. Konfigurace identit: Zadejte https://portal.contoso.com/, vyberte Přidat a potom vyberte Další. Případně můžete přidat více identit pro každý další portál předávající strany. Uživatelé mohou ověřovat v rámci libovolných nebo všech dostupných identit.

    9. Vyberte pravidla pro povolení vystavování: Vyberte Povolit všem uživatelům přístup k této předávající straně a poté vyberte Další.

    10. Připraveno k Přidání důvěryhodnosti: Zvolte možnost Další.

    11. Vyberte Zavřít.

  3. Přidejte deklaraci ID názvu k důvěryhodnosti předávající strany:

    Transformujte název účtu systému Windows na deklaraci ID názvu (transformace příchozí deklarace):

    • Typ příchozí deklarace: Název účtu systému Windows

    • Typ odchozí deklarace: Název ID

    • Odchozí formát ID názvu: Trvalý identifikátor

    • Předat všechny hodnoty pohledávky

Konfigurace zprostředkovatele SAML 2.0

Po nastavení důvěryhodnosti předávající strany služby AD FS můžete postupovat podle pokynů v Nakonfigurovat poskytovatele SAML 2.0 pro portály.

Poskytovatel identity–zahájené přihlášení

AD FS podporuje –jednotné přihlašování (SSO) iniciované ze strany zprostředkovatele identity specifikace SAML 2.0. Aby mohl portál (poskytovatel služeb) správně reagovat na požadavek SAML iniciovaný ze strany zprostředkovatele identity, je třeba správně kódovat parametr RelayState.

Základní hodnota řetězce, která bude zakódována do parametru SAML RelayState, musí být ve formátu ReturnUrl=/content/sub-content/, kde /content/sub-content/ je cesta k požadované webové stránce, na níž se má na portálu (poskytovatele služby) přejít. Cesta může být nahrazena některou platnou webovou stránku na portálu. Hodnota řetězce je zakódována a umístěna do řetězce kontejneru formátu RPID=&lt;URL encoded RPID&gt;&RelayState=&lt;URL encoded RelayState&gt;. Tento celý řetězec je znovu zakódován a přidán do jiného kontejneru formátu <https://adfs.contoso.com/adfs/ls/idpinitiatedsignon.aspx?RelayState=&lt;URL> encoded RPID/RelayState&gt;.

Pokud například budete mít cestu poskytovatele služeb: /content/sub-content/ a ID předávající strany https://portal.contoso.com/, adresu URL vytvoříte dle následujících kroků:

  • Zakódujte hodnotu ReturnUrl=/content/sub-content/, abyste dostali ReturnUrl%3D%2Fcontent%2Fsub-content%2F

  • Zakódujte hodnotu https://portal.contoso.com/, abyste dostali https%3A%2F%2Fportal.contoso.com%2F

  • Zakódujte hodnotu RPID=https%3A%2F%2Fportal.contoso.com%2F&RelayState=ReturnUrl%3D%2Fcontent%2Fsub-content%2F, abyste dostali RPID%3Dhttps%253A%252F%252Fportal.contoso.com%252F%26RelayState%3DReturnUrl%253D%252Fcontent%252Fsub-content%252F

  • Přidejte cestu SSP iniciovanou ze strany– zprostředkovatele identity AD FS a získáte konečnou adresu URLhttps://adfs.contoso.com/adfs/ls/idpinitiatedsignon.aspx?RelayState=RPID%3Dhttps%253A%252F%252Fportal.contoso.com%252F%26RelayState%3DReturnUrl%253D%252Fcontent%252Fsub-content%252F

K vytvoření adresy URL můžete použít následující skript prostředí PowerShell. Uložte skript do souboru s názvem 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

Konfigurace služby AD FS pomocí PowerShell

Proces přidání důvěryhodnosti předávající strany do služby AD FS lze provést také spuštěním následujícího skriptu PowerShell na serveru AD FS. Uložte skript do souboru s názvem Add-AdxPortalRelyingPartyTrustForSaml.ps1. Po spuštění skriptu pokračujte v konfiguraci nastavení portálového webu.

<# 

.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

Konfigurace zprostředkovatele SAML 2.0

Po nastavení důvěryhodnosti předávající strany služby AD FS můžete postupovat podle pokynů v Nakonfigurovat poskytovatele SAML 2.0 pro portály.

Viz také

Konfigurace poskytovatele SAML 2.0 s portály s Azure AD
Nejčastější dotazy k používání SAML 2.0 na portálech
Konfigurace poskytovatele SAML 2.0 pro portály

Poznámka

Můžete nám sdělit, jaké máte jazykové preference pro dokumentaci? Zúčastněte se krátkého průzkumu. (upozorňujeme, že tento průzkum je v angličtině)

Průzkum bude trvat asi sedm minut. Nejsou shromažďovány žádné osobní údaje (prohlášení o zásadách ochrany osobních údajů).