Condividi tramite


Registrazione dello SPN per un'istanza di Analysis Services

Si applica a: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Un nome dell'entità servizio (SPN) identifica in modo univoco un'istanza del servizio in un dominio di Active Directory quando Kerberos viene usato per autenticare reciprocamente le identità client e del servizio. Un SPN è associato all'account di accesso sotto il quale viene eseguita l'istanza del servizio.

Per le applicazioni client che si connettono ad Analysis Services tramite l'autenticazione Kerberos, le librerie client di Analysis Services costruiscono un nome SPN usando il nome host dalla stringa di connessione e altre variabili note, ad esempio la classe del servizio, fisse in qualsiasi versione specifica di Analysis Services.

Affinché si verifichi l'autenticazione reciproca, i nomi SPN costruiti dal client devono corrispondere a un corrispondente oggetto SPN su un controller di dominio di Active Directory. Ciò significa che potrebbe essere necessario registrare più nomi SPN per una singola istanza di Analysis Services per coprire tutti i modi in cui un utente potrebbe specificare il nome host in una stringa di connessione. Ad esempio, probabilmente sono necessari due SPN per gestire sia il nome di dominio completo (FQDN) di un server, sia il nome breve del computer. La registrazione corretta del nome SPN di Analysis Services è essenziale per una connessione corretta. Se il nome SPN è inesistente, malformato o duplicato, la connessione fallirà.

La registrazione SPN è un'attività manuale eseguita dall'amministratore di Analysis Services. A differenza del motore di database di SQL Server, Analysis Services non registra automaticamente il SPN all'avvio del servizio. La registrazione manuale è necessaria quando Analysis Services viene eseguito con l'account virtuale predefinito, un account utente di dominio o un account predefinito, incluso un SID per servizio.

La registrazione del nome SPN non è necessaria se il servizio viene eseguito con un account del servizio gestito predefinito creato da un amministratore di dominio. Si noti che, a seconda del livello funzionale del dominio, la registrazione di un nome SPN può richiedere autorizzazioni di amministratore di dominio.

Suggerimento

Microsoft Kerberos Configuration Manager for SQL Server è uno strumento di diagnostica che semplifica la risoluzione dei problemi di connettività correlati a Kerberos con SQL Server. Per altre informazioni, vedere Microsoft Kerberos Configuration Manager per SQL Server.

Questo argomento contiene le sezioni seguenti:

Quando è necessaria la registrazione del nome SPN

Formato SPN per Analysis Services

Registrazione SPN per un account virtuale

Registrazione del nome SPN per un account di dominio

Registrazione del SPN per un account integrato

Registrazione SPN per un'istanza con nome

Registrazione del nome SPN per un cluster SSAS

Registrazione del nome SPN per le istanze di SSAS configurate per l'accesso HTTP

Registrazione degli SPN per le istanze di SSAS che ascoltano su porte fisse

Quando è necessaria la registrazione del nome SPN

Qualsiasi connessione client che specifica "SSPI=Kerberos" nella stringa di connessione introdurrà i requisiti di registrazione del nome SPN per un'istanza di Analysis Services.

La registrazione del nome SPN è necessaria nelle circostanze seguenti. Per informazioni più dettagliate, vedere Configurare Analysis Services per la delega vincolata Kerberos.

  • La delega delle identità è necessaria per il flusso dell'identità utente dall'applicazione client o dal servizio di livello intermedio ad Analysis Services. La delega delle identità viene in genere usata quando le autorizzazioni o i filtri per utente vengono definiti su oggetti specifici.

    Uno scenario comune che riguarda la delega delle identità consiste nella configurazione di servizi di livello intermedio, ad esempio Excel Services o Reporting Services, per la delega vincolata allo scopo di rappresentare un'identità utente durante il recupero dei dati in Analysis Services. Per supportare questo comportamento, è necessario specificare un nome SPN di Analysis Services come servizio di destinazione durante la configurazione di Excel Services o Reporting Services per la delega vincolata.

  • Analysis Services delega un'identità utente durante il recupero di dati da un database relazionale di SQL Server per i database tabulari tramite la modalità DirectQuery. Questo è l'unico scenario in cui Analysis Services delega l'identità utente a un altro servizio.

Formato SPN per Analysis Services

