SAML 2.0 nodrošinātāja iestatīšana ar AD FS
Active Directory federācijas pakalpojums (AD FS) ir viens no SAML 2.0 identitātes nodrošinātājiem, ko varat izmantot, lai autentificētu apmeklētājus savā Power Pages vietnē. Varat izmantot jebkuru nodrošinātāju, kas atbilst SAML 2.0 specifikācijai.
Šajā rakstā ir aprakstītas tālāk minētās darbības.
- AD FS iestatīšana Power Pages
- Izveidojiet AD FS, kas paļaujas uz pušu uzticību
- Pakalpojumu sniedzēja iestatīšanas pabeigšana
Svarīgi
AD FS iestatīšanas darbības var atšķirties atkarībā no jūsu AD FS servera versijas.
AD FS iestatīšana portālā Power Pages
Iestatiet AD FS kā identitātes nodrošinātāju jūsu vietnē.
Power Pages Savā vietnē atlasiet Drošības>identitātes nodrošinātāji.
Ja netiek rādīts neviens identitātes nodrošinātājs, pārliecinieties, vai opcija Ārējā pieteikšanās ir iestatīta kā Ieslēgts jūsu vietnes vispārīgajos autentifikācijas iestatījumos.
Atlasiet + Jauns nodrošinātājs.
Sadaļā Atlasīt pieteikšanās nodrošinātāju atlasiet Cits.
Sadaļā Protokols atlasiet SAML 2.0.
Ievadiet nodrošinātāja nosaukumu.
Nodrošinātāja nosaukums ir teksts uz pogas, ko lietotāji redz, kad atlasa savu identitātes nodrošinātāju pierakstīšanās lapā.
Atlasiet Tālāk.
Sadaļā Atbildes URL atlasiet Kopēt.
Neaizveriet Power Pages pārlūka cilni. Drīz tajā atgriezīsities.
AD FS uzticamās puses uzticamības izveide
Lai veiktu šīs darbības, varat izmantot arī PowerShell skriptu.
Servera pārvaldniekā atlasiet Rīki un pēc tam atlasiet AD FS pārvaldība.
Izvērsiet Serviss.
Labajā panelī atlasiet Pievienot prasības aprakstu.
Ievadiet tālāk norādītās vērtības.
Parādāmais vārds: pastāvīgais identifikators
Pieprasījuma identifikators: urn:oāze:nosaukumi:tc:SAML:2.0:nameid-format:persistent
Atlasiet abas Publicēt šīs prasības aprakstu federācijas metadatos… opcijas.
Atlasiet Labi.
Atlasiet Uzticības relācijas>Uzticamās puses uzticamības.
Atlasiet Pievienot uzticamās puses uzticamību.
Atlasiet Sākt.
Atlasiet Manuāli ievadīt datus par uzticamo pusi un tad atlasiet Tālāk.
Ievadiet nosaukumu, piemēram, https://portal.contoso.com/.
Atlasiet Tālāk.
Atlasiet AD FS 2.0 profils un pēc tam atlasiet Tālāk.
Lapā Konfigurēt sertifikātu atlasiet Tālāk.
Atlasiet Iespējot SAML 2.0 WebSSO protokola atbalstu.
Sadaļā Uzticamās puses SAML 2.0 SSO pakalpojuma vietrādis URL ievadiet nokopēto atbildes URL. AD FS nepieciešams, lai tīmekļa vietne darbotos ar HTTPS, nevis HTTP.
Atlasiet Tālāk.
Lapā Konfigurēt identifikatorus ievadiet savas vietnes vietrādi URL un pēc tam atlasiet vienumu Pievienot.
Katrai papildu uzticamās puses tīmekļa vietnei varat pievienot papildu identitātes. Lietotāji var autentificēties, izmantojot jebkuru pieejamo identitāti.
Atlasiet Tālāk.
Lapā Vai konfigurēt vairāku faktoru autentifikāciju tūlīt? atlasiet opciju Pašlaik nevēlos konfigurēt daudzfaktoru autentifikācijas iestatījumus šai uzticamajai pusei.
Lapā Izvēlieties izdošanas atļauju noteikumus atlasiet Ļaut visiem lietotājiem piekļūt šai uzticamajai pusei un tad atlasiet Tālāk.
Pārskatiet uzticamības iestatījumus un tad atlasiet Tālāk.
Atlasiet Aizvērt.
Atkarībā no rediģējamās uzticēšanās un tā, kādā kārtulu kopā vēlaties izveidot kārtulu, sadaļā Prasību kārtulu rediģēšana atlasiet vienu no šīm cilnēm:
- Pieņemšanas pārveidošanas noteikumi
- Emisijas pārveidošanas noteikumi
- Izsniegšanas autorizācijas noteikumi
- Deleģēšanas atļaujas noteikumi
Atlasiet Pievienot kārtulu.
Sarakstā Prasības kārtulas veidne atlasiet Transformēt ienākošo pieprasījumu un pēc tam atlasiet Tālāk.
Ievadiet vai atlasiet tālāk norādītās vērtības.
Pieprasījuma kārtulas nosaukums: Windows konta nosaukuma pārveidošana par vārda ID
Ienākošā pieprasījuma tips: Windows konta nosaukums
Izejošā pieprasījuma tips: Vārda ID
Izejošā nosaukuma ID formāts: Pastāvīgais identifikators
Atlasiet Izejiet cauri visām prasījuma vērtībām.
Atlasiet Pabeigt un pēc tam atlasiet Labi.
Pabeigt nodrošinātāja iestatīšanu
Pēc AD FS uzticamās puses uzticēšanās iestatīšanas:
Identitātes nodrošinātāja sākta pierakstīšanās
AD FS atbalsta identitātes nodrošinātāja sāktas vienotās pierakstīšanās (single sign-on — SSO) profilu ar SAML 2.0 specifikāciju. Lai pakalpojumu sniedzēju vietne pareizi atbildētu uz identitātes nodrošinātāja SAML pieprasījumu, ir jākodē parametrs RelayState
.
Pamata virknes vērtībai, kas tiks iekodēta SAML parametrā RelayState
, jābūt formātā ReturnUrl=/content/sub-content/
, kur /content/sub-content/
ir ceļš uz vēlamo lapu, uz kuru vēlaties doties pakalpojumu sniedzēja vietnē. Varat norādīt ceļu uz jebkuru derīgu vietnes lapu. Virknes vērtība tiek kodēta un ievietota formāta konteinera virknē RPID=<URL encoded RPID>&RelayState=<URL encoded RelayState>
. Visa šī virkne tiek vēlreiz kodēta, un pievienota citam formāta konteineram <https://adfs.contoso.com/adfs/ls/idpinitiatedsignon.aspx?RelayState=<URL> encoded RPID/RelayState>
.
Piemēram, ņemot vērā pakalpojumu sniedzēja ceļu /content/sub-content/
un uzticamās puses ID https://portal.contoso.com/
, veidojiet URL ar šādām darbībām:
Kodēt vērtību
ReturnUrl=/content/sub-content/
, lai iegūtuReturnUrl%3D%2Fcontent%2Fsub-content%2F
Kodēt vērtību
https://portal.contoso.com/
, lai iegūtuhttps%3A%2F%2Fportal.contoso.com%2F
Kodēt vērtību
RPID=https%3A%2F%2Fportal.contoso.com%2F&RelayState=ReturnUrl%3D%2Fcontent%2Fsub-content%2F
, lai iegūtuRPID%3Dhttps%253A%252F%252Fportal.contoso.com%252F%26RelayState%3DReturnUrl%253D%252Fcontent%252Fsub-content%252F
Lai iegūtu gala vietrādi URL, pievienojiet AD FS identitātes nodrošinātāja sāktā SSO ceļu
https://adfs.contoso.com/adfs/ls/idpinitiatedsignon.aspx?RelayState=RPID%3Dhttps%253A%252F%252Fportal.contoso.com%252F%26RelayState%3DReturnUrl%253D%252Fcontent%252Fsub-content%252F
Lai izveidotu URL, varat izmantot šādu PowerShell skriptu. Saglabājiet skriptu failā ar nosaukumu 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
AD FS konfigurēšana, izmantojot PowerShell
Tā vietā, lai pievienoto uzticamo pusi AD FS manuāli, varat palaist AD FS serverī šādu PowerShell skriptu. Saglabājiet skriptu failā ar nosaukumu Add-AdxPortalRelyingPartyTrustForSaml.ps1
. Pēc skripta izpildes turpiniet konfigurēt vietnes iestatījumus programmā 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
Skatiet arī:
SAML 2.0 nodrošinātāja iestatīšana
SAML 2.0 nodrošinātāja iestatīšana ar Microsoft Entra ID
SAML 2.0 BUJ