Portaalien SAML 2.0 -palvelun määrittäminen AD FS:n avulla
Huomautus
Power Apps -portaaleja kutsutaan 12. lokakuuta 2022 alkaen nimellä Power Pages. Lisätietoja: Microsoft Power Pages on nyt yleisesti saatavilla (blogi)
Siirrämme ja yhdistämme Power Apps -portaalien dokumentaation pian Power Pagesin dokumentaatioon.
Tärkeä
Active Directory Federation Services (AD FS) -määrityksen vaiheet voivat vaihdella AD FS -palvelimen version mukaan.
Välittävän osapuolen luominen AD FS:ään
Huomautus
Kohdassa AD FS:n määrittäminen PowerShellin avulla on lisätietoja näiden vaiheiden suorittaminen PowerShell-komentosarjalla.
Valitse AD FS -hallintatyökalun avulla Palvelu > Vaatimusten kuvaukset.
Valitse Lisää vaatimuksen kuvaus.
Määritä vaatimus:
Näyttönimi: Pysyvä tunnus
Vaatimuksen tunnus: urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
Ota käyttöön valintaruutu: Julkaise tämä vaatimuksen kuvaus yhdistämisen metatiedoissa vaatimustyyppinä, jonka yhdistämispalvelu voi hyväksyä
Ota käyttöön valintaruutu: Julkaise tämä vaatimuksen kuvaus yhdistämisen metatiedoissa vaatimustyyppinä, jonka yhdistämispalvelu voi lähettää
Valitse OK.
Valitse AD FS -hallintatyökalulla Luottamussuhteet >Luottavan osapuolen luottamukset.
Valitse Lisää välittävä osapuoli.
Tervetulos! Valitse Aloitus.
Valitse tietolähde: Valitse Syötä välittävän osapuolen tiedot manuaalisesti ja valitse sitten Seuraava.
Määritä näyttönimi: Kirjoita nimi ja valitse sitten Seuraava. Esimerkki: https://portal.contoso.com/
Valitse profiili: Valitse ensin AD FS 2.0 -profiili ja sitten Seuraava.
Määritä sertifikaatti: Valitse Seuraava.
Määritä URL-osoite: Valitse Ota SAML 2.0 WebSSO -protokollan tuki käyttöön -valintaruutu. Välittävän osapuolen SAML 2.0 SSO -palvelun URL-osoite: Kirjoita https://portal.contoso.com/signin-saml2
Huomaa, että AD FS edellyttää portaalin käyttävän HTTPS-salausta.Huomautus
Tuloksena olevalla päätepisteellä on seuraavat asetukset:
- Päätepisteen tyyppi: SAML -vahvistus kuluttaa päätepisteet
- Sidonta: POST
- Indeksi: ei käytettävissä (0)
- URL-osoite: https://portal.contoso.com/signin-saml2
Määritä käyttäjätiedot: kirjoita
https://portal.contoso.com/
, valitse Lisää ja valitse sitten Seuraava. Tarvittaessa useita käyttäjätietoja voidaan lisätä jokaiselle välittävän osapuolen portaalille. Käyttäjät voidaan todentaa minkä tahansa tai kaikkien saatavien käyttäjätietojen avulla.Valitse käyttöoikeuksien myöntämissääntö: Valitse ensin Kaikki käyttäjät voivat käyttää ko. välittävää osapuolta ja sitten Seuraava.
Osapuolen lisääminen valmis: Valitse Seuraava.
Valitse Sulje.
Lisää nimen tunnus -vaatimus välittävälle osapuolelle:
Muunna Windows -tilin nimeksi nimen tunnus -vaatimus (muunna saapuva vaatimus):
Saapuvan vaatimuksen tyyppi: Windows-tilin nimi
Lähtevän vaatimuksen tyyppi: nimen tunnus
Lähtevän nimen tunnuksen muoto: Pysyvä tunnus
Läpäise kaikki vaatimusarvot
SAML 2.0 -toimittajan määrittäminen
Kun olet määrittänyt AD FS:n luottavan osapuolen luottamuksen, noudata ohjeita kohdassa Portaalien SAML 2.0 -palvelun määrittäminen.
Käyttäjätietopalveluun perustuva kirjautuminen
AD FS tukee tunnistetietojen toimittajaa – käynnistettyä kertakirjausta -profiilin SAML 2.0 määritystä. Jotta portaali (palveluntarjoaja) voisi vastata käyttäjätietopalvelun käynnistämään SAML-pyyntöön oikein, RelayState-parametri on koodattava oikein.
Perusmerkkijonoarvo, joka koodataan, SAML RelayState -parametriin on oltava muodossa: ReturnUrl=/content/sub-content/
, jossa /content/sub-content/
on siirtyä polku haluttuun verkkosivuun portaalissa (palveluntarjoajassa). Polku voidaan korvata millä tahansa kelvollisella portaalin verkkosivulla. Merkkijonoarvo koodataan ja sijoitetaan säilön merkkijonoksi muodossa RPID=<URL encoded RPID>&RelayState=<URL encoded RelayState>
. Koko merkkijono koodataan jälleen ja lisätään toiseen säilöön muodossa <https://adfs.contoso.com/adfs/ls/idpinitiatedsignon.aspx?RelayState=<URL> encoded RPID/RelayState>
.
Esimerkiksi annettu palveluntarjoajan polku /content/sub-content/
ja luottavan osapuolen tunnus https://portal.contoso.com/
muodostavat URL-osoitteen seuraavasti:
Koodaa arvo
ReturnUrl=/content/sub-content/
saadaksesiReturnUrl%3D%2Fcontent%2Fsub-content%2F
Koodaa arvo
https://portal.contoso.com/
saadaksesihttps%3A%2F%2Fportal.contoso.com%2F
Koodaa arvo
RPID=https%3A%2F%2Fportal.contoso.com%2F&RelayState=ReturnUrl%3D%2Fcontent%2Fsub-content%2F
saadaksesiRPID%3Dhttps%253A%252F%252Fportal.contoso.com%252F%26RelayState%3DReturnUrl%253D%252Fcontent%252Fsub-content%252F
Liittämällä alkuun AD FS -käyttäjätietopalveluun perustuva SSO-polku saadaan lopullinen URL-osoite
https://adfs.contoso.com/adfs/ls/idpinitiatedsignon.aspx?RelayState=RPID%3Dhttps%253A%252F%252Fportal.contoso.com%252F%26RelayState%3DReturnUrl%253D%252Fcontent%252Fsub-content%252F
URL-osoite voidaan muodostaa seuraavalla PowerShell-komentosarjalla. Tallenna komentosarja Get-IdPInitiatedUrl.ps1-nimiseen tiedostoon.
<#
.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
AD FS:n määrittäminen PowerShellin avulla
Luottavan osapuolen luottamuksen lisääminen AD FS:ään voidaan tehdä myös suorittamalla PowerShell-komentosarja AD FS -palvelimessa. Tallenna komentosarja Add-AdxPortalRelyingPartyTrustForSaml.ps1-nimiseen tiedostoon. Kun komentosarja on suoritettu, jatka portaalisivuston asetuksien määrittämistä.
<#
.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
SAML 2.0 -palvelun määrittäminen
Kun olet määrittänyt AD FS:n luottavan osapuolen luottamuksen, noudata ohjeita kohdassa Portaalien SAML 2.0 -palvelun määrittäminen.
Katso myös
Portaalien SAML 2.0 -palvelun määrittäminen Azure AD:n avulla
Usein kysyttyjä kysymyksiä SAML 2.0:n käytöstä portaalissa
Portaalien SAML 2.0 -palvelun määrittäminen
Huomautus
Voitko kertoa meille dokumentaatiota koskevan kielimäärityksesi? Vastaa lyhyeen kyselyyn. (Huomaa, että tämä kysely on englanninkielinen.)
Kyselyyn vastaaminen kestää noin seitsemän minuuttia. Henkilökohtaisia tietoja ei kerätä (tietosuojatiedot).