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.
Pomocí nástroje pro správu AD FS vyberte položku Služba > Popisy deklarací.
Klepněte na položku Přidat popis deklarace identity.
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
Vyberte OK.
Pomocí nástroje pro správu AD FS vyberte Vztahy důvěryhodnosti > Vztahy důvěryhodnosti předávající strany
Vyberte tlačítko Přidat vztah důvěryhodnosti předávající strany.
Vítejte: Vyberte položku Spustit.
Vyberte zdroj dat: Vyberte Zadejte data o předávající straně ručně a poté zvolte Další.
Zadejte zobrazovaný název: Zadejte název a poté zvolte Další. Příklad: https://portal.contoso.com/
Zvolte profil: Vyberte profil AD FS 2.0 a potom vyberte Další.
Nakonfigurujte certifikát: Zvolte Další.
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í:
- Typ koncového bodu: Koncové body využití kontrolního výrazu SAML
- Vazba: POST
- Index: není k dispozici (0)
- URL: https://portal.contoso.com/signin-saml2
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.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ší.
Připraveno k Přidání důvěryhodnosti: Zvolte možnost Další.
Vyberte Zavřít.
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=<URL encoded RPID>&RelayState=<URL encoded RelayState>
. 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=<URL> encoded RPID/RelayState>
.
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 dostaliReturnUrl%3D%2Fcontent%2Fsub-content%2F
Zakódujte hodnotu
https://portal.contoso.com/
, abyste dostalihttps%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 dostaliRPID%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 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
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ů).