AD FS қызметі бар порталдарға арналған SAML 2.0 провайдерін конфигурациялау

Ескерім

2022 жылдың 12 қазанынан бастап күшіне енеді, Power Apps порталдары — Power Pages. Қосымша ақпарат: Microsoft Power Pages енді жалпыға қолжетімді (блог)
Жақында Power Apps порталдары құжаттамасын Power Pages құжаттамасымен көшіреміз және біріктіреміз.

Маңызды

Active Directory Federation Services (AD FS) конфигурациясының қадамдары AD FS серверінің нұсқасына байланысты өзгеруі мүмкін.

AD FS тексеруші тарап сенімін жасау

Ескерім

PowerShell көмегімен AD FS қызметін конфигурациялау бөлімін осы қадамдарды PowerShell сценарийінде орындау туралы ақпарат алу үшін қараңыз.

  1. AD FS басқару құралы көмегімен Қызмет > Шағым сипаттамалары тармағына өтіңіз.

    1. Шағым сипаттамасын қосу пәрменін таңдаңыз.

    2. Шағымды көрсету:

      • Дисплей аты:Тұрақты идентификатор

      • Шағым идентификаторы::urn:oasis:names:tc:SAML:2.0:nameid-format:persistent

      • Қосу құсбелгісі: осы федерация қызметі қабылдайтын шағым түрі ретінде федерация метадеректеріндегі осы шағым сипаттамасын жариялау

      • Қосу құсбелгісі: осы федерация қызметі жіберетін шағым түрі ретінде федерация метадеректеріндегі осы шағым сипаттамасын жариялау

    3. OK пәрменін таңдаңыз.

  2. AD FS басқарма құралымен Сенімді қатынастар >Тексеруші тарап сенімдері тармағын таңдаңыз.

    1. Тарап сенімін қосу пәрменін таңдаңыз.

    2. Қош келдіңіз: Бастау пәрменін таңдаңыз.

    3. Деректер көзін таңдау: Сенетін тарап деректерін қолмен енгізу опциясын таңдап, содан кейін Келесі пәрменін таңдаңыз.

    4. Көрсетілетін атауды көрсету: атауды енгізіп, содан кейін Келесі пәрменін таңдаңыз. Мысалы: https://portal.contoso.com/

    5. Профиль таңдау: AD FS 2.0 профилі параметрін таңдаңыз, содан кейін Келесі пәрменін таңдаңыз.

    6. Сертификатты конфигурациялау: Келесі пәрменін таңдаңыз.

    7. URL мекенжайын конфигурациялау: SAML 2.0 WebSSO протоколы қолдауын қосу құсбелгісін қойыңыз. Сенімді тарап SAML 2.0 SSO қызметі URL: https://portal.contoso.com/signin-saml2 мекенжайын енгізіңіз
      AD FS HTTPS ішінде порталды іске қосуды талап ететіндігін ескеріңіз.

      Ескерім

      Нәтижелі соңғы нүктеде келесі параметрлер бар:

    8. Сәйкестік куәліктерін конфигурациялау: https://portal.contoso.com/ мекенжайын енгізіңіз, Қосу пәрменін таңдаңыз, содан кейін Келесі пәрменін таңдаңыз. Тиісті болса, әрбір қосымша сенімді тарап порталы үшін қосымша сәйкестік куәліктерін қосуға болады. Пайдаланушылар кез келген немесе барлық қолжетімді сәйкестік куәліктерінде түпнұсқалығын растай алады.

    9. Беру өкілеттігі ережелерін таңдау: Барлық пайдаланушыларға осы сенетін тарапқа қатынасуға рұқсат беру параметрін таңдап, содан кейін Келесі пәрменін таңдаңыз.

    10. Сенім қосуға дайын: Келесі пәрменін таңдаңыз.

    11. Жабу пәрменін таңдаңыз.

  3. Ат ИД шағымын сенімді тарапқа қосыңыз:

    Windows тіркелгі атауын Атау идентификаторы шағымына түрлендіру (кіріс шағымды түрлендіру):

    • Кіріс шағым түрі:Windows тіркелгі атауы

    • Шығыс шағым түрі: Ат ИД

    • Шығыс аты ИД пішімі: тұрақты идентификатор

    • Барлық шағым мәндері бойынша өту

