Kerberos setup for SharePoint 2013
If using Kerberos then the following needs configuring (this is similar to how it is done for SP2010).
Note: The authentication method for Web Applications must be Claims (the default) if you want to support all SharePoint App scenarios. Classic Windows authentication is not supported (in SharePoint 2013 the only way to create this type of Web Application is using PowerShell).
Note: The authentication method for Web Applications must be Claims (the default) if you want to support all SharePoint App scenarios. Classic Windows authentication is not supported (in SharePoint 2013 the only way to create this type of Web Application is using PowerShell).
- Create SPNs
In a PowerShell window create the SPN’s for each web application for both the short name and FQDN, e.g.
setSPN –S HTTP/PORTAL DOMAIN\PortalAppPool
setSPN –S HTTP/PORTAL.DOMAIN.COM DOMAIN\PortalAppPool - Allow ‘Trust for delegation’
- Open Active Directory Users and Computers applet
- View the Properties for your SharePoint server
- On the Delegation tab select Trust this computer for delegation to any service
- Click Ok
- Repeat steps a-d for any other servers that will need to delegate authentication, e.g. all WFE’s, CA, App server, etc.
- Open Active Directory Users and Computers applet
- Configure SharePoint Web Application to use Kerberos authentication
- Creating a new Web Application
- In Central Administration navigate to Manage Web Applications
- From the ribbon, click New
- In the Claims Authentication Types section ensure Integrated Windows authentication is selected with Kerberos selected from the drop down
- Configuring an existing Web Application
- In Central Administration navigate to Manage Web Applications
- Select the Web Application to configure
- From the ribbon click Authentication Providers
- Click Default
- In the Claims Authentication Types section ensure Integrated Windows authentication is selected with Kerberos selected from the drop down
- Creating a new Web Application
- Ensure IIS settings are correct
- Open IIS Manager
- Select the Web Site that relates to the Web Application in SharePoint
- In the Features View double-click Authentication
- Ensure Forms Authentication and Windows Authentication are both enabled (ignore the warning that they cannot be used simultaneously)
- Select Windows Authentication and click Providers in the right-hand Actions pane
- Ensure Negotiate and NTLM are enabled, with Negotiate being at the top
- KRB_AP_ERR_MODIFIED error
We also need to enable IIS to participate in Kerberos exchanges using the app pool identity (a domain account) rather than the local system account otherwise Kerberos authentication will fail with a KRB_AP_ERR_MODIFIED error. There are 2 ways of doing this:
- Machine wide for all IIS Web Sites. (Ideal for a dev machine)
- Edit c:\windows\system32\inetsrv\config\applicationHost.config
- Find the system.webserver/security/authentication/windowsAuthentication element
- Ensure the attribute useAppPoolCredentials=”true” is present
- Save the file and restart IIS
- Individually per web site in IIS. This option is better for targeting implementation at specific web sites. Also SP2010 required this approach as it did not support this value switched on, however SP2013 does seems to support this now.
- In IIS Manager
- Select the Web Site that relates to the Web Application in SharePoint
- In the Features View double-click Authentication
- Select Windows Authentication and click Advanced Settings in the right-hand Actions pane
- Ensure Enable Kernel-mode authentication is unchecked
- Machine wide for all IIS Web Sites. (Ideal for a dev machine)
Its like you read my mind! You appear to know
ReplyDeleteso much about this, like you wrote the book in it or something.
I think that you can do with a few pics to
drive the message home a bit, but instead of that, this
is fantastic blog. A great read. I will definitely be back.
hi,
ReplyDeletedon't we need to configure SPNs for sql server?
Say, if I have a SQL Server named instance on a static port. clustered or non-clustered?
Hi. If i use kerberos. what should i selecte APP account?
ReplyDelete(NetworkService or LocalSystem or Localserver or myDomainaccount)
please teach me
Step 5 really helped me to resolve the issue as I am struggling from 20 days. Microsoft should release SharePoint 2013 Kerberos Guide asap.
ReplyDeleteTrusting the computer for delegation for ANY Kerberos service creates a HUGE Security risk. The delegation should be allowed only for the Application Pool service account that is used for the web application.
ReplyDeleteGreat article! Do we need kerberos for SQL Server 2012 also?
ReplyDeleteAdditionally, this is not correct, because this Trust setting will have no effect. This setting has to be applied to the service accounts, where you added the SPNs
ReplyDeletethanks a lot for your work, worked with me
ReplyDelete