Simptomai
Apsvarstykite šį scenarijų:
-
Naudojate "Windows" pretenzijų autentifikavimą ("Windows Challenge"/"Response" [NTLM] arba Kerberos) "Microsoft SharePoint Server" 2013 žiniatinklio taikomojoje programoje.
-
Nusprendžiate pereiti į patikimų teikėjo pretenzijas naudodami saugią programos aprašų kalbą (SAML) pagrįstą teikėją, pvz., "Active Directory" susiejimo tarnybą (AD FS).
-
Peržiūrėkite veiksmus, pateiktus " Windows" pretenzijų autentifikavimo autentifikavimas su SAML pagrįstų pretenzijų autentifikavimu "SharePoint Server 2013 " temoje "Microsoft Developer Network" (MSDN) svetainėje.
-
Vykdote šią komandą:
Konvertavimas – SPWebApplication-ID $wa-to PRETENZIJOMS – patikimi – NUMATYTOJI – nuo pretenzijų – WINDOWS – TrustedProvider $tp – SourceSkipList $csv – teisės
Tokiu atveju gaunate šį klaidos pranešimą:
SAML pagrįsto reikalavimo autentifikavimas nesuderinamas.
Priežastis
Ši problema kyla dėl to, kad patikimo tapatybės atpažinimo ženklo išdavėjas nebuvo sukurtas naudojant numatytąjį konfigūravimą. Numatytoji konfigūracija turi būti naudojama komandai konvertuoti – SPWebApplication , kad ji veiktų tinkamai. Komanda konvertuoti – SPWebApplication reikalauja konkrečios konfigūracijos patikimam teikėjui, kad jis būtų suderinamas su konvertavimu iš "Windows" reikalavimų į SAML arba atvirkščiai. Tiksliau sakant, patikimo tapatybės atpažinimo ženklo išdavėjas turi būti sukurtas naudojant Usedefaultconfiguration ir Identifierclaimis parametrus. Vykdydami šiuos "Windows PowerShell" scenarijus, galite patikrinti, ar jūsų patikimo tapatybės atpažinimo ženklo išdavėjas buvo sukurtas naudojant parametrą Usedefaultconfiguration .Pastaba. Šie scenarijai daro prielaidą, kad turite tik vieną patikimą tapatybės teikėją, sukurtą dabartiniame ūkyje.
$tp = Get-SPTrustedIdentityTokenIssuer$tp.claimtypes
Šiame scenarijuje turėtų būti pateikti ieškinio tipai:
-
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
Tapatybės reikalavimas turi būti vienas iš šių:
-
WindowAccountName
-
EmailAddress
-
UPN
$Tp išvesties pavyzdys. IdentityClaimTypeInformation: DisplayName: elektroninio pašto InputClaimType: http://schemas.xmlsoap.org/WS/2005/05/Identity/Claims/EmailAddressmappedclaimtype: http://schemas.xmlsoap.org/WS/2005/05/Identity/Claims/EmailAddress#IsIdentityClaim : teisinga turi būti pasirinktinio reikalavimo teikėjo su tuo pačiu pavadinimu kaip atpažinimo ženklo išdavėjas, ir jis turi būti tipo Sptrustedbackedbyactivedirectoryclaimprovider. Paleiskite ir Sužinokite, ar reikalavimų teikėjas yra ir suderinamas:
$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"}
Sprendimas
Norėdami išspręsti šią problemą, panaikinkite ir iš naujo sukurkite patikimo tapatybės atpažinimo ženklo išdavėjas. Norėdami tai atlikti, vykdykite toliau nurodytus veiksmus.
-
Paleiskite šį scenarijų:
$tp = Get-SPTrustedIdentityTokenIssuer$tp | fl$tp.name$tp.IdentityClaimTypeInformation
Pateikti šio scenarijaus išvesties kopiją ateičiai. Visų pirma reikia pavadinimo ypatybės reikšmės, kad naujas atpažinimo ženklo emitentas būtų sukurtas naudojant tą patį pavadinimą, o mes turime tapatybės reikalavimą, kad naująjį pretenzijų teikėją būtų galima sukurti naudojant tą patį tapatybės reikalavimą. Tol, kol atpažinimo ženklo išdavėjui naudojamas tas pats pavadinimas ir tas pats reikalavimas naudojamas kaip tapatybės reikalavimas, visi vartotojai išlaikys savo teises žiniatinklio taikomojoje programoje po to, kai atpažinimo ženklų emitentas bus sukurtas iš naujo.
-
Pašalinkite dabartinį patikimą tapatybės teikėją iš autentifikavimo teikėjų bet kurioje žiniatinklio taikomojoje programoje, kuri šiuo metu naudoja.
-
Panaikinkite atpažinimo ženklo išdavėjas vykdydami šią komandą:
Remove-SPTrustedIdentityTokenIssuer -Identity "TheNameOfYourTokenIssuer"
-
Iš naujo sukurkite atpažinimo ženklo išdavėjas. Norėdami tai atlikti, atlikite veiksmus, pateiktus " SharePoint Server 2013 " temoje "Microsoft TechNet" svetainėje, kad būtų pateikta daugiau informacijos.Svarbu. Kai vykdote komandą New-Sptrustedidentitytokenemitentas , turite naudoti Usedefaultconfiguration ir identifierclaimis parametrus. Parametras Usedefaultconfiguration yra tik jungiklis. Galimos parametro Identifierclaimis reikšmės yra tokios:
-
PASKYROS PAVADINIMAS
-
EL
-
VARTOTOJO PAGRINDINIS VARDAS
Scenarijaus pavyzdys:
$ap = New-SPTrustedIdentityTokenIssuer -Name $tokenIdentityProviderName -Description $TrustedIdentityTokenIssuerDescription -realm $siteRealm -ImportTrustCertificate $adfsCert-SignInUrl $signInUrl -UseDefaultConfiguration -IdentifierClaimIs EMAIL -RegisteredIssuerName $siteRealm
-
-
Centriniame administravime įtraukite naują patikimą tapatybės atpažinimo ženklų emitentą į žiniatinklio taikomosios programos, kurią bandote konvertuoti, autentifikavimo teikėjus. Žiniatinklio taikomoji programa turi turėti " Windows" autentifikavimą ir pažymėtą paskirties patikimų tapatybės teikėją.
Daugiau informacijos
Papildomi patarimai, kaip sėkmingai konvertuoti: jei el. pašto reikšmė naudojama identifikatoriaus reikalavimui (t. y. parametro Identifierclaimis ), tik tie vartotojai, kurių el. pašto adresai yra apgyvendinti "Active Directory", bus konvertuoti. Visos vartotojų paskyros, kurios yra nurodytos. CSV faile, apibrėžtame parametre Sourceskiplist , nebus konvertuojamos į SAML. Jei norite konvertuoti "Windows" reikalavimus į "SAML", vartotojo abonementų vardai gali būti pateikiami su arba be pretenzijų žymėjimo. Pvz., "contoso\user1" arba "i:0 #. w | contoso\user1" yra priimtinas. Į tą. csv failą turėtumėte įtraukti visas vartotojų paskyras, kurių nenorite konvertuoti. Juose turėtų būti tarnybų abonementai ir administratoriaus paskyros.