AD FS के साथ SAML 2.0 प्रदाता सेट अप करें
एक्टिव डायरेक्ट्री फ़ेडरेशन सर्विसेज़ (AD FS) SAML 2.0 पहचान प्रदाताओं में से एक है जिसका उपयोग आप अपनी Power Pages साइट में आगंतुकों को प्रमाणित करने के लिए कर सकते हैं. आप SAML 2.0 विनिर्देश का पालन करने वाले किसी प्रदाता का उपयोग भी कर सकते हैं.
इस आलेख में निम्नलिखित चरणों का वर्णन है:
महत्त्वपूर्ण
AD FS को सेट अप करने के चरण, आपके AD FS सर्वर के वर्शन के अनुसार अलग-अलग हो सकते हैं.
Power Pages में AD FS सेट अप करें
अपनी साइट के लिए पहचान प्रदाता के रूप में AD FS सेट करें.
अपनी Power Pages साइट में, सुरक्षा>पहचान प्रदाता का चयन करें।
यदि कोई पहचान प्रदाता दिखाई नहीं देता है, तो सुनिश्चित करें कि आपकी साइट की सामान्य प्रमाणीकरण सेटिंग्स में बाहरी लॉगिन चालू पर सेट है.
+ नया प्रदाता का चयन करें.
लॉगिन प्रदाता चुनें के अंतर्गत, अन्य चुनें.
प्रोटोकॉल के अंतर्गत, SAML 2.0 चुनें.
प्रदाता के लिए एक नाम दर्ज करें.
प्रदाता का नाम बटन पर वह टेक्स्ट है जिसे उपयोगकर्ता तब देखते हैं जब वे साइन-इन पृष्ठ पर अपने पहचान प्रदाता का चयन करते हैं.
अगला चुनें.
उत्तर URL के अंतर्गत, कॉपी करें चुनें.
अपना Power Pages ब्राउज़र टैब बंद न करें. आप जल्द ही इस पर वापस लौटेंगे.
पक्ष विश्वास पर आश्रित AD FS बनाएँ
आप इन चरणों को निष्पादित करने के लिए PowerShell स्क्रिप्ट का भी उपयोग कर सकते हैं.
सर्वर मैनेजर में, टूल्स चुनें, और फिर AD FS प्रबंधन चुनें.
सेवा का विस्तार करें.
दाईं ओर के पैनल में, दावा विवरण जोड़ें चुनें.
निम्न मान दर्ज करें:
प्रदर्शन नाम: स्थायी पहचानकर्ता
दावा पहचानकर्ता: urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
इस दावे का विवरण फ़ेडरेशन मेटाडेटा में प्रकाशित करें दोनों का चयन करें... विकल्प.
ठीक चुनें.
विश्वास संबंध> भरोसेमंद पार्टी ट्रस्ट का चयन करें.
आधारी पक्ष विश्वास जोड़ें का चयन करें.
शुरू करें चुनें.
भरोसेमंद पार्टी के बारे में डेटा मैन्युअल रूप से दर्ज करें चुनें और उसके बाद अगला चयन करें.
एक नाम दर्ज करें; उदाहरण के लिए, https://portal.contoso.com/.
अगला चुनें.
AD FS 2.0 प्रोफ़ाइल चुनें और उसके बाद अगला चुनें.
प्रमाण पत्र कॉन्फ़िगर करें पेज पर, अगला चुनें.
SAML 2.0 WebSSO प्रोटोकॉल के लिए समर्थन सक्षम करें चुनें.
रिलायिंग पार्टी SAML 2.0 SSO सेवा URL के अंतर्गत, आपके द्वारा कॉपी किया गया उत्तर URL दर्ज करें. AD FS के लिए वेबसाइट का HTTPS पर चलना आवश्यक है, HTTP पर नहीं.
अगला चुनें.
पहचानकर्ता कॉन्फ़िगर करें पेज पर, अपनी साइट का URL दर्ज करें और फिर जोड़ें चुनें.
ज़रूरत पड़ने पर, आप हर अतिरिक्त भरोसेमंद पार्टी वेबसाइट के लिए अधिक पहचान जोड़ सकते हैं. यूजर किसी को उपलब्ध पहचान को सत्यापित कर सकता है.
अगला चुनें.
अभी एकाधिक प्रमाणीकरण कॉन्फ़िगर करें? पेज पर, मैं इस समय इस भरोसेमंद पार्टी ट्रस्ट के लिए एकाधिक प्रमाणीकरण सेटिंग्स कॉन्फ़िगर नहीं करना चाहता चुनें.
जारीकरण प्राधिकार नियम पेज पर, सभी पक्षों को इस भरोसेमंद पार्टी तक पहुँच की अनुमति दें चुनें, फिर उसके बाद अगला चुनें.
विश्वास सेटिंग्स की समीक्षा करें और फिर अगला चुनें.
बंद करें चुनें.
दावा नियम संपादित करें में, आप जिस ट्रस्ट को संपादित कर रहे हैं और जिस नियम सेट में आप नियम बनाना चाहते हैं, उसके आधार पर निम्नलिखित टैब में से एक का चयन करें:
- स्वीकृति परिवर्तन नियम
- जारी परिवर्तन नियम
- जारी करने के प्राधिकरण नियम
- प्रत्यायोजन प्राधिकरण नियम
नियम जोड़ें चुनें.
दावा नियम टेम्प्लेट सूची में, एक आगामी दावे का रूपान्तरण करें चुनें और फिर अगला चुनें.
निम्न मान दर्ज करें या चयन करें:
दावा नियम नाम: Windows खाता नाम को नाम आईडी में बदलें
आने वाले दावे का प्रकार: Windows खाता नाम
आउटगोइंग दावा प्रकार: नाम आईडी
आउटगोइंग नाम आईडी प्रारूप: स्थायी पहचानकर्ता
सभी दावा मानों से पास करें चुनें.
समाप्त करें का चयन करें और उसके बाद ठीक का चयन करें.
प्रदाता की स्थापना समाप्त करें
आपके द्वारा AD FS भरोसेमंद पार्टी ट्रस्ट स्थापित करने के बाद:
Azure में एक ऐप पंजीकरण बनाएँ.
Power Pagesमें साइट सेटिंग दर्ज करें.
पहचान प्रदाता द्वारा आरंभित साइन-इन
AD FS SAML 2.0 विनिर्देशन की पहचान प्रदाता द्वारा आरंभित सिंगल साइन-ऑन (SSO) प्रोफ़ाइल का समर्थन करता है. सेवा प्रदाता वेबसाइट द्वारा पहचान प्रदाता के SAML अनुरोध का ठीक से प्रत्युत्तर देने के लिए, आपको RelayState
पैरामीटर को एन्कोड करना होगा.
SAML RelayState
पैरामीटर में एनकोड किए जाने वाला मूल स्ट्रिंग मान ReturnUrl=/content/sub-content/
फ़ॉर्मेट में होना चाहिए, जहाँ /content/sub-content/
उस पेज का पथ है, जहाँ आप सेवा प्रदाता वेबसाइट पर जाना चाहते हैं. आप वेबसाइट पर किसी भी मान्य पृष्ठ का पथ निर्दिष्ट कर सकते हैं. स्ट्रिंग मान को एनकोड किया जाता है और इस फॉर्मैट RPID=<URL encoded RPID>&RelayState=<URL encoded RelayState>
के कंटेनर स्ट्रिंग में रखा जाता है. यह पूरी स्ट्रिंग दोबारा एनकोड की जाती है और फॉर्मेट <https://adfs.contoso.com/adfs/ls/idpinitiatedsignon.aspx?RelayState=<URL> encoded RPID/RelayState>
के दूसरे कंटेर में जोड़ी जाती है.
उदाहरण के लिए, सेवा प्रदाता पथ /content/sub-content/
और रिलाइंग पार्टी ID https://portal.contoso.com/
के अनुसार, URL बनाने के लिए इन चरणों का पालन करें:
ReturnUrl=/content/sub-content/
प्राप्त करनेReturnUrl%3D%2Fcontent%2Fsub-content%2F
के लिए मान को एनकोड करेंhttps://portal.contoso.com/
प्राप्त करनेhttps%3A%2F%2Fportal.contoso.com%2F
के लिए मान को एनकोड करेंRPID=https%3A%2F%2Fportal.contoso.com%2F&RelayState=ReturnUrl%3D%2Fcontent%2Fsub-content%2F
प्राप्त करनेRPID%3Dhttps%253A%252F%252Fportal.contoso.com%252F%26RelayState%3DReturnUrl%253D%252Fcontent%252Fsub-content%252F
के लिए मान को एनकोड करेंअंतिम URL
https://adfs.contoso.com/adfs/ls/idpinitiatedsignon.aspx?RelayState=RPID%3Dhttps%253A%252F%252Fportal.contoso.com%252F%26RelayState%3DReturnUrl%253D%252Fcontent%252Fsub-content%252F
पाने हेतु AD FS पहचान प्रदाता द्वारा आरंभित SSO पथ को आरंभ में जोड़ें
URL बनाने के लिए आप नीचे दी गई PowerShell स्क्रिप्ट का उपयोग कर सकते हैं. स्क्रिप्ट को 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
PowerShell का उपयोग करके AD FS कॉन्फ़िगर करें
मैनुअली AD FS में एक रिलाइंग पार्टी ट्रस्ट को जोड़ने के बजाय, आप AD FS सर्वर पर नीचे दी गई PowerShell स्क्रिप्ट को रन कर सकते हैं. स्क्रिप्ट को Add-AdxPortalRelyingPartyTrustForSaml.ps1
नामक फ़ाइल में सहेजें. स्क्रिप्ट निष्पादित होने के बाद, 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
भी देखें
SAML 2.0 प्रदाता स्थापित करें
Microsoft Entra ID के साथ SAML 2.0 प्रदाता सेट अप करें
SAML 2.0 अक्सर पूछे जाने वाले प्रश्न