Del via


Konfigurere en SAML 2.0-leverandør for portaler med AD FS

Obs!

Fra og med 12. oktober 2022 er Power Apps-portaler Power Pages. Mer informasjon: Microsoft Power Pages er nå tilgjengelig (blogg)
Vi overfører og slår snart sammen Power Apps-portaldokumentasjonen med Power Pages-dokumentasjonen.

Viktig

Fremgangsmåten for konfigurasjonen av Active Directory Federation Services (AD FS) kan variere avhengig av versjonen av AD FS-serveren.

Opprette en klarering for AD FS-beroende part

Obs!

Se Konfigurer AD FS ved hjelp av PowerShell nedenfor, for informasjon om hvordan du utfører disse trinnene i et PowerShell-skript.

  1. Bruk AD FS Management-verktøyet og gå til Tjeneste > Kravbeskrivelser.

    1. Velg Legg til kravbeskrivelse.

    2. Angi kravet:

      • Visningsnavn: Fast identifikator

      • Krav-ID: urn:oasis:names:tc:SAML:2.0:nameid-format:persistent

      • Aktiver-avmerkingsboks for: Publiser denne kravbeskrivelses i metadata for federering som en kravtype som denne Federation Service kan godta

      • Aktiver-avmerkingsboks for: Publiser denne kravbeskrivelses i metadata for federering som en kravtype som denne Federation Service kan sende

    3. Velg OK.

  2. Bruk AD FS Management-verktøyet for å velge Klareringsrelasjoner >Relasjoner for beroende part.

    1. Velg Legg til klarering for beroende part.

    2. Velkommen: Velg Start.

    3. Velg datakilde: Velg Angi data om den beroende parten manuelt, og velg deretter Neste.

    4. Angi visningsnavn: Angi et navn, og velg deretter Neste. Eksempel: https://portal.contoso.com/

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

    6. Konfigurer sertifikat: Velg Neste.

    7. Konfigurer URL-adresse: Merk av for Aktiver støtte for SAML 2.0 WebSSO-protokollen. URL-adresse for SAML 2.0 SSO-tjeneste for beroende part: Angi https://portal.contoso.com/signin-saml2
      Vær oppmerksom på at AD FS krever at portalen kjører på HTTPS.

      Obs!

      Det resulterende endepunktet har følgende innstillinger:

    8. Konfigurer identiteter: Angi https://portal.contoso.com/, velg Legg til, og velg deretter Neste. Hvis aktuelt, kan du legge til flere identiteter for hver ekstra portal for beroende part. Brukere kan godkjenne på tvers av alle tilgjengelige identiteter.

    9. Velg godkjenningsregler for utstedelse: Velg La alle brukere få tilgang til denne beroende parten, og velg deretter Neste.

    10. Klar til å legge til klarering: Velg Neste.

    11. Velg Lukk.

  3. Legg navne-ID-kravet til klareringen for den beroende parten:

    Transformer Windows-kontonavnet til navne-ID-krav (Transformer et innkommende krav):

    • Innkommende kravtype: Windows-kontonavn

    • Utgående kravtype: Navne-ID

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

    • Sende videre alle kravverdier

Konfigurere SAML 2.0-leverandøren

Etter at du har konfigurert AD FS-klarering for beroende part, kan du følge trinnene i Konfigurer en SAML 2.0-leverandør for portaler.

Pålogging igangsatt av identitetsleverandør

AD FS støtter profilen for identitetsleverandør–initiert enkel pålogging (SSO) for SAML-2.0-spesifikasjonen. For at portalen (tjenesteleverandør) skal svare riktig på SAML-forespørselen som startes av identitetsleverandøren, må RelayState-parameteren kodes riktig.

Den grunnleggende strengverdien som skal kodes i SAML-RelayState-parameteren må være i formatet ReturnUrl=/content/sub-content/ der /content/sub-content/ er banen til nettsiden du ønsker å gå til på portalen (tjenesteleverandør). Banen kan bli erstattet av en gyldig nettside på portalen. 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 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

Konfigurere AD FS ved hjelp av PowerShell

Prosessen med å legge til en beroende partsklarering i AD FS kan også utføres ved å kjøre følgende PowerShell-skript på AD FS-serveren. Lagre skriptet i en fil med navnet Add-AdxPortalRelyingPartyTrustForSaml.ps1. Når skriptet er kjørt, kan du fortsette med å konfigurere innstillingene for portalområdet.

<# 

.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

Konfigurer en SAML 2.0-leverandør

Etter at du har konfigurert AD FS-klarering for beroende part, kan du følge trinnene i Konfigurer en SAML 2.0-leverandør for portaler.

Se også

Konfigurer en SAML 2.0-leverandør for portaler med Azure AD
Vanlige spørsmål om bruk av SAML 2.0 i portaler
Konfigurer en SAML 2.0-leverandør for portaler

Obs!

Kan du fortelle oss om språkinnstillingene for dokumentasjonen? Ta en kort undersøkelse. (vær oppmerksom på at denne undersøkelsen er på engelsk)

Undersøkelsen tar rundt sju minutter. Det blir ikke samlet inn noen personopplysninger (personvernerklæring).