Usare setspn per registrare un nome SPN. Nei sistemi operativi più recenti , setspn viene installato come utilità di sistema. Per altre informazioni, vedere SetSPN.

La tabella seguente descrive ogni parte di un SPN di Analysis Services.

Elemento Description
Classe service MSOLAPSvc.3 identifica il servizio come istanza di Analysis Services. .3 è un riferimento alla versione del protocollo XMLA-over-TCP/IP usato nelle trasmissioni di Analysis Services. Non è correlato al rilascio del prodotto. Di conseguenza, MSOLAPSvc.3 è la classe di servizio corretta per SQL Server 2005, 2008, 2008 R2, 2012 e qualsiasi versione futura di Analysis Services fino alla revisione del protocollo stesso.
Nome host Identifica il computer in cui è in esecuzione il servizio. Può trattarsi di un nome di dominio completo o di un nome NetBIOS. Dovresti registrare un SPN per entrambi.

Quando si registra un SPN per nome NetBIOS di un server, assicurarsi di usare SetupSPN -S per verificare la presenza di registrazioni duplicate. I nomi NetBIOS non sono necessariamente univoci in una foresta e la presenza di una registrazione SPN duplicata causerà l'esito negativo della connessione.

Per i cluster con carico bilanciato di Analysis Services, il nome host deve essere il nome virtuale assegnato al cluster.

Non creare mai un nome SPN usando l'indirizzo IP. Kerberos usa le funzionalità di risoluzione DNS del dominio. Se si specifica un indirizzo IP, tale funzionalità viene ignorata.
Numero di porta Anche se il numero di porta fa parte della sintassi SPN, non si specifica mai un numero di porta durante la registrazione di un nome SPN di Analysis Services. Il carattere due punti ( : ), tipicamente utilizzato per indicare un numero di porta nella sintassi SPN standard, è utilizzato da Analysis Services per specificare il nome dell'istanza. Per un'istanza di Analysis Services, si presuppone che la porta sia la porta predefinita (TCP 2383) o una porta assegnata dal servizio SQL Server Browser (TCP 2382).
Nome istanza Analysis Services è un servizio replicabile che può essere installato più volte nello stesso computer. Ogni istanza viene identificata tramite il nome dell'istanza.

Il nome dell'istanza è preceduto dal carattere due punti ( : ). Ad esempio, dato un computer host denominato SRV01 e un'istanza denominata SSAS-Tabular, il nome SPN deve essere SRV01:SSAS-Tabular.

Si noti che la sintassi per specificare un'istanza denominata di Analysis Services è diversa da quella usata da altre istanze di SQL Server. Altri servizi usano una barra rovesciata ( \ ) per aggiungere il nome dell'istanza in un SPN.
account di servizio Si tratta dell'account di avvio del servizio Windows MSSQLServerOLAPService . Può essere un account utente di dominio di Windows, un account virtuale, un account del servizio gestito (MSA) o un account predefinito, ad esempio un SID per servizio, NetworkService o LocalSystem. Un account utente di dominio di Windows può essere formattato come dominio\utente o user@domain.

Registrazione SPN per un account virtuale

Gli account virtuali sono il tipo di account predefinito per i servizi di SQL Server. L'account virtuale è NT Service\MSOLAPService per un'istanza predefinita e NT Service\MSOLAP$<instance-name> per un'istanza denominata.

Come suggerisce il nome, questi account non esistono in Active Directory. Esiste un account virtuale solo nel computer locale. Quando ci si connette a servizi, applicazioni o dispositivi esterni, la connessione viene stabilita usando l'account del computer locale. Per questo motivo, una registrazione SPN per Analysis Services in esecuzione con un account virtuale è in realtà una registrazione SPN per l'account computer.

Sintassi di esempio per un'istanza predefinita in esecuzione come NT Service\MSOLAPService

Questo esempio mostra la sintassi setspn per l'istanza predefinita di Analysis Services in esecuzione con l'account virtuale predefinito. In questo esempio il nome host del computer è AW-SRV01. Come indicato, la registrazione del nome SPN deve specificare l'account del computer, anziché l'account virtuale NT Service\MSOLAPService.

Setspn -s MSOLAPSvc.3/AW-SRV01.AdventureWorks.com AW-SRV01  

Annotazioni

