Autenticazione Kerberos per SQL OLTP (SharePoint Server 2010)

 

Si applica a: SharePoint Server 2010

Ultima modifica dell'argomento: 2016-11-30

In questo scenario viene illustrato il processo di configurazione dell'autenticazione Kerberos per il cluster di SQL Server nell'ambiente di esempio. Al termine del processo, viene verificato se i servizi SharePoint Server vengono autenticati nel cluster mediante il protocollo Kerberos.

In questo scenario è necessario eseguire le operazioni seguenti:

  • Configurare un cluster di SQL Server 2008 R2 esistente per l'utilizzo dell'autenticazione Kerberos

  • Verificare che il client possa autenticarsi nel cluster mediante l'autenticazione Kerberos

  • Creare un database di testing e i dati di esempio da utilizzare in scenari successivi

Nota

Non è obbligatorio utilizzare l'autenticazione Kerberos per SQL Server per i servizi di dati di base SharePoint Server, ad esempio per le connessioni ai database di piattaforma. L'ambiente di esempio dispone di un unico cluster di SQL Server in cui sono ospitati ulteriori database di esempio utilizzati in scenari successivi. Per un corretto funzionamento della delega in questi scenari, il cluster di SQL Server deve accettare la connessione autenticata mediante Kerberos.

Nota

Se si sta eseguendo l'installazione in Windows Server 2008, potrebbe essere necessario installare l'hotfix seguente per l'autenticazione Kerberos:
L'autenticazione Kerberos non riesce con il codice di errore 0X80090302 o 0x8009030f in un computer che esegue Windows Server 2008 o Windows Vista quando viene utilizzato l'algoritmo AES (https://support.microsoft.com/kb/969083/it)

Elenco di controllo della configurazione

Area di configurazione Descrizione

Configurare DNS

Creare record host (A) DNS per l'IP del cluster di SQL Server

Configurare Active Directory

Creare nomi dell'entità servizio (SPN) per il servizio SQL Server

Verificare la configurazione Kerberos di SQL Server

Utilizzare SQL Server Management Studio per eseguire query sui metadati della connessione SQL per accertarsi che venga utilizzato il protocollo di autenticazione Kerberos

Dettagli relativi all'ambiente dello scenario

Diagramma dell'infrastruttura dello scenario

In questo scenario viene illustrata una farm di SharePoint Server configurata per l'utilizzo di un alias SQL per una connessione a un cluster di SQL Server configurato per l'utilizzo dell'autenticazione Kerberos.

Istruzioni dettagliate per la configurazione

Configurare DNS

Configurare DNS per il cluster di SQL Server nell'ambiente. In questo esempio è disponibile un solo cluster di SQL Server, MySqlCluster.vmlab.local, in esecuzione sulla porta 1433 all'IP cluster 192.168.8.135/4. Il cluster è attivo/passivo con il motore di database di SQL Server eseguito nell'istanza predefinita del primo nodo.

Per informazioni di carattere generale su come configurare DNS, vedere Gestione dei record DNS (le informazioni potrebbero essere in lingua inglese).

In questo esempio è stato configurato un record (A) DNS per il cluster di SQL Server.

Nota

Tecnicamente, poiché nei nomi SPN di SQL Server è incluso il nome di un'istanza (se si sta utilizzando la seconda istanza denominata nello stesso computer), è possibile registrare l'host DNS per il cluster come alias CNAME ed evitare il problema relativo ai CNAME descritto nell'Appendice A, Problemi noti della configurazione Kerberos (SharePoint Server 2010). Se però si sceglie di utilizzare i CNAME, è necessario registrare un nome SPN utilizzando il nome host del record (A) DNS per gli alias CNAME.

Configurare Active Directory

Affinché i client vengano autenticati da SQL Server mediante l'autenticazione Kerberos, è necessario registrare un nome dell'entità servizio (SPN) per l'account di servizio che esegue SQL Server. I nomi dell'entità servizio per il motore di database di SQL Server hanno il formato seguente per le configurazioni in cui viene utilizzata l'istanza predefinita e non un'istanza denominata di SQL Server:

MSSQLSvc/<FQDN>:porta

Per ulteriori informazioni sulla registrazione dei nomi SPN per SQL Server 2008, vedere Registrazione di un nome SPN.

In questo esempio il nome SPN di SQL Server è stato configurato per l'account di servizio del motore di database di SQL Server (vmlab\svcSQL) con il comando SetSPN seguente:

SetSPN -S MSSQLSVC/MySQLCluster.vmlab.local:1433 vmlab\svcSQL

Istanze denominate di SQL Server

Se si utilizzano istanze denominate di SQL Server anziché l'istanza predefinita, è necessario registrare nomi SPN specifici dell'istanza di SQL Server e per il servizio SQL Server Browser. Per ulteriori informazioni sulla configurazione dell'autenticazione Kerberos per le istanze denominate, vedere gli articoli seguenti:

Alias SQL

Come procedura consigliata, quando si crea la farm, considerare la possibilità di utilizzare alias SQL per le connessioni al computer SQL Server. Se si sceglie di utilizzare alias SQL, il formato dei nomi SPN Kerberos per tali connessioni non cambia. È possibile continuare a utilizzare il nome host DNS registrato (record A) nel nome SPN per SQL Server. Ad esempio, se si registra un alias "SPFARMSQL" per "MySQLCluster.vmlab.local", il nome SPN durante la connessione a SPFarmSQL resterà "MSSQLSVC/MySQLCluster.vmlab.local:1433".

Verificare la configurazione Kerberos di SQL Server

Dopo avere configurato DNS e i nomi dell'entità servizio, è possibile riavviare i computer che eseguono SharePoint Server e verificare che per l'autenticazione dei servizi SharePoint Server in SQL Server ora venga utilizzata l'autenticazione Kerberos.

Per verificare la configurazione del cluster

  1. Riavviare i computer che eseguono SharePoint Server - Questa operazione consente di riavviare tutti i servizi e di forzarli a riconnettersi e ad autenticarsi di nuovo utilizzando l'autenticazione Kerberos.

  2. Aprire SQL Server Management Studio ed eseguire la query seguente:

    Select 
       s.session_id,
       s.login_name,
       s.host_name,
       c.auth_scheme
    from
    sys.dm_exec_connections c
    inner join
    sys.dm_exec_sessions s
    on c.session_id = s.session_id
    

    La query restituirà i metadati relativi a ogni sessione e connessione. I dati delle sessioni consentono di identificare l'origine della connessione, mentre le informazioni delle sessioni indicano lo schema di autenticazione per la connessione.

  3. Verificare che i servizi SharePoint Server vengano autenticati mediante l'autenticazione Kerberos. Se quest'ultima è configurata correttamente, viene visualizzata la parola Kerberos nella colonna auth_scheme dei risultati della query.

Creare un database di SQL Server di testing e una tabella di testing

Per verificare la delega tra le diverse applicazioni di servizio SharePoint Server trattate negli scenari di questo documento, è necessario configurare un'origine dati di testing accessibile per tali servizi. Nel passaggio finale di questo scenario vengono configurati un database di testing denominato "Test" e una tabella di testing denominata "Sales" da utilizzare successivamente.

  1. In SQL Server Management Studio creare un nuovo database denominato "Test" mantenendo le impostazioni predefinite.

  2. Nel database Test creare una nuova tabella con lo schema seguente:

    Nome colonna Tipo di dati Consenti valori Null

    Region

    nvarchar(10)

    No

    Year

    nvarchar(4)

    No

    Amount

    money

    No

    RowId

    int

    No

  3. Salvare la tabella con il nome "Sales".

  4. In Management Studio inserire nella tabella i dati di testing. I dati veri e propri non hanno importanza e non influiscono in alcun modo sulla funzione degli scenari successivi. Saranno sufficienti poche righe di dati.