Ρύθμιση παραμέτρων του παροχέα SAML 2.0 για πύλες με AD FS
Σημείωση
Από τις 12 Οκτωβρίου 2022, οι πύλες του Power Apps είναι Power Pages. Περισσότερες πληροφορίες: Το Microsoft Power Pages είναι πλέον γενικά διαθέσιμο (ιστολόγιο)
Σύντομα θα μετεγκαταστήσουμε και θα συγχωνεύσουμε την τεκμηρίωση των πυλών Power Apps με την τεκμηρίωση Power Pages.
Σημαντικό
Τα βήματα για τη ρύθμιση παραμέτρων του Active Directory Federation Services (AD FS) μπορεί να διαφέρουν ανάλογα με την έκδοση του διακομιστή AD FS.
Δημιουργία ομάδων αποδεκτών AD FS
Σημείωση
Ανατρέξτε στην ενότητα Ρύθμιση παραμέτρων AD FS χρησιμοποιώντας το PowerShell για πληροφορίες σχετικά με το πώς μπορείτε να εκτελέσετε αυτά τα βήματα σε μια δέσμη ενεργειών PowerShell.
Χρησιμοποιώντας το εργαλείο διαχείρισης AD FS, επιλέξτεΥπηρεσία > Περιγραφές αξίωσης.
Επιλέξτε Προσθήκη περιγραφής αξίωσης.
Καθορίστε την αξίωση:
Εμφανιζόμενο όνομα:Μόνιμο αναγνωριστικό
Αναγνωριστικό αξίωσης:urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
Ενεργοποιήστε το πλαίσιο ελέγχου για: Δημοσίευση αυτής της περιγραφής αξίωσης σε μετα-δεδομένα ομοσπονδίας ως τύπο αξίωσης που μπορεί να αποδεχτεί αυτή η υπηρεσία ομοσπονδίας
Ενεργοποιήστε το πλαίσιο ελέγχου για: Δημοσίευση αυτής της περιγραφής αξίωσης σε μετα-δεδομένα ομοσπονδίας ως τύπο αξίωσης που μπορεί να στείλει αυτή η υπηρεσία ομοσπονδίας
Επιλέξτε OK.
Χρησιμοποιώντας το εργαλείο διαχείρισης AD FS, επιλέξτεΣχέσεις αξιοπιστίας >Ομάδες αποδεκτών.
Κάντε κλικ στο κουμπί Προσθήκη ομάδων αποδεκτών.
Υποδοχή: Επιλέξτε Έναρξη.
Επιλογή προέλευσης δεδομένων: Επιλέξτε Μη αυτόματη εισαγωγή δεδομένων σχετικά με τον αποδέκτη, κάντε κλικ στο κουμπί Επόμενο.
Καθορίστε το εμφανιζόμενο όνομα: Εισαγάγετε ένα όνομα και κάντε κλικ στο κουμπί Επόμενο. Παράδειγμα: https://portal.contoso.com/
Επιλέξτε προφίλ: Επιλέξτε AD FS 2.0 προφίλ, και, στη συνέχεια, επιλέξτε Επόμενο.
Ρύθμιση παραμέτρων πιστοποιητικού: Κάντε κλικ στο κουμπί Επόμενο
Ρύθμιση παραμέτρων URL: Επιλέξτε Ενεργοποίηση υποστήριξης για το πρωτόκολλο SAML 2.0 WebSSO. Διεύθυνση URL υπηρεσίας αποδέκτη SAML 2.0 SSO: Πληκτρολογήστε https://portal.contoso.com/signin-saml2
Σημειώστε το AD FS απαιτεί η πύλη να εκτελείται σε HTTPS.Σημείωση
Το τελικό σημείο που προκύπτει έχει τις ακόλουθες ρυθμίσεις:
- Τύπος τελικού σημείου:Τελικά σημεία SAML Assertion Consume
- Σύνδεση:POST
- Ευρετήριο: δ/ι (0)
- URL: https://portal.contoso.com/signin-saml2
Ρυθμίστε τις ταυτότητες: Εισέλθετε στο
https://portal.contoso.com/
, επιλέξτε Πρόσθετο, και, στη συνέχεια, επιλέξτε Επόμενο. Εάν ισχύει, μπορούν να προστεθούν περισσότερες ταυτότητες για κάθε επιπλέον πύλη αποδέκτη. Οι χρήστες μπορούν να πραγματοποιήσουν έλεγχο ταυτότητας σε οποιαδήποτε ή σε όλες τις διαθέσιμες ταυτότητες.Επιλογή κανόνων εξουσιοδότησης έκδοσης: Επιλέξτε Να επιτρέπεται σε όλους τους χρήστες να έχουν πρόσβαση σε αυτόν τον αποδέκτη, πατήστε Επόμενο.
Έτοιμο για προσθήκη ομάδας: Κάντε κλικ στο κουμπί Επόμενο.
Επιλέξτε Κλείσιμο.
Προσθέστε τη δήλωση Αναγνωριστικό ονόματος στην ομάδα αποδέκτη:
Αλλάξτε το όνομα λογαριασμούWindows σε δήλωσηΑναγνωριστικό ονόματος (μετασχηματισμός εισερχόμενης δήλωσης):
Τύπος εισερχόμενης δήλωσης:Windows όνομα λογαριασμού
Τύπος εξερχόμενης δήλωσης: Αναγνωριστικό ονόματος
Μορφή εξερχόμενου αναγνωριστικού ονόματος: Μόνιμο αναγνωριστικό
Διέρχεται από όλες τις τιμές δήλωσης
Ρύθμιση παραμέτρων της υπηρεσίας παροχής SAML 2.0
Μετά τη ρύθμιση της ομάδας αποδεκτών AD FS, μπορείτε να ακολουθήσετε τα βήματα στη Ρύθμιση παραμέτρων της υπηρεσίας παροχής SAML 2.0 για πύλες.
Είσοδος που ξεκινά από την–υπηρεσία παροχής ταυτότητας
Το AD FS υποστηρίζει την καθολική σύνδεση–που ξεκίνησε από την υπηρεσία παροχής ταυτότητας (SSO) της SAML 2.0 προδιαγραφής. Προκειμένου η πύλη (SP) να ανταποκριθεί σωστά στο αίτημα του 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/
και το αναγνωριστικό αποδέκτη 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–που ξεκίνησε το ADFS IdP για να λάβετε την τελική 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 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 χρησιμοποιώντας το PowerShell
Η διαδικασία προσθήκης μιας ομάδας αξιοπιστίας στο 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 για πύλες.
Δείτε επίσης
Ρύθμιση παραμέτρων του παρόχου SAML 2.0 για πύλες με το Azure AD
Συνήθεις ερωτήσεις για τη χρήση του SAML 2.0 σε πύλες
Ρύθμιση παραμέτρων για ρυθμίσεις υπηρεσίας παροχής SAML 2.0 για πύλες
Σημείωση
Μπορείτε να μας πείτε ποια γλώσσα προτιμάτε για την τεκμηρίωση; Πάρτε μέρος σε μια σύντομη έρευνα. (σημειώνεται ότι αυτή η έρευνα είναι στα Αγγλικά)
Η έρευνα θα διαρκέσει περίπου επτά λεπτά. Δεν συλλέγονται προσωπικά δεδομένα (δήλωση προστασίας προσωπικών δεδομένων).