Ricordarsi di creare due registrazioni SPN, una per il nome host NetBIOS e una seconda per un nome di dominio completo dell'host. Diverse applicazioni client usano convenzioni di nome host diverse per la connessione ad Analysis Services. La presenza di due registrazioni SPN garantisce che entrambe le versioni del nome host siano accountate.

Sintassi di esempio per un'istanza denominata in esecuzione come NT Service\MSOLAP$<instance-name>

Questo esempio mostra la sintassi setspn per un'istanza denominata in esecuzione con l'account virtuale predefinito. In questo esempio il nome host del computer è AW-SRV02 e il nome dell'istanza è AW-FINANCE. Anche in questo caso, è l'account macchina specificato per lo SPN, anziché l'account virtuale NT Service\MSOLAP$<instance-name>.

Setspn -s MSOLAPSvc.3/AW-SRV02.AdventureWorks.com:AW-FINANCE AW-SRV02  

Registrazione del nome SPN per un account di dominio

L'uso di un account di dominio per eseguire un'istanza di Analysis Services è una procedura comune.

Per le istanze di Analysis Services eseguite in un cluster con carico bilanciato di rete o hardware, è necessario un account di dominio, con ogni istanza del cluster in esecuzione con lo stesso account di dominio.

Sintassi di esempio per un'istanza predefinita in esecuzione come utente di dominio

Questo esempio mostra la sintassi setspn per l'istanza predefinita di Analysis Services in esecuzione con un account utente di dominio, SSAS-Service, nel dominio AdventureWorks.

Setspn -s msolapsvc.3/AW-SRV01.Adventureworks.com AdventureWorks\SSAS-Service  

Suggerimento

Verificare se il nome SPN è stato creato per il server Analysis Services eseguendo Setspn -L <domain account> o Setspn -L <machinename>, a seconda della modalità di registrazione del nome SPN. Nell'elenco dovrebbe essere visualizzato MSOLAPSVC.3/<hostname> .

Registrazione del nome SPN per un account integrato

Anche se questa procedura non è consigliata, le installazioni precedenti di Analysis Services sono talvolta configurate per l'esecuzione in account predefiniti, ad esempio Servizio di rete, Servizio locale o Sistema locale.

Sintassi di esempio per un'istanza predefinita in esecuzione in un account predefinito

La registrazione SPN per un servizio in esecuzione in un account predefinito o un SID per servizio equivale alla sintassi SPN usata per l'account virtuale. Anziché il nome dell'account, usare l'account della macchina:

Setspn -s MSOLAPSvc.3/AW-SRV01.AdventureWorks.com AW-SRV01  

Registrazione SPN per un'istanza nominata.

Per impostazione predefinita, le istanze denominate di Analysis Services usano assegnazioni di porte dinamiche rilevate dal servizio SQL Server Browser. È necessario creare SPN NetBIOS e SPN FQDN per l'istanza denominata per abilitare le connessioni Kerberos.

Sintassi di esempio per un'istanza denominata in esecuzione come utente di dominio

Nell'esempio seguente viene illustrata la sintassi per l'istanza setspnAW-FINANCE denominata di Analysis Services in esecuzione con un account utente di dominio, SSAS-Service, nel dominio AdventureWorks. In questo esempio il nome host del computer è AW-SRV01.

FQDN SPN: Setspn -s MSOLAPSvc.3/AW-SRV01.AdventureWorks.com:AW-FINANCE AdventureWorks\SSAS-Service 

NetBIOS SPN: Setspn -s MSOLAPSvc.3/AW-SRV01:AW-FINANCE AdventureWorks\SSAS-Service 

Annotazioni

Se l'istanza denominata è stata configurata per l'ascolto su una porta fissa, seguire questa procedura per usare le connessioni Kerberos dall'applicazione client:

  1. Avviare il servizio SQL Server Browser.
  2. Se si usa un numero di porta nella stringa di connessione, rimuovere il numero di porta, aggiungere il nome dell'istanza e consentire all'applicazione di ricevere il numero di porta tramite il servizio SQL Server Browser.

Suggerimento

Verificare se l'SPN è stato creato per l'istanza denominata di SQL eseguendo il comando Setspn -L <domain account> o Setspn -L <machinename>, a seconda della modalità di registrazione dell'SPN.

