Ρύθμιση υπηρεσίας παροχής SAML 2.0 για AD FS
Το Active Directory Federation Services (AD FS) είναι μία από τις υπηρεσίες παροχής ταυτότητας SAML 2.0 που μπορείτε να χρησιμοποιήσετε για τον έλεγχο ταυτότητας επισκεπτών στην τοποθεσία Power Pages σας. Μπορείτε να χρησιμοποιήσετε οποιαδήποτε υπηρεσία παροχής που επιβεβαιώνει στις προδιαγραφές του SAML 2.0.
Αυτό το άρθρο περιγράφει τα παρακάτω βήματα:
- Ρύθμιση AD FS στο Power Pages
- Δημιουργία ομάδων αποδεκτών AD FS
- Ολοκληρώστε τη ρύθμιση της υπηρεσίας παροχής
Σημαντικό
Τα βήματα για τη ρύθμιση του AD FS ενδέχεται να διαφέρουν ανάλογα με την έκδοση του διακομιστή AD FS.
Ρύθμιση AD FS στο Power Pages
Ρύθμιση του AD FS ως υπηρεσία παροχής ταυτότητας για την τοποθεσία σας.
Στην τοποθεσία σας Power Pages, επιλέξτε Ασφάλεια>Υπηρεσίες παροχής ταυτότητας.
Εάν δεν εμφανίζονται υπηρεσίες παροχής ταυτότητας, βεβαιωθείτε ότι η επιλογή Εξωτερική σύνδεση έχει οριστεί σε Ενεργό στις γενικές ρυθμίσεις ελέγχου ταυτότητας της τοποθεσίας σας.
Επιλέξτε + Νέα υπηρεσία παροχής.
Στην περιοχή Επιλογή Υπηρεσίας παροχής σύνδεσης επιλέξτε Άλλο.
Στο Πρωτόκολλο επιλέξτε SAML 2.0.
Πληκτρολογήστε ένα όνομα για τον πάροχο.
Το όνομα της υπηρεσίας παροχής είναι το κείμενο στο κουμπί που βλέπουν οι χρήστες όταν επιλέγουν τον πάροχο ταυτότητάς τους στη σελίδα σύνδεσης.
Επιλέξτε Επόμενο.
Στην περιοχή Διεύθυνση URL απάντησης, επιλέξτε Αντιγραφή.
Μην κλείσετε την καρτέλα του προγράμματος περιήγησης Power Pages. Θα επιστρέψετε σύντομα σε αυτό.
Δημιουργία ομάδων αποδεκτών AD FS
Μπορείτε επίσης να χρησιμοποιήσετε μια δέσμη ενεργειών PowerShell για να εκτελέσετε αυτά τα βήματα.
Στο Server Manager, επιλέξτε Εργαλεία και, στη συνέχεια, επιλέξτε Διαχείριση 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 απαιτεί η τοποθεσία web να εκτελείται σε HTTPS, όχι σε HTTP.
Επιλέξτε Επόμενο.
Στη σελίδα Ρύθμιση παραμέτρων αναγνωριστικών , πληκτρολογήστε τη διεύθυνση URL της τοποθεσίας σας και, στη συνέχεια, επιλέξτε Προσθήκη.
Μπορούν να προστεθούν περισσότερες ταυτότητες για κάθε επιπλέον τοποθεσία web αποδέκτη, εφόσον χρειάζεται. Οι χρήστες μπορούν να πραγματοποιήσουν έλεγχο ταυτότητας χρησιμοποιώντας οποιεσδήποτε διαθέσιμες ταυτότητες.
Επιλέξτε Επόμενο.
Στη σελίδα ρύθμιση παραμέτρων του ελέγχου ταυτότητας πολλών παραγόντων τώρα; επιλέξτε Δεν θέλω να ρυθμίσω τις παραμέτρους ελέγχου ταυτότητας πολλών παραγόντων για αυτόν τον αποδέκτη αυτή τη στιγμή.
Στη σελίδα Επιλογή κανόνων εξουσιοδότησης έκδοσης, επιλέξτε Να επιτρέπεται σε όλους τους χρήστες η πρόσβαση σε αυτό τον αποδέκτη και, στη συνέχεια, επιλέξτε Επόμενο.
Δείτε τις ρυθμίσεις αξιοπιστίας και έπειτα επιλέξτε Επόμενο.
Επιλέξτε Κλείσιμο.
Στην περιοχή Επεξεργασία κανόνων απαίτησης, επιλέξτε μία από τις παρακάτω καρτέλες, ανάλογα με την αξιοπιστία που επεξεργάζεστε και το σύνολο κανόνων στο οποίο θέλετε να δημιουργήσετε τον κανόνα:
- Κανόνες μετασχηματισμού αποδοχής
- Κανόνες μετασχηματισμού έκδοσης
- Κανόνες εξουσιοδότησης έκδοσης
- Κανόνες εξουσιοδότησης ανάθεσης
Επιλέξτε Προσθήκη κανόνα.
Στη λίστα προτύπων κανόνων απαίτησης , επιλέξτε Μετασχηματισμός μιας εισερχόμενης απαίτησης και στη συνέχεια, επιλέξτε Επόμενο.
Πληκτρολογήστε ή επιλέξτε τις παρακάτω τιμές:
Όνομα κανόνα απαίτησης: Μετασχηματισμός ονόματος λογαριασμού Windows σε αναγνωριστικό ονόματος
Τύπος εισερχόμενης δήλωσης: Όνομα λογαριασμού Windows
Τύπος εξερχόμενης δήλωσης: Αναγνωριστικό ονόματος
Μορφή εξερχόμενου αναγνωριστικού ονόματος: Μόνιμο αναγνωριστικό
Επιλέξτε Διέρχεται από όλες τις τιμές δήλωσης.
Επιλέξτε Τέλος και, στη συνέχεια, επιλέξτε ΟΚ.
Ολοκληρώστε τη ρύθμιση της υπηρεσίας παροχής
Αφού ρυθμίσετε τους αποδέκτες AD FS:
Είσοδος που ξεκινά από την υπηρεσία παροχής ταυτότητας
Το AD FS υποστηρίζει το προφίλ για την καθολική σύνδεση που ξεκίνησε από την υπηρεσία παροχής ταυτότητας (SSO) της SAML 2.0 προδιαγραφής. Για να ανταποκριθεί σωστά η τοποθεσία web της υπηρεσίας παροχής υπηρεσιών στο αίτημα SAML της υπηρεσίας παροχής ταυτότητας, πρέπει να κωδικοποιήσετε την παράμετρο RelayState
.
Η βασική τιμή συμβολοσειράς που πρέπει να κωδικοποιηθεί στην παράμετρο SAML RelayState
πρέπει να έχει τη μορφή ReturnUrl=/content/sub-content/
, όπου /content/sub-content/
είναι η διαδρομή προς τη σελίδα στην οποία θέλετε να μεταβείτε στην τοποθεσία web της παροχής υπηρεσίας. Μπορείτε να καθορίσετε τη διαδρομή σε οποιαδήποτε έγκυρη σελίδα στην τοποθεσία Web. Η τιμή της συμβολοσειράς κωδικοποιείται και τοποθετείται σε μια συμβολοσειρά κοντέινερ με τη μορφή RPID=<URL encoded RPID>&RelayState=<URL encoded RelayState>
. Ολόκληρη η συμβολοσειρά κωδικοποιείται και πάλι και προστίθεται σε άλλο κοντέινερ της μορφής <https://adfs.contoso.com/adfs/ls/idpinitiatedsignon.aspx?RelayState=<URL> encoded RPID/RelayState>
.
Για παράδειγμα, με τη διαδρομή παροχέα υπηρεσίας /content/sub-content/
και το αναγνωριστικό αποδέκτη 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
Προσαρτήστε τη διαδρομή SSO που ξεκίνησε ap;o ton p;aroxo tyat;othtaw AD FS για να λάβετε την τελική die;yuynsh 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
Μπορείτε να χρησιμοποιήσετε την ακόλουθη δέσμη ενεργειών PowerShell για να δημιουργήσετε τη διεύθυνση URL. Αποθηκεύστε τη δέσμη ενεργειών σε ένα αρχείο με όνομα 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 χρησιμοποιώντας το PowerShell
Αντί να προσθέσετε με μη αυτόματο τρόπο έναν αποδέκτη στο AD FS, μπορείτε να εκτελέσετε την ακόλουθη δέσμη ενεργειών PowerShell στο διακομιστή AD FS. Αποθηκεύστε τη δέσμη ενεργειών σε ένα αρχείο με όνομα 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
Ρύθμιση υπηρεσίας παροχής SAML 2.0 με το Microsoft Entra ID
Συνήθεις ερωτήσεις για το SAML 2.0