Η εντολή Convert-SPWebApplication δεν μπορεί να μετατρέψει από αξιώσεις των Windows σε SAML στον SharePoint Server 2013

Συμπτώματα

Εξετάστε το ακόλουθο σενάριο:

  • Μπορείτε να χρησιμοποιήσετε τον έλεγχο ταυτότητας των Windows-αξιώσεων (μέσω των Windows Challenge/Response [NTLM] ή Kerberos) σε μια εφαρμογή Web του Microsoft SharePoint Server 2013.

  • Αποφασίζετε να μεταβείτε σε αξιόπιστες απαιτήσεις υπηρεσίας παροχής, χρησιμοποιώντας μια υπηρεσία παροχής που βασίζεται σε μια ασφαλή γλώσσα σήμανσης εφαρμογών (SAML), όπως οι υπηρεσίες Ομοσπονδία υπηρεσίας καταλόγου Active Directory (AD FS).

  • Μπορείτε να εξετάσετε τα βήματα της μετεγκατάστασης του ελέγχου ταυτότητας απαιτήσεων των Windows για τον έλεγχο ταυτότητας αξιώσεων που βασίζεται στο SAML στο θέμα SharePoint Server 2013 στην τοποθεσία Web του Microsoft Developer Network (MSDN).

  • Εκτελέστε την ακόλουθη εντολή:

    Convert-SPWebApplication-ID $wa-To CLAIMs-TRUSTED-DEFAULT-from CLAIMs-WINDOWS-TrustedProvider $tp-SourceSkipList $csv-RetainPermissions

Σε αυτό το σενάριο, λαμβάνετε το ακόλουθο μήνυμα σφάλματος:

Ο έλεγχος ταυτότητας με βάση το SAML δεν είναι συμβατός.

Αιτία

Αυτό το πρόβλημα παρουσιάζεται επειδή δεν δημιουργήθηκε ο εκδότης διακριτικού ταυτότητας Trusted, χρησιμοποιώντας την προεπιλεγμένη ρύθμιση παραμέτρων. Η προεπιλεγμένη ρύθμιση παραμέτρων πρέπει να χρησιμοποιηθεί για τη σωστή λειτουργία της εντολής convert-SPWebApplication . Η εντολή convert-SPWebApplication απαιτεί μια συγκεκριμένη ρύθμιση παραμέτρων για την αξιόπιστη υπηρεσία παροχής, ώστε να είναι συμβατή με τη μετατροπή από τις αξιώσεις των Windows στο SAML ή το αντίστροφο. Συγκεκριμένα, ο εκδότης του διακριτικού ταυτότητας Trusted πρέπει να δημιουργηθεί με χρήση των παραμέτρων UseDefaultConfiguration και IdentifierClaimIs . Μπορείτε να επιλέξετε εάν ο εκδότης του διακριτικού ταυτότητας αξιοπιστίας δημιουργήθηκε με χρήση της παραμέτρου UseDefaultConfiguration , εκτελώντας τις ακόλουθες δέσμες ενεργειών του Windows PowerShell.Σημείωση: Αυτές οι δέσμες ενεργειών προϋποθέτουν ότι έχετε μόνο μία αξιόπιστη υπηρεσία παροχής ταυτότητας που έχει δημιουργηθεί μέσα στην τρέχουσα συστοιχία.

$tp = Get-SPTrustedIdentityTokenIssuer$tp.claimtypes 

Οι τύποι αξίωσης που αυτή η δέσμη ενεργειών πρέπει να εξαγάγετε είναι οι εξής:

  • http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname

  • http://schemas.microsoft.com/ws/2008/06/identity/claims/primarysid

  • http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid

  • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress

  • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn

#Get the Identity claim:$tp = Get-SPTrustedIdentityTokenIssuer$tp.IdentityClaimTypeInformation 

Η αξίωση ταυτότητας πρέπει να είναι ένα από τα εξής:

  • WindowAccountName

  • EmailAddress

  • UPN

Παράδειγμα εξόδου για $tp. IdentityClaimTypeInformation: εμφανιζόμενο όνομα: ηλεκτρονικό ταχυδρομείο InputClaimType: http://schemas.xmlsoap.org/WS/2005/05/Identity/claims/emailAddressMappedClaimType: http://schemas.xmlsoap.org/WS/2005/05/Identity/claims/emailAddress#IsIdentityClaim : True θα πρέπει να υπάρχει μια προσαρμοσμένη υπηρεσία παροχής παροχής με το ίδιο όνομα με τον εκδότη διακριτικού και θα πρέπει να είναι του τύπου SPTrustedBackedByActiveDirectoryClaimProvider. Εκτελέστε αυτήν την ενέργεια για να δείτε εάν η υπηρεσία παροχής ισχυρισμών είναι παρούσα και συμβατή:

 $tp = Get-SPTrustedIdentityTokenIssuer$name = $tp.name$cp = Get-SPClaimProvider $nameif($cp.typename -match "SPTrustedBackedByActiveDirectoryClaimProvider"){write-host "Claim provider is present and has TypeName of " $cp.typename " it should be valid"}else{write-host "Claim provider is not present. Trusted Identity Token Issuer" $tp.name " is not compatible with convert-spwebapplication"}

Επίλυση

