Del via


Konfigurere en SAML 2.0-leverandør med AD FS

Active Directory Federation Services (AD FS) er en av ID-leverandørene for SAML 2.0 som du kan bruke til å godkjenne besøkende på Power Pages-webområdet ditt. Du kan bruke en hvilken som helst leverandør som overholder SAML 2.0-spesifikasjon.

Denne artikkelen beskriver følgende trinn:

Viktig

Fremgangsmåten for konfigurasjonen av AD FS kan variere avhengig av versjonen av AD FS-serveren.

Konfigurer AD FS i Power Pages

Angi AD FS som en identitetsleverandør for området.

  1. Velg Sikkerhet>Identitetsleverandører på Power Pages-nettstedet.

    Hvis ingen identitetsleverandører vises, må du kontrollere at ekstern pålogging er satt til i områdets generelle godkjenningsinnstillinger.

  2. Velg + Ny leverandør.

  3. Under Velg påloggingsleverandør velger du Annen.

  4. Under Protokoll velger du SAML 2.0.

  5. Angi et navn for leverandøren.

    Leverandørnavnet er tekst på knappen som brukere ser når de velger identitetsleverandør på påloggingssiden.

  6. Velg Neste.

  7. Velg Kopier under Svar-URL-adresse.

    Ikke lukk Power Pages-webleserkategorien. Du kommer tilbake til det snart.

Opprette en klarering for AD FS-beroende part

Du kan også bruke et PowerShell-skript til å utføre disse trinnene.

  1. I Serverbehandling velger du Verktøy, og velg deretter AD FS Management.

  2. Utvid tjeneste.

  3. I høyre sidepanel velger du Legg til kravbeskrivelse.

  4. Angi følgende verdier:

    • Visningsnavn: Fast identifikator

    • Erklæringsidentifikator: urn:oasis:names:tc:SAML:2.0:nameid-format:persistent

    • Velg begge Publiser denne kravbeskrivelsen i metadata for federering... alternativer.

  5. Velg OK.

  6. Velg Klareringsrelasjoner>Relasjoner for beroende part.

  7. Velg Legg til klarering for beroende part.

  8. Velg Start.

  9. Velg Angi data om den beroende parten manuelt, og velg deretter Neste.

  10. Angi et navn, for eksempel https://portal.contoso.com/.

  11. Velg Neste.

  12. Velg AD FS 2.0-profil, og velg deretter Neste.

  13. Velg Neste på siden Konfigurer sertifikat.

  14. Velg Aktiver støtte for SAML 2.0 WebSSO-protokollen.

  15. Under URL-adresse for SAML 2.0 SSO-tjeneste for beroende part angir du svar-URL-en du kopierte. AD FS krever at nettstedet kjører HTTPS, ikke HTTP.

  16. Velg Neste.

  17. På siden Konfigurer identifikatorer angir du områdets URL og deretter velger du Legg til.

    Du kan legge til flere identiteter for hver ekstra nettsted for beroende part om nødvendig. Brukere kan godkjenne ved hjelp av en enhver tilgjengelig identitet.

  18. Velg Neste.

  19. På siden Konfigurere flerfaktorautentisering nå? velger du Jeg vil ikke konfigurere innstillinger for flerfaktorautentisering for denne klareringen for beroende part nå.

  20. På siden Velg godkjenningsregler for utstedelse velger du La alle brukere få tilgang til denne beroende parten, og velg deretter Neste.

  21. Se gjennom klareringsinnstillingene, og velg deretter Neste.

  22. Velg Lukk.

  23. I Rediger kravregler ve;ger di følgende kategorier, avhengig av klareringen du redigerer, og i hvilket regelsett du vil opprette regelen i:

    • Godkjenningstransformeringsregler
    • Utstedelsestransformeringsregler
    • Utstedelsesgodkjenningsregler
    • Delegeringsgodkjenningsregler
  24. Velg Legg til regel.

  25. I Kravregelmal-listen velger du Transformer et innkommende krav, og velg deretter Neste.

  26. Angi eller velg følgende verdier:

    • Navn på erklæringsregel: Transformer navn på Windows-konto til navn-ID

    • Innkommende erklæringstype: Windows-kontonavn

    • Utgående erklæringstype: Navn-ID

    • Format for utgående navn-ID: Fast identifikator

  27. Velg Sende videre alle kravverdier.

  28. Velg Avslutt og deretter OK.

Fullfør konfigurering av leverandøren

Når du har konfigurert klarering for AD FS-beroende part:

  1. Opprett en appregistrering i Azure.

  2. Angi nettstedsinnstillinger i Power Pages.

Pålogging igangsatt av identitetsleverandør

AD FS støtter profilen for identitetsleverandørinitiert enkel pålogging (SSO) for SAML-2.0-spesifikasjonen. Hvis webområdet for tjenesteleverandøren skal kunne svare riktig på identitetsleverandørens SAML-forespørsel, må du kode RelayState-parameteren.

Den grunnleggende verdien som skal kodes i SAML-RelayState-parameteren må være i formatet ReturnUrl=/content/sub-content/, der /content/sub-content/ er banen til siden du ønsker å gå til på webstedet til tjenesteleverandøren. Du kan angi banen til en gyldig side på webområdet. Strengverdien kodes og plasseres i en beholderstreng i formatet RPID=&lt;URL encoded RPID&gt;&RelayState=&lt;URL encoded RelayState&gt;. Hele strengen kodes på nytt og legges til en annen beholder i formatet <https://adfs.contoso.com/adfs/ls/idpinitiatedsignon.aspx?RelayState=&lt;URL> encoded RPID/RelayState&gt;.

Eksempel: gitt banen til tjenesteleverandøren, /content/sub-content/ og ID-en for beroende part, https://portal.contoso.com/, konstruer nettadressen med denne fremgangsmåten:

  • Kod verdien ReturnUrl=/content/sub-content/ for å få ReturnUrl%3D%2Fcontent%2Fsub-content%2F

  • Kod verdien https://portal.contoso.com/ for å få https%3A%2F%2Fportal.contoso.com%2F

  • Kod verdien RPID=https%3A%2F%2Fportal.contoso.com%2F&RelayState=ReturnUrl%3D%2Fcontent%2Fsub-content%2F for å få RPID%3Dhttps%253A%252F%252Fportal.contoso.com%252F%26RelayState%3DReturnUrl%253D%252Fcontent%252Fsub-content%252F

  • Legg til foran AD FS-identitetsleverandørinitiert SSO-bane for å få den endelige nettadressen https://adfs.contoso.com/adfs/ls/idpinitiatedsignon.aspx?RelayState=RPID%3Dhttps%253A%252F%252Fportal.contoso.com%252F%26RelayState%3DReturnUrl%253D%252Fcontent%252Fsub-content%252F

Du kan bruke følgende PowerShell-skript til å konstruere URL-adressen. Lagre skriptet i en fil med navnet 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

Konfigurere AD FS ved hjelp av PowerShell

I stedet for å legge til en beroende partsklarering i AD FS manuelt, kan du kjøre følgende PowerShell-skript på AD FS-serveren. Lagre skriptet i en fil med navnet Add-AdxPortalRelyingPartyTrustForSaml.ps1. Når skriptet har kjørt, fortsetter du å konfigurere områdeinnstillingene i 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

Se også

Konfigurer en SAML 2.0-leverandør
Konfigurer en SAML 2.0-leverandør med Microsoft Entra ID
Vanlige spørsmål om SAML 2.0