Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Jelenségek
Gondolja át a következő forgatókönyvet: Olyan meglévő, üzembe helyezett, szolgáltató által üzemeltetett bővítményekkel (PHA) rendelkezik, amelyek regisztrálva RegisteredIssuerName
vannak, és tartalmazzák a SharePoint 2013- vagy SharePoint 2016-farm eredeti farmértékétRealmID
, és/vagy létrehozott egy Munkafolyamat-kezelő társításokat a farmban.
Ebben a forgatókönyvben, ha a SharePoint hibrid funkcióinak farmon való konfigurálása után fér hozzá ezekhez a phA-khoz, a phA-k működése leáll. Emellett HTTP 401-hibaüzenetet kap, amikor a bővítményekhez irányítja a rendszer.
Megjegyzés:
A phA-k tartalmazhatnak külsőleg üzemeltetett webalkalmazást, szolgáltatást, adatbázist vagy SharePoint-összetevőt. Ez a probléma nem létezik, ha először hibrid funkciókat konfigurál, majd a szolgáltató által üzemeltetett bővítményeket és/vagy Munkafolyamat-kezelő helyez üzembe egy SharePoint 2013- vagy SharePoint 2016-farmon.
A probléma oka
A SharePoint hibrid funkcióinak konfigurálása a SharePoint 2013-hoz vagy a SharePoint 2016-hoz megszakítja a hibrid szolgáltatások konfigurálása előtt létrehozott kiszolgálók közötti (S2S) megbízhatósági kapcsolatot. Amikor S2S-megbízhatósági kapcsolatot próbál létrehozni a Cloud SSA beszállási szkriptjével vagy a Hibridfunkció-választóval, a helyszíni farm hitelesítési tartománya frissül a Microsoft 365-bérlő környezeti azonosítójának megfelelően. A szkript a Set-SPAuthenticationRealm parancsmaggal állítja be a hitelesítési tartományt. A hitelesítési tartomány módosítása után a meglévő SharePoint-bővítmények hitelesítése sikertelen.
Ez a hitelesítési hiba azért fordul elő, mert a szolgáltató által üzemeltetett bővítmények hogyan férhetnek hozzá a SharePointhoz. A SharePoint-bővítmények az érték használatával IssuerId
vannak társítvaSPTrustedSecurityTokenIssuers
. Kérésre egy bővítmény megkísérli lekérni a jogkivonatot a Secure Token Service kiállítójától (STS). A tokenkibocsátók a hitelesítési tartományhoz vannak kötve. A tartomány módosítása után a SharePoint-bővítmények már nem tudnak sikeresen hitelesíteni. A farmban továbbra is létezik az a megbízható jogkivonat-kibocsátó, amely a megfelelő kiállítóazonosítóval rendelkezik. Azonban az előző hitelesítési tartományhoz van társítva. A tényleges RegisteredIssuerName
érték , IssuerId@OldAuthRealmGuid
amelyben az oldAuthRealmGuid
érték már nem egyezik az aktuális AuthRealmGuid
értékkel. A bővítmény hitelesítése sikertelen, mert az STS nem talál egyező jogkivonat-kibocsátót.
A rendszer az alábbi hibaüzenetet naplózza az ULS-naplókba, és egyértelműen jelzi, hogy a jogkivonat kiállítója már nem megbízható, mert az RealmID
értéke már nem egyezik a farméval:
SPApplicationAuthenticationModule: Nem sikerült hitelesíteni a kérést, ismeretlen hiba. Kivétel részletei: System.IdenitytModel.Tokens.SecurityTokenException: A jogkivonat problémái nem megbízható kiállítók.
Megoldás
Ha a hibridet konfigurálja, a módosul, RealmID
hogy megfeleljen az Office365-előfizetés bérlőazonosítójának. Ez azt eredményezi, hogy a bővítmények működése leáll, ahogy azt a "Tünetek" szakaszban ismertetik. A SharePoint-bővítmény funkcióinak visszaállításához regisztrálja a szolgáltató által üzemeltetett bővítményeket az RegisteredIssuerName
új tartományazonosítót tartalmazó érték használatával. Ezután alkalmazza újra a bővítményengedélyeket az egyes bővítménypéldányokhoz.
A szolgáltató által üzemeltetett bővítményekkel és hibrid funkciókkal kapcsolatos, hitelesítéssel kapcsolatos problémák elhárításához kövesse az alábbi lépéseket:
Futtassa a következő szkriptet a webalkalmazásban üzembe helyezett összes alkalmazáspéldány felderítéséhez:
A következő szkriptben cserélje le a elemet {0} a webalkalmazásra. A szkript kimenete az alkalmazás címe, az alkalmazás ügyfél-azonosítója és a szolgáltató által üzemeltetett bővítmények célwebhelye. Ezek az értékek a 3. lépésben bemenetként lesznek felhasználva.
Add-PsSnapin Microsoft.SharePoint.PowerShell Add-PsSnapin Microsoft.SharePoint.PowerShell $webApp = Get-SPWebApplication "{0}" foreach($site in $webApp.Sites){ foreach($web in $site.AllWebs) { $appInstance = Get-SPAppInstance -Web $web.Url | ? {$_.LaunchUrl -notlike "~appWebUrl*"} | select Title, AppPrincipalId if($appInstance -ne $null) { foreach ($instance in $appInstance) { $tmp = $instance.AppPrincipalId.Split('|@',[System.StringSplitOptions]::RemoveEmptyEntries) $appInfo = $instance.Title + " - " + $tmp[$tmp.Count - 2] + " - " + $web.Url Write-Output $appInfo } } } }
Frissítse az SPTrustedSecurityTokenIssuers parancsprogramot a következő szkripttel:
$NewRealm = Get-SPAuthenticationRealm $sts = Get-SPTrustedSecurityTokenIssuer | ? {$_.Name -ne 'EvoSTS-Trust' -and $_.Name -ne 'ACS_STS'} | Select RegisteredIssuerName $realm = $sts | ?{$_.RegisteredIssuerName -ne $null} | %{$($($_.RegisteredIssuerName).toString().split('@',2)[1]).toString()} | ?{$_ -ne '*' -and $_ -ne $newRealm} if($Realm.count -gt 0) { $TempRealm = '*@$($NewRealm)' $Issuers = Get-SPTrustedSecurityTokenIssuer | ?{$_.Name -ne 'EvoSTS-Trust' -and $_.Name -ne 'ACS_STS' -and $_.RegisteredIssuerName -ne $null -and $_.RegisteredIssuerName -notlike '*@`*' -and $_.RegisteredIssuerName -notlike $TempRealm} $Guid = [guid]::NewGuid() foreach ($Issuer in $Issuers) { $NameCopy = $Issuer.Name $NewIssuerName = $Guid $IssuerCertificate = $Issuer.SigningCertificate $OldRegisteredIssuerID = $Issuer.RegisteredIssuerName $IssuerID = $OldRegisteredIssuerID.Split('@')[0] $NewRegisteredIssuerName = $IssuerID + '@' + $NewRealm $NewIssuer = New-SPTrustedSecurityTokenIssuer -Name $NewIssuerName -Certificate $IssuerCertificate -RegisteredIssuerName $NewRegisteredIssuerName -IsTrustBroker Remove-SPTrustedSecurityTokenIssuer $Issuer -Confirm:$false $NewIssuer.Name = $NameCopy $NewIssuer.Update() } }
Javítsa ki az 1. lépésben talált összes szolgáltató által üzemeltetett bővítményt a következő szkript futtatásával:
A szkriptben cserélje le {0}a és {2}{1} a értéket az 1. lépésben beszerzett értékekre.
$appTitle = '{0}' $clientID = '{1}' $targetWeb = Get-SPWeb '{2}' $Scope = 'Site' $Right = 'Full Control' $authRealm = Get-SPAuthenticationRealm -ServiceContext $targetWeb.Site $AppIdentifier = $clientID + '@' + $authRealm Register-SPAppPrincipal -NameIdentifier $AppIdentifier -Site $targetWeb -DisplayName $appTitle $appPrincipal = Get-SPAppPrincipal -Site $targetWeb -NameIdentifier $AppIdentifier Set-SPAppPrincipalPermission -Site $targetWeb -AppPrincipal $appPrincipal -Scope $Scope -Right $Right
A Munkafolyamat-kezelő hitelesítési tartományának frissítéséhez futtassa a következő parancsmagot:
$workflowproxy = Get-SPWorkflowServiceApplicationProxy $webapp = get-spwebapplication if ($webapp) { $webappurl = $webapp[0].url $Site=get-spsite $webappurl if ($site) { $workflowaddress = $workflowproxy.GetWorkflowServiceAddress($site) $workflowscopename = $workflowproxy.GetWorkflowScopeName($site) $TrimScope = '/'+$workflowscopename+'/' $wfmaddress = $workflowaddress.TrimEnd($Trimscope) } } $workflowproxy.delete() Register-SPWorkflowService -SPSite $Site -WorkflowHostUri $wfmaddress -Force
Ha a hibrid szolgáltatások konfigurálása előtt farmok közötti megbízhatósági forgatókönyveket helyezett üzembe, a következő TechNet-témakörökben szereplő módszerekkel manuálisan oldhatja meg a forgatókönyveket:
További információ
Ha olyan hibrid számítási feladatokat konfigurál, amelyek s2S-t igényelnek a szolgáltató által üzemeltetett bővítmények vagy Munkafolyamat-kezelő implementálása előtt, a bővítmények a parancsmag frissítése után SPAuthenticationRealm
lesznek regisztrálva a Microsoft 365-bérlő környezeti azonosítójának megfelelően. Mindig működni fognak, mert a RealmID értéke nem változik újra. Hibrid számítási feladatok hozzáadása vagy újrakonfigurálása esetén a tartományazonosító ugyanaz marad, mint a Microsoft 365-bérlő környezeti azonosítója.
A helyszíni SharePoint-környezet és a Microsoft 365 közötti megbízhatósági kapcsolat létrehozásához futtassa a Set-SPAuthenticationRealm parancsot.
Fontos
A témakör tartalmaz egy "Figyelmeztetés" szakaszt, amely arra figyelmeztet, hogy az adott tartományhoz létrehozott hozzáférési jogkivonatok nem fognak működni az SPAuthenticationRealm
érték módosítása után.
SharePoint-szolgáltató által üzemeltetett bővítmények létrehozásához lásd: A szolgáltató által üzemeltetett SharePoint-bővítmények létrehozásának első lépései.
További segítségre van szüksége? Lépjen a SharePoint Közösség oldalra.