Comparteix a través de


Configurar un proveïdor SAML 2.0 per als portals amb l'AD FS

Nota

Des del 12 d'octubre de 2022, els portals del Power Apps són Power Pages. Més informació: Microsoft Power Pages ara està disponible de manera general (bloc)
Ben aviat migrarem i combinarem la documentació dels portals del Power Apps amb la documentació del Power Pages.

Important

Els passos per a la configuració de l'Active Directory Federation Services (AD FS) poden variar depenent de la versió del vostre servidor de l'AD FS.

Creeu una relació de confiança per a un usuari autenticat de l'AD FS

Nota

Consulteu Configuració de l'AD FS mitjançant PowerShell per obtenir informació sobre com realitzar aquests passos en un script del PowerShell.

  1. Mitjançant l'eina de gestió de l'AD FS, aneu a Servei > Descripcions de reclamació.

    1. Seleccioneu Afegeix descripció de reclamació.

    2. Especifiqueu la reclamació:

      • Nom de visualització: Identificador persistent

      • Identificador de reclamació: urn:oasis:names:tc:SAML:2.0:nameid-format:persistent

      • Habilita la casella de selecció per: publicar aquesta descripció de reclamació en les metadades de federació com un tipus de reclamació que aquest servei de federació pot acceptar

      • Habilita la casella de selecció per: publicar aquesta descripció de reclamació en les metadades de federació com un tipus de reclamació que aquest servei de federació pot enviar

    3. Seleccioneu D'acord.

  2. Mitjançant l'eina de gestió de l'AD FS, seleccioneu Relacions de confiança > Relacions de confiança per a un usuari autenticat.

    1. Seleccioneu Afegeix relació de confiança per a un usuari autenticat.

    2. Benvinguts: seleccioneu Inicia.

    3. Seleccioneu l'origen de les dades: marqueu l'opció Introdueix les dades de l'usuari de confiança manualment i seleccioneu Següent.

    4. Especifiqueu el nom de visualització: introduïu un nom i seleccioneu Següent. Exemple: https://portal.contoso.com/

    5. Trieu el perfil: seleccioneu Perfil de l'AD FS 2.0 i seleccioneu Següent.

    6. Configureu el certificat: seleccioneu Següent.

    7. Configureu l'adreça URL: seleccioneu la casella Habilita la compatibilitat amb el protocol SAML 2.0 WebSSO. Adreça URL del servei de l'SSO del SAML 2.0 de l'usuari de confiança: Introduïu https://portal.contoso.com/signin-saml2
      Tingueu en compte que l'AD FS requereix que el portal s'executi a l'HTTPS.

      Nota

      L'extrem resultant té la configuració següent:

    8. Configureu identitats: introduïu https://portal.contoso.com/, seleccioneu Afegeix i, a continuació, seleccioneu Següent. Si escau, podeu afegir més identitats per a cada portal de l'usuari de confiança addicional. Els usuaris es poden autenticar a través de totes o de qualsevol de les identitats disponibles.

    9. Trieu Regles d'autorització de l'emissió: seleccioneu Permet que tots els usuaris accedeixin a aquets usuari de confiança i seleccioneu Endavant.

    10. Preparat per afegir relació confiança: i seleccioneu Següent.

    11. Seleccioneu Tanca.

  3. Afegiu la declaració Identificador del nom a la relació de confiança per a un usuari autenticat:

    Transformeu el nom de compte del Windows en la declaració Identificador del nom (Transforma una declaració d'entrada):

    • Tipus de declaracions d'entrada: nom de compte del Windows

    • Tipus de declaracions de sortida: identificador del nom

    • Format d'identificador de nom de sortida: Identificador persistent

    • Passeu per tots els valors de declaració

Configurar el proveïdor SAML 2.0

Després de configurar la confiança de l'AD FS, podeu seguir els passos de Configurar un proveïdor SAML 2.0 per als portals.

Inici de sessió iniciat pel proveïdor d'identitats

L'AD FS és compatible amb el perfil de l' –inici de sessió únic (SSO) iniciat pel proveïdor d'identitats de l'especificació SAML 2.0. Perquè el portal (proveïdor de serveis) pugui respondre adequadament a la petició del SAML iniciada pel proveïdor d'identitats, el paràmetre RelayState ha d'haver-se codificat correctament.

El valor de cadena bàsic que es codificarà en el paràmetre RelayState del SAML ha de tenir el format: ReturnUrl=/content/sub-content/ on /content/sub-content/ és el camí a la pàgina web desitjada del portal (proveïdor del servei) a la qual accedireu. El camí pot ser substituït per qualsevol pàgina web vàlida del portal. El valor de cadena està codificat i ubicat en una cadena de contenidor del format: RPID=&lt;URL encoded RPID&gt;&RelayState=&lt;URL encoded RelayState&gt;. Aquesta cadena sencera es torna a codificar i afegir a un altre contenidor del format: <https://adfs.contoso.com/adfs/ls/idpinitiatedsignon.aspx?RelayState=&lt;URL> encoded RPID/RelayState&gt;.

Per exemple, amb el camí del proveïdor del servei /content/sub-content/ i l'identificador d'usuari de confiança: https://portal.contoso.com/, construïu l'adreça URL seguint aquests passos:

  • Codifiqueu el valor ReturnUrl=/content/sub-content/ per obtenir ReturnUrl%3D%2Fcontent%2Fsub-content%2F

  • Codifiqueu el valor https://portal.contoso.com/ per obtenir https%3A%2F%2Fportal.contoso.com%2F

  • Codifiqueu el valor RPID=https%3A%2F%2Fportal.contoso.com%2F&RelayState=ReturnUrl%3D%2Fcontent%2Fsub-content%2F per obtenir RPID%3Dhttps%253A%252F%252Fportal.contoso.com%252F%26RelayState%3DReturnUrl%253D%252Fcontent%252Fsub-content%252F

  • Poseu el camí de l'SSO iniciat pel proveïdor d'identitats de l'AD FS per obtenir l'adreça URL final https://adfs.contoso.com/adfs/ls/idpinitiatedsignon.aspx?RelayState=RPID%3Dhttps%253A%252F%252Fportal.contoso.com%252F%26RelayState%3DReturnUrl%253D%252Fcontent%252Fsub-content%252F

Podeu utilitzar l'script següent del PowerShell per construir l'adreça URL. Deseu l'script en un fitxer anomenat 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

Configuració de l'AD FS mitjançant PowerShell

El procés d'addició d'un usuari de confiança a l'AD FS també es pot dur a terme executant l'script del PowerShell següent al servidor de l'AD FS. Deseu l'script en un fitxer anomenat Add-AdxPortalRelyingPartyTrustForSaml.ps1. Després d'executar l'script, continueu amb la configuració del lloc del portal.

<# 

.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

Configurar un proveïdor SAML 2.0

Després de configurar l'usuari de confiança d'AD FS, podeu seguir els passos de Configurar un proveïdor SAML 2.0 per a portals.

Consulteu també

Configuració d'un proveïdor SAML 2.0 per a portals amb Azure AD
PMF per a l'ús de SAML 2.0 a portals
Configurar un proveïdor SAML 2.0 per als portals

Nota

Ens podeu dir quines són les vostres preferències d'idioma per a la documentació? Responeu una breu enquesta. (tingueu en compte que l'idioma de l'enquesta és l'anglès)

Trigareu uns set minuts a completar l'enquesta. No es recopilen dades personals (declaració de privadesa).