Για να επιλύσετε αυτό το πρόβλημα, διαγράψτε και, στη συνέχεια, δημιουργήστε ξανά τον εκδότη του αξιόπιστου διακριτικού ταυτότητας. Για να το κάνετε αυτό, ακολουθήστε τα εξής βήματα:

  1. Εκτελέστε την ακόλουθη δέσμη ενεργειών:

    $tp = Get-SPTrustedIdentityTokenIssuer$tp | fl$tp.name$tp.IdentityClaimTypeInformation

    Δημιουργήστε ένα αντίγραφο της εξόδου αυτής της δέσμης ενεργειών για μελλοντική αναφορά. Ειδικότερα, χρειαζόμαστε την τιμή για την ιδιότητα Name, έτσι ώστε να είναι δυνατή η δημιουργία του νέου εκδότη διακριτικού χρησιμοποιώντας το ίδιο όνομα και χρειαζόμαστε την αξίωση ταυτότητας, έτσι ώστε η νέα υπηρεσία παροχής αξιώσεων να μπορεί να δημιουργηθεί χρησιμοποιώντας την ίδια αξίωση ταυτότητας. Εφόσον το ίδιο όνομα χρησιμοποιείται για τον εκδότη διακριτικού και η ίδια αξίωση χρησιμοποιείται ως αξίωση ταυτότητας, όλοι οι χρήστες θα διατηρήσουν τα δικαιώματά τους εντός της εφαρμογής Web μετά την εκ νέου δημιουργία του εκδότη διακριτικού.

  2. Καταργήστε την τρέχουσα αξιόπιστη υπηρεσία παροχής ταυτότητας από τις υπηρεσίες παροχής ελέγχου ταυτότητας για οποιαδήποτε εφαρμογή Web που τη χρησιμοποιεί αυτήν τη στιγμή.

  3. Διαγράψτε τον εκδότη διακριτικού εκτελώντας την ακόλουθη εντολή:

    Remove-SPTrustedIdentityTokenIssuer -Identity "TheNameOfYourTokenIssuer"
  4. Δημιουργήστε ξανά τον εκδότη διακριτικού. Για να το κάνετε αυτό, ακολουθήστε τα βήματα στο θέμα εφαρμογή ελέγχου ταυτότητας που βασίζεται στο SAML στο SharePoint Server 2013 στην τοποθεσία Web του Microsoft TechNet για περισσότερες πληροφορίες.Σημαντικό Όταν εκτελείτε την εντολή New-SPTrustedIdentityTokenIssuer , πρέπει να χρησιμοποιήσετε τις παραμέτρους του UseDefaultConfiguration και του IdentifierClaimIs . Η παράμετρος UseDefaultConfiguration είναι απλώς ένας διακόπτης. Οι πιθανές τιμές για την παράμετρο IdentifierClaimIs είναι οι εξής:

    • ΌΝΟΜΑ ΛΟΓΑΡΙΑΣΜΟΎ

    • ΤΑΧΥΔΡΟΜΕΊΟΥ

    • ΌΝΟΜΑ ΧΡΉΣΤΗ-ΚΎΡΙΟ ΌΝΟΜΑ

    Παράδειγμα δέσμης ενεργειών:

    $ap = New-SPTrustedIdentityTokenIssuer -Name $tokenIdentityProviderName -Description $TrustedIdentityTokenIssuerDescription -realm $siteRealm -ImportTrustCertificate $adfsCert-SignInUrl $signInUrl -UseDefaultConfiguration -IdentifierClaimIs EMAIL -RegisteredIssuerName $siteRealm
  5. Στην κεντρική διαχείριση, προσθέστε ξανά τον νέο αξιόπιστο εκδότη διακριτικού ταυτότητας στις υπηρεσίες παροχής ελέγχου ταυτότητας για την εφαρμογή Web που προσπαθείτε να μετατρέψετε. Η εφαρμογή Web πρέπει να έχει τόσο τον έλεγχο ταυτότητας των Windows όσο και την υπηρεσία παροχής αξιόπιστων ταυτοτήτων προορισμού που έχει επιλεγεί.

Περισσότερες πληροφορίες

Πρόσθετες συμβουλές για την επιτυχή μετατροπή: Εάν η τιμή ηλεκτρονικού ταχυδρομείου χρησιμοποιείται για την αξίωση αναγνωριστικού (δηλαδή, για την παράμετρο IdentifierClaimIs ), μόνο οι χρήστες των οποίων οι διευθύνσεις ηλεκτρονικού ταχυδρομείου συμπληρώνονται στην υπηρεσία καταλόγου Active Directory θα μετατραπούν. Όλοι οι λογαριασμοί χρηστών που παρατίθενται στο αρχείο. csv που ορίζεται στην παράμετρο SourceSkipList δεν θα μετατραπούν σε SAML. Για τη μετατροπή από τις αξιώσεις των Windows στο SAML, τα ονόματα λογαριασμών χρηστών μπορούν να παρατίθενται με ή χωρίς τη σημειογραφία αξιώσεων. Για παράδειγμα, το "contoso\user1" ή "i:0 #. w | contoso\user1" είναι αποδεκτό. Θα πρέπει να προσθέσετε σε αυτό το αρχείο. csv όλους τους λογαριασμούς χρηστών που δεν θέλετε να μετατραπούν. Θα πρέπει να περιλαμβάνουν λογαριασμούς υπηρεσίας και λογαριασμούς διαχειριστή.

Χρειάζεστε περισσότερη βοήθεια;

Αναπτύξτε τις δεξιότητές σας
Εξερευνήστε το περιεχόμενο της εκπαίδευσης
Αποκτήστε πρώτοι τις νέες δυνατότητες
Συμμετοχή στο Microsoft Insider

Σας βοήθησαν αυτές οι πληροφορίες;

Σας ευχαριστούμε για τα σχόλιά σας!

Σας ευχαριστούμε για τα σχόλιά σας! Φαίνεται ότι μπορεί να είναι χρήσιμο να συνδεθείτε με έναν από τους συνεργάτες υποστήριξης του Office.

×