SAML 2.0 провайдерін конфигурациялау

AD FS сенетін тарап сенімін орнатқаннан кейін, Порталдар үшін SAML 2.0 провайдерін конфигурациялау бөліміндегі қадамдарды орындауға болады.

Идентификация провайдері–басталған кіріс

AD FS қызметі SAML 2.0 сипаттамасының идентификация провайдері–құпиясөзді бір рет енгізу арқылы кіру (SSO) профиліне қолдау көрсетеді. Идентификация провайдері бастаған SAML сұрауына портал (қызмет жеткізушісі) дұрыс жауап беруі үшін, RelayState параметрі дұрыс кодталуы қажет.

SAML RelayState параметріне кодталатын негізгі жол мәні ReturnUrl=/content/sub-content/ пішімде болуы қажет, мұндағы /content/sub-content/ — порталда (қызмет жеткізушісі) өтуге қажет веб-бет жолы. Жолды порталдағы жарамды веб-бетпен ауыстыруға болады. Жол мәні кодталады және RPID=&lt;URL encoded RPID&gt;&RelayState=&lt;URL encoded RelayState&gt; пішімінің контейнер жолына салынады. Бұл бүкіл жол тек бір рет кодталады және <https://adfs.contoso.com/adfs/ls/idpinitiatedsignon.aspx?RelayState=&lt;URL> encoded RPID/RelayState&gt; пішімінің басқа контейнеріне қосылады.

Мысалы, /content/sub-content/ қызмет жеткізушісі жолы және https://portal.contoso.com/ сенімді тарап идентификаторы берілсе, URL мекенжайын мына қадамдармен құрыңыз:

  • ReturnUrl%3D%2Fcontent%2Fsub-content%2F алу үшін ReturnUrl=/content/sub-content/ мәнін кодтау

  • https%3A%2F%2Fportal.contoso.com%2F алу үшін https://portal.contoso.com/ мәнін кодтау

  • RPID%3Dhttps%253A%252F%252Fportal.contoso.com%252F%26RelayState%3DReturnUrl%253D%252Fcontent%252Fsub-content%252F алу үшін RPID=https%3A%2F%2Fportal.contoso.com%2F&RelayState=ReturnUrl%3D%2Fcontent%2Fsub-content%2F мәнін кодтау

  • Соңғы URL мекенжайын алу үшін AD FS идентификация провайдері бастаған–SSO жолын алдын ала толтыру 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 мекенжайын құру үшін келесі PowerShell сценарийін пайдалануға болады. Сценарийді 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

PowerShell көмегімен AD FS теңшеу

Сонымен қатар AD FS серверінде келесі PowerShell сценарийін іске қосумен орындалатын AD FS серверінде сенімді тарап қосу процесі. Сценарийді Add-AdxPortalRelyingPartyTrustForSaml.ps1 деп аталатын файлға сақтаңыз. Сценарий іске қосқаннан кейін портал торабы параметрлерін теңшеуді жалғастырыңыз.

<# 

.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 провайдерін конфигурациялау

AD FS тексеруші тарап сенімін орнатқаннан кейін, Порталдарға арналған SAML 2.0 провайдерін конфигурациялау бөліміндегі қадамдарды орындаңыз.

Келесіні де қараңыз:

Azure AD арқылы порталдар үшін SAML 2.0 провайдерін конфигурациялаңыз
SAML 2.0 стандартын порталдарда қолдануға қатысты жиі қойылатын сұрақтар
Порталдар үшін SAML 2.0 провайдерін конфигурациялау

Ескерім

Сіз құжат тіліңіздің артықшылықтары туралы айта аласыз ба? Қысқа сауалнамаға қатысыңыз. (бұл сауалнама ағылшын тілінде екеніне назар аударыңыз)

Сауалнама шамамен жеті минут уақытыңызды алады. Жеке деректер жиналмайды (құпиялылық туралы мәлімдеме).