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.
Mitjançant l'eina de gestió de l'AD FS, aneu a Servei > Descripcions de reclamació.
Seleccioneu Afegeix descripció de reclamació.
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
Seleccioneu D'acord.
Mitjançant l'eina de gestió de l'AD FS, seleccioneu Relacions de confiança > Relacions de confiança per a un usuari autenticat.
Seleccioneu Afegeix relació de confiança per a un usuari autenticat.
Benvinguts: seleccioneu Inicia.
Seleccioneu l'origen de les dades: marqueu l'opció Introdueix les dades de l'usuari de confiança manualment i seleccioneu Següent.
Especifiqueu el nom de visualització: introduïu un nom i seleccioneu Següent. Exemple: https://portal.contoso.com/
Trieu el perfil: seleccioneu Perfil de l'AD FS 2.0 i seleccioneu Següent.
Configureu el certificat: seleccioneu Següent.
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:
- Tipus d'extrem: Extrems de consums d'asserció del SAML
- Vinculació: MISSATGE
- Índex: n/a (0)
- Adreça URL: https://portal.contoso.com/signin-saml2
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.Trieu Regles d'autorització de l'emissió: seleccioneu Permet que tots els usuaris accedeixin a aquets usuari de confiança i seleccioneu Endavant.
Preparat per afegir relació confiança: i seleccioneu Següent.
Seleccioneu Tanca.
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=<URL encoded RPID>&RelayState=<URL encoded RelayState>
. Aquesta cadena sencera es torna a codificar i afegir a un altre contenidor del format: <https://adfs.contoso.com/adfs/ls/idpinitiatedsignon.aspx?RelayState=<URL> encoded RPID/RelayState>
.
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 obtenirReturnUrl%3D%2Fcontent%2Fsub-content%2F
Codifiqueu el valor
https://portal.contoso.com/
per obtenirhttps%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 obtenirRPID%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).
Comentaris
https://aka.ms/ContentUserFeedback.
Properament: al llarg del 2024 eliminarem gradualment GitHub Issues com a mecanisme de retroalimentació del contingut i el substituirem per un nou sistema de retroalimentació. Per obtenir més informació, consulteu:Envieu i consulteu els comentaris de