Megosztás a következőn keresztül:


"401 jogosulatlan" hiba OAuth- és SAML-jogcímek használatakor

Jelenségek

Vegyük például a következő esetet:

  • Olyan biztonsági helyességi jelölőnyelvet (SAML) használó jogcímtípusokat használ, amelyek az Active Directory összevont szolgáltatásokat (AD FS) használják hitelesítésszolgáltatóként a farmban.
  • A Szerepkör vagy a GroupSID jogcím használatával engedélyeket ad a farm Microsoft SharePoint 2013-webhelyeinek felhasználóinak.
  • A farm verziója korábbi, mint a 15.0.4805.1000-es verzió (a 2016. márciusi összegző frissítés).

Ebben a forgatókönyvben azok a felhasználók, akik a szerepkör vagy a GroupSID jogcímtípuson keresztül megfelelő engedélyekkel rendelkeznek, "401 jogosulatlan" hibaüzenetet kapnak, amikor az OAuth hitelesítési módszert használják az alábbi esetekben:

  • Munkafolyamat-kezelő (SharePoint 2013-munkafolyamatok)
  • Webalkalmazás-társ (WAC – Office Web Apps)
  • Magas megbízhatósági vagy alacsony megbízhatósági szintű szolgáltató által üzemeltetett alkalmazások
  • Farmközi szolgáltatásalkalmazások közzététele/felhasználása
  • Hibrid SharePoint 2013/SharePoint Online-forgatókönyvek
  • SharePoint-integráció az Exchange és a Lync 2013/Skype Vállalati verzió

Megoldás

A probléma megoldásához telepítse a Microsoft SharePoint Server 2016. márciusi összegző frissítését a farm összes kiszolgálójára.

A javítás részeként az SPTrustedIdentityTokenIssuer objektumhoz hozzáad egy új tulajdonságot, a GroupClaimType tulajdonságot. Ahhoz, hogy az OAuth megfelelően működjön, ezt a tulajdonságot a megfelelő jogcímtípusra kell állítani azoknak a felhasználóknak, akik a Szerepkör vagy a GroupSID jogcímtípuson keresztül kapnak engedélyeket.

A GroupClaimType tulajdonság beállításához futtassa a következő Windows PowerShell-parancsokat:

#Create a variable containing the SPTrustedIdentityTokenIssuer object  
$issuer = Get-SPTrustedIdentityTokenIssuer  

#Set the GroupClaimType property to the Role claim type, do not run for GroupSID claim type  
$issuer.GroupClaimType = [Microsoft.IdentityModel.Claims.ClaimTypes]::Role   

#Set the GroupClaimType property to the GroupSID claim type, do not run for Role claim type  
$issuer.GroupClaimType = [Microsoft.IdentityModel.Claims.ClaimTypes]::GroupSid  

#Update the SPTrustedIdenityTokenIssuer object to apply the change   
$issuer.Update()   

További információ

Példa hibaüzenet egy sikertelen munkafolyamatból:

RequestorId: <Requestor ID>. Details: System.ApplicationException: HTTP 401 {"error":{"code":"-2147024891, System.UnauthorizedAccessException","message":{"lang":"en-US","value":"Access denied. You do not have permission to perform this action or access this resource."}} } {"Transfer-Encoding":["chunked"],"X-SharePointHealthScore":["0"],"SPRequestGuid":["<SP Request GUID>"],"request-id":["<Request ID>"],"X-FRAME-OPTIONS":["SAMEORIGIN"],"MicrosoftSharePointTeamServices":["15.0.0.4805"],"X-Content-Type-Options":["nosniff"],"X-MS-InvokeApp":["1; RequireReadOnly"],"Cache-Control":["max-age=0, private"],"Date":["Fri, 19 Aug 2016 20:35:30 GMT"],"Server":["Microsoft-IIS\/8.0"],"WWW-Authenticate":["NTLM"],"X-AspNet-Version":["4.0.30319"],"X-Powered-By":["ASP.NET"]} at Microsoft.Activities.Hosting.Runtime.Subroutine.SubroutineChild.Execute(CodeActivityContext context) at System.Activities.CodeActivity.InternalExecute(ActivityInstance instance, ActivityExecutor executor, BookmarkManager bookmarkManager) at System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor executor, BookmarkManager bookmarkManager, Location resultLocation)

Példanapló-bejegyzések az Egyesített naplózási rendszer (ULS) naplójában:

15:54:30.25 w3wp.exe (0x9FCC) 0x5F78 SharePoint Foundation CSOM aii1c Verbose Checking   
SPBasePermissions.Open permission  

15:54:30.25 w3wp.exe (0x9FCC) 0x5F78 SharePoint Foundation Authentication Authorization ajmmu   
Medium Permission check failed. asking for 0x10000, have 0x2000000000 645f0edc-7ec9-44c5-84b7-  
2adfba2f7f92  

15:54:30.25 w3wp.exe (0x9FCC) 0x5F78 SharePoint Foundation CSOM afxwb High  
System.UnauthorizedAccessException: Attempted to perform an unauthorized operation. at   
Microsoft.SharePoint.SPGlobal.HandleUnauthorizedAccessException(UnauthorizedAccessException ex) at   
Microsoft.SharePoint.SPSecurableObject.CheckPermissions(SPBasePermissions permissionMask) at   
Microsoft.SharePoint.Client.SPClientServiceHost.OnBeginRequest() at   
Microsoft.SharePoint.Client.Rest.RestService.ProcessQuery(Stream inputStream, IList`1   
pendingDisposableContainer)  

15:54:30.25 w3wp.exe (0x9FCC) 0x5F78 SharePoint Foundation CSOM agmjp High Original error:  
System.UnauthorizedAccessException: Attempted to perform an unauthorized operation. at   
Microsoft.SharePoint.SPGlobal.HandleUnauthorizedAccessException(UnauthorizedAccessException ex) at   
Microsoft.SharePoint.SPSecurableObject.CheckPermissions(SPBasePermissions permissionMask) at   
Microsoft.SharePoint.Client.SPClientServiceHost.OnBeginRequest() at   
Microsoft.SharePoint.Client.Rest.RestService.ProcessQuery(Stream inputStream, IList`1   
pendingDisposableContainer)   

15:54:30.25 w3wp.exe (0x9FCC) 0x5F78 SharePoint Portal Server Microfeeds aizmo Medium   
SocialRESTExceptionProcessingHandler.DoServerExceptionProcessing - SharePoint Server Exception   
[System.UnauthorizedAccessException: Attempted to perform an unauthorized operation. at   
Microsoft.SharePoint.SPGlobal.HandleUnauthorizedAccessException(UnauthorizedAccessException ex) at   
Microsoft.SharePoint.SPSecurableObject.CheckPermissions(SPBasePermissions permissionMask) at   
Microsoft.SharePoint.Client.SPClientServiceHost.OnBeginRequest() at   
Microsoft.SharePoint.Client.Rest.RestService.ProcessQuery(Stream inputStream, IList`1   
pendingDisposableContainer)] 645f0edc-7ec9-44c5-84b7-2adfba2f7f92  

15:54:30.25 w3wp.exe (0x9FCC) 0x5F78 SharePoint Foundation Claims Authentication af32v Verbose   
Claims Windows Sign-In: Sending 401 for request  
'http://<;servername>;:30079/_vti_bin/client.svc/web/lists/getbyid(guid'<GUID>')' because the request is not from a browser.   

15:54:30.25 w3wp.exe (0x9FCC) 0x5F78 SharePoint Foundation Authentication Authorization alkvd   
Medium Throw UnauthorizedAccessException instead of SPUtilityInternal.Send401 for client.svc request.      

Állapot

A Microsoft megerősítette, hogy probléma lépett fel a SharePoint-farm 2016. márciusi kumulatív frissítésénél korábbi verzióiban (v. 15.0.4805.1000).

Hivatkozások

SharePoint-frissítések

További segítségre van szüksége? Lépjen a SharePoint Közösség oldalra.