Microsoft Kerberos Configuration Manager per SQL Server è uno strumento di diagnostica che consente di risolvere i problemi di connettività correlati a Kerberos con SQL Server. Questo strumento consente di identificare potenziali problemi nei nomi SPN e nelle deleghe e di fornire procedure automatizzate per risolvere i problemi identificati. Per altre informazioni, vedere Microsoft Kerberos Configuration Manager per SQL Server.

Registrazione del nome SPN per un cluster SSAS

Per i cluster di failover di Analysis Services, il nome host deve essere il nome virtuale assegnato al cluster. Si tratta del nome di rete di SQL Server, specificato durante l'installazione di SQL Server quando è stato installato Analysis Services in un cluster WSFC esistente. È possibile trovare questo nome in Active Directory. È possibile trovarlo anche nella gestione Failover Cluster Manager | ruolo | Risorse scheda. Il nome del server sulla scheda Risorse è il nome che deve essere usato come "nome virtuale" nel comando SPN.

Sintassi dello SPN per un cluster di Servizi di analisi

Setspn -s msolapsvc.3/<virtualname.FQDN > <domain user account>  

Tenere presente che i nodi in un cluster di Analysis Services sono necessari per usare la porta predefinita (TCP 2383) ed eseguire nello stesso account utente di dominio in modo che ogni nodo abbia lo stesso SID. Per altre informazioni, vedere Come eseguire il clustering di SQL Server Analysis Services .

Registrazione del nome SPN per le istanze di SSAS configurate per l'accesso HTTP

A seconda dei requisiti della soluzione, è possibile che Analysis Services sia stato configurato per l'accesso HTTP. Se la soluzione include IIS come componente di livello intermedio e l'autenticazione Kerberos è un requisito di soluzione, potrebbe essere necessario registrare manualmente un nome SPN per IIS. Per altre informazioni, vedere "Configurare le impostazioni nel computer che esegue IIS" in Come configurare SQL Server 2008 Analysis Services e SQL Server 2005 Analysis Services per l'uso dell'autenticazione Kerberos.

In termini di registrazione del nome SPN per l'istanza di Analysis Services, non esiste alcuna differenza tra un'istanza configurata per TCP o HTTP. La connessione ad Analysis Services da IIS, tramite l'estensione ISAPI MSMDPUMP, è sempre TCP.

Ciò significa che è possibile usare le istruzioni delle sezioni precedenti per registrare l'SPN di istanze predefinite o denominate. Quando si specifica il nome host, assicurarsi di usare il nome host specificato nel file di msmdpump.ini quando è stato configurato il servizio per l'accesso HTTP.

Per altre informazioni sull'accesso HTTP, vedere Configurare l'accesso HTTP ad Analysis Services in Internet Information Services (IIS) 8.0.

Registrazione del nome SPN per le istanze di SSAS in ascolto su porte fisse

Non è possibile specificare un numero di porta in una registrazione SPN di Analysis Services. La registrazione spn di Analysis Services può usare solo il nome dell'istanza. Se Analysis Services è stato installato come istanza predefinita e configurato per l'ascolto su una porta non predefinita, non è possibile connettersi a tale istanza usando Kerberos. È necessario configurarlo per l'ascolto sulla porta predefinita (TCP 2383) per abilitare le connessioni Kerberos a tale istanza. Un'istanza predefinita di Analysis Services in ascolto su una porta non predefinita può accettare solo connessioni NTLM. Per le istanze denominate, è necessario avviare il servizio SQL Server Browser e usare i nomi di istanza nelle stringhe di connessione anziché i numeri di porta.

Un'istanza di Analysis Services può essere in ascolto solo su una singola porta. L'uso di più porte non è supportato. Per altre informazioni sulla configurazione delle porte, vedere Configurare Windows Firewall per consentire l'accesso ad Analysis Services.

Vedere anche

Autenticazione e delega delle identità di Microsoft BI
Autenticazione reciproca con Kerberos
Sintassi SetSPN dei nomi delle entità servizio (SPN) (Setspn.exe)
SetSPN
Guida dettagliata agli account di servizio
Configurare account di servizio e autorizzazioni di Windows
Come usare i nomi SPN quando si configurano applicazioni Web ospitate in Internet Information Services
novità negli account di servizio
Configurare l'autenticazione Kerberos per prodotti SharePoint 2010 (white paper)