Delega dell'identità per Excel Services (SharePoint Server 2010)
Si applica a: Excel Services, SharePoint Server 2010
Ultima modifica dell'argomento: 2016-11-30
In questo scenario viene aggiunta l'applicazione di servizio Excel Services all'ambiente SharePoint Server e viene configurata la delega vincolata Kerberos per consentire al servizio di aggiornare i dati in un foglio di lavoro da un'origine dati SQL Server esterna.
Nota
Se si esegue l'installazione in Windows Server 2008, potrebbe essere necessario installare l'hotfix seguente per l'autenticazione Kerberos:
Un'autenticazione Kerberos ha esito negativo con codice errore 0X80090302 oppure 0x8009030f in un computer in cui è in esecuzione Windows Server 2008 o Windows Vista quando viene utilizzato l'algoritmo AES (https://support.microsoft.com/kb/969083/it)
Dipendenze dello scenario
Per completare questo scenario è necessario aver completo le procedure descritte negli articoli seguenti:
Scenario 1: Configurazione di base
Scenario 2: Autenticazione Kerberos per SQL OLTP
Elenco di controllo della configurazione
Area di configurazione | Descrizione |
---|---|
Configurazione di Active Directory |
Creare l'account di servizio di Excel Services Configurare l'SPN nell'account di servizio di Excel Services Configurare la delega vincolata Kerberos per i server che eseguono Excel Services Configurare la delega vincolata Kerberos per l'account di servizio di Excel Services |
Configurazione di SharePoint Server |
Avviare Attestazioni per il servizio token Windows nei server di Excel Services Avviare l'istanza del servizio Excel Services nel server di Excel Services Creare l'applicazione e il proxy del servizio Excel Services Configurare le impostazioni di autenticazione e i percorsi attendibili dei file di Excel Services |
Verifica della delega vincolata di Excel Services |
Creare la raccolta documenti per ospitare la cartella di lavoro di prova Creare il database di SQL di prova e la tabella di prova Creare la cartella di lavoro di Excel di prova con la connessione dati SQL Pubblicare la cartella di lavoro in SharePoint Server e aggiornare la connessione dati |
Dettagli relativi all'ambiente dello scenario
Percorsi per la delega vincolata Kerberos
In questo scenario verrà configurato l'account di servizio di Excel Services di SharePoint Server per la delega vincolata Kerberos per il servizio di SQL Server.
Nota
In questo scenario verrà configurato Attestazioni per il servizio token Windows per l'utilizzo di un account di servizio dedicato. Se la configurazione del componente Attestazioni per il servizio token Windows resta impostata su Sistema locale, sarà necessario configurare la delega vincolata nell'account del computer in cui sono in esecuzione Attestazioni per il servizio token Windows ed Excel Services.
Autenticazione logica di SharePoint Server
L'autenticazione in questo scenario ha inizio con l'autenticazione del client tramite autenticazione Kerberos nel server Web front-end. SharePoint Server 2010 convertirà il token dell'autenticazione di Windows in un token delle attestazioni con il servizio token di sicurezza locale. L'applicazione Excel Services accetterà il token delle attestazioni e lo convertirà in un token Windows (Kerberos) utilizzando l'istanza locale di Attestazioni per il servizio token Windows, che fa parte di Windows Identity Framework (WIF). L'applicazione Excel Services utilizzerà quindi il ticket Kerberos del client per l'autenticazione nell'origine dati back-end.
Istruzioni dettagliate per la configurazione
Configurazione di Active Directory
Creare l'account di servizio di Excel Services
Come procedura consigliata, Excel Services deve essere eseguito con la propria identità di dominio. Per configurare l'applicazione Excel Services è necessario creare un account di Active Directory. In questo esempio sono stati creati gli account seguenti:
Servizio SharePoint Server | Identità del pool di applicazioni IIS |
---|---|
Excel Services |
vmlab\svcExcel |
Configurare l'SPN nell'account di servizio di Excel Services
È necessario configurare la delega vincolata Kerberos se Excel Services delegherà l'identità del client a un'origine dati back-end. In questo esempio Excel Services eseguirà query sui dati di un database transazionale di SQL e pertanto la delega Kerberos è necessaria.
Lo snap-in MMC Utenti e computer di Active Directory viene utilizzato in genere per configurare la delega Kerberos. Per configurare le impostazioni di delega nell'ambito dello snap-in, è necessario che all'oggetto Active Directory da configurare sia applicato un nome dell'entità servizio (SPN, Service Principal Name), altrimenti la scheda Delega dell'oggetto non sarà visibile nella finestra di dialogo delle proprietà dell'oggetto. Benché per il funzionamento di Excel Services non sia necessario un SPN, ne verrà configurato uno per questo scopo.
Nella riga di comando eseguire il comando seguente:
SETSPN -S SP/ExcelServices
Nota
L'SPN non è un nome dell'entità servizio valido. Viene applicato all'account di servizio specificato per visualizzare le opzioni di delega nel componente aggiuntivo Utenti e computer di Active Directory. Sono supportate altre modalità per la specifica delle impostazioni di delega, in particolare l'attributo di Active Directory msDS-AllowedToDelegateTo, ma non verranno illustrate in questo documento.
Configurare la delega vincolata Kerberos per Excel Services
Per consentire a Excel Services di delegare l'identità del client, è necessario configurare la delega vincolata Kerberos. È inoltre necessario configurare la delega vincolata con transizione del protocollo per la conversione del token delle attestazioni in token Windows tramite Attestazioni per il servizio token Windows di WIF.
Ogni server in cui è in esecuzione Excel Services deve essere considerato attendibile per la delega delle credenziali a ogni servizio back-end in cui Excel eseguirà l'autenticazione. L'account di servizio di Excel Services inoltre deve essere configurato anche per consentire la delega negli stessi servizi back-end.
In questo esempio vengono definiti i percorsi di delega seguenti:
Tipo entità | Nome entità | Delega al servizio |
---|---|---|
Utente |
svcExcel |
MSSQLSVC/MySqlCluster.vmlab.local:1433 |
*Utente |
svcC2WTS |
MSSQLSVC/MySqlCluster.vmlab.local:1433 |
**Computer |
VMSP10APP01 |
MSSQLSVC/MySqlCluster.vmlab.local:1433 |
* Configurato successivamente in questo scenario
** Necessario solo se Attestazioni per il servizio token Windows viene eseguito come sistema locale
Per configurare la delega vincolata
Aprire le proprietà dell'oggetto Active Directory in Utenti e computer di Active Directory.
Passare alla scheda Delega.
Selezionare Utente attendibile per la delega solo ai servizi specificati.
Selezionare Utilizza un qualsiasi protocollo di autenticazione. Questa opzione consente di abilitare la transizione del protocollo ed è necessaria per l'utilizzo di Attestazioni per il servizio token Windows da parte dell'account di servizio.
Fare clic sul pulsante Aggiungi per selezionare l'entità servizio consentita per la delega.
Selezionare Utenti e computer.
Selezionare l'account di servizio con cui viene eseguito il servizio di destinazione della delega. In questo esempio corrisponde all'account di servizio per il servizio SQL.
Nota
All'account di servizio selezionato deve essere applicato un SPN. In questo esempio l'SPN dell'account è stato configurato in uno scenario precedente.
Fare clic su OK. Verrà chiesto di selezionare gli SPN di destinazione della delega nella schermata seguente.
Selezionare i servizi per il cluster di SQL e quindi fare clic su OK.
A questo punto gli SPN selezionati dovrebbero essere visibili nell'elenco Servizi ai quali l'account può presentare credenziali delegate.
Ripetere questi passaggi per ogni percorso di delega definito all'inizio della sezione.
Verificare l'SPN MSSQLSVC per l'account di servizio che esegue il servizio in SQL Server (operazione eseguita nello scenario 2)
Verificare l'esistenza dell'SPN per l'account di servizio di SQL Analysis Services (vmlab\svcSQL) con il comando SetSPN seguente:
SetSPN -L vmlab\svcSQL
Dovrebbe visualizzarsi quanto segue:
MSSQLSVC/MySqlCluster MSSQLSVC/MySqlCluster.vmlab.local:1433
Configurazione di SharePoint Server
Configurare e avviare Attestazioni per il servizio token Windows nei server di Excel Services
Attestazioni per il servizio token Windows è un componente di Windows Identity Foundation (WIF) responsabile della conversione dei token delle attestazioni dell'utente in token Windows. In Excel Services questo componente viene utilizzato per convertire il token delle attestazioni dell'utente in un token Windows quando è necessario delegare le credenziali a un sistema back-end che utilizza l'autenticazione integrata di Windows. WIF viene distribuito con SharePoint Server 2010 e Attestazioni per il servizio token Windows può essere avviato da Amministrazione centrale.
In ogni server applicazioni di Excel Services il componente Attestazioni per il servizio token Windows deve essere eseguito localmente. Questo componente non apre le porte e non è accessibile da parte di un chiamante remoto. È inoltre necessario configurare il file di configurazione del servizio di Attestazioni per il servizio token Windows in modo da considerare attendibile l'identità del client chiamante locale.
Come procedura consigliata, eseguire Attestazioni per il servizio token Windows utilizzando un account di servizio dedicato e non come sistema locale (configurazione predefinita). Poiché l'account di servizio di Attestazioni per il servizio token Windows richiede autorizzazioni locali speciali in ogni server in cui viene eseguito il servizio, configurare tali autorizzazioni a ogni avvio del servizio in un server. La procedura ottimale prevede la configurazione delle autorizzazioni dell'account di servizio nel server locale prima dell'avvio di Attestazioni per il servizio token Windows. Se tuttavia questa operazione viene eseguita dopo l'avvio del componente, è possibile riavviare Attestazioni per il servizio token Windows dalla console di gestione dei servizi di Windows (services.msc).
Per avviare Attestazioni per il servizio token Windows
Creare un account di servizio in Active Directory per l'esecuzione del servizio. In questo esempio è stato creato vmlab\svcC2WTS.
Aggiungere un nome dell'entità servizio (SPN) arbitrario all'account di servizio per esporre le opzioni di delega per l'account in Utenti e computer di Active Directory. L'SPN può essere specificato in qualsiasi formato, poiché non viene utilizzata l'autenticazione Kerberos per l'autenticazione in Attestazioni per il servizio token Windows. È consigliabile non utilizzare un SPN HTTP per evitare il rischio di creare SPN duplicati nell'ambiente. Nell'esempio è stato registrato SP/C2WTS in vmlab\svcC2WTS utilizzando il comando seguente:
SetSPN -S SP/C2WTS vmlab\svcC2WTS
Configurare la delega vincolata Kerberos nell'account di servizio di Attestazioni per il servizio token Windows. In questo scenario vengono delegate le credenziali al servizio SQL eseguito con il nome dell'entità servizio MSSQLSVC/MySqlCluster.vmlab.local:1433.
Configurare quindi le autorizzazioni necessarie per il server locale richieste da Attestazioni per il servizio token Windows. Queste autorizzazioni devono essere configurate in ogni server in cui viene eseguito Attestazioni per il servizio token Windows, in questo esempio VMSP10APP01. Accedere al server e concedere ad Attestazioni per il servizio token Windows le autorizzazioni seguenti:
Aggiungere l'account di servizio ai gruppi Administrators locali.
Nel criterio di sicurezza locale (secpol.msc) nell'assegnazione dei diritti utente concedere all'account di servizio le autorizzazioni seguenti:
Agire come parte del sistema operativo
Rappresenta un client dopo l'autenticazione
Accedi come servizio
Aprire Amministrazione centrale.
In Sicurezza->Configura account gestiti registrare l'account di servizio di Attestazioni per il servizio token Windows come account gestito.
In Servizi selezionare Gestisci servizi nel server.
Nella casella di selezione dei server nell'angolo in alto a destra selezionare uno o più server in cui è in esecuzione Excel Services, in questo caso VMSP10APP01.
Individuare il componente Attestazioni per il servizio token Windows e avviarlo.
Passare a Sicurezza->Configura account di servizio. Cambiare l'identità di Attestazioni per il servizio token Windows nel nuovo account gestito.
Nota
Se Attestazioni per il servizio token Windows era già in esecuzione prima della configurazione dell'account di servizio dedicato o si desidera modificare le autorizzazioni dell'account di servizio dopo aver avviato il componente, è necessario riavviare Attestazioni per il servizio token Windows dalla console dei servizi.
Se inoltre si verificano errori con il componente Attestazioni per il servizio token Windows dopo aver riavviato il servizio, potrebbe essere necessario anche reimpostare i pool di applicazioni IIS che comunicano con il componente.
Aggiungere dipendenze di avvio al servizio Attestazioni per il servizio token Windows di WIF
Esiste un problema noto con Attestazioni per il servizio token Windows per cui potrebbe non avviarsi automaticamente al riavvio del sistema. Per ovviare a questo problema, configurare una dipendenza del servizio dal servizio Servizi di crittografia:
Aprire una finestra del prompt dei comandi.
Digitare: sc config "c2wts" depend= CryptSvc
Individuare Attestazioni per il servizio token Windows nella console dei servizi.
Aprire le proprietà per il servizio.
Controllare nella scheda Dipendenze che sia elencato Servizi di crittografia:
Fare clic su OK.
Concedere all'account di servizio di Excel Services le autorizzazioni per il database del contenuto dell'applicazione Web
Un passaggio obbligatorio per la configurazione delle applicazioni Web di SharePoint Server 2010 consiste nel concedere all'account di servizio dell'applicazione Web l'accesso ai database del contenuto per un'applicazione Web specifica. In questo esempio all'account di servizio Excel Services verrà concesso l'accesso al database del contenuto dell'applicazione Web "portal" tramite Windows PowerShell.
Eseguire il comando seguente dalla Shell di gestione SharePoint 2010:
$w = Get-SPWebApplication -Identity http://portal
$w.GrantAccessToProcessIdentity("vmlab\svcExcel")
Avviare l'istanza del servizio Excel Services nel server di Excel Services
Prima di creare un'applicazione di servizio Excel Services, avviare il servizio Excel Services nei server della farm designata.
Aprire Amministrazione centrale.
In Servizi selezionare Gestisci servizi nel server.
Nella casella di selezione dei server nell'angolo in alto a destra selezionare uno o più server in cui è in esecuzione Excel Services, in questo caso VMSP10APP01.
Avviare il servizio Servizi di calcolo Excel.
Creare l'applicazione e il proxy del servizio Excel Services
Configurare una nuova applicazione di servizio e un proxy di applicazione Excel Services per consentire alle applicazioni Web di utilizzare Excel Services:
Aprire Amministrazione centrale.
Selezionare Gestisci applicazioni di servizio in Gestione applicazioni.
Selezionare Nuova e quindi fare clic su Applicazione Excel Services.
Configurare la nuova applicazione di servizio. Selezionare l'account di servizio corretto (creare un nuovo account gestito se l'account di servizio di Excel non è visibile nell'elenco).
Configurare le impostazioni di autenticazione e i percorsi attendibili dei file di Excel Services
Dopo la creazione dell'applicazione Excel Services, configurare le proprietà nella nuova applicazione di servizio per specificare un percorso host attendibile e le impostazioni di autenticazione.
Aprire Amministrazione centrale.
Selezionare Gestisci applicazioni di servizio in Gestione applicazioni.
Fare clic sul collegamento relativo alla nuova applicazione di servizio, Excel Services in questo esempio.
Nella schermata di gestione di Excel Services fare clic su "Percorsi attendibili file".
Aggiungere un nuovo percorso attendibile di file.
Specificare il percorso della raccolta di prova.
Nota
In questo esempio vengono considerati attendibili l'URL radice dell'applicazione Web e tutti gli elementi figlio. In un ambiente di produzione è possibile scegliere di vincolare l'attendibilità a un percorso più granulare.
In Dati esterni selezionare Raccolte di connessioni dati attendibili e connessioni incorporate.
Nota
In questo esempio verrà utilizzata una connessione incorporata per connettersi a SQL Server. Nell'ambiente in uso è possibile scegliere di creare un file di connessione separato e archiviarlo in una raccolta di connessioni dati attendibili. In tal caso è possibile selezionare solo le raccolte di connessioni dati attendibili.
Modificare la durata della cache dei dati esterni - Allo scopo del test, è opportuno modificare la durata della cache dei dati esterni in modo che gli aggiornamenti dei dati provengano dall'origine dati e non dalla cache. In Dati esterni modificare le impostazioni seguenti:
Aggiornamento automatico (periodico o all'apertura) = 0
Aggiornamento manuale = 0
Nota
In un ambiente di produzione è opportuno impostare le opzioni della cache su un valore maggiore di 0. L'impostazione della cache su 0 viene eseguita unicamente ai fini del test.
Verificare la delega vincolata di Excel Services
Creare la raccolta documenti per ospitare la cartella di lavoro di prova
Aprire un sito nel percorso attendibile configurato nel passaggio precedente. Creare una nuova raccolta documenti per ospitare una cartella di lavoro di Excel di prova.
Creare la cartella di lavoro di Excel di prova con la connessione dati SQL
Creare una cartella di lavoro di Excel con una connessione dati al nuovo database di prova:
Aprire Excel.
Nella scheda Dati selezionare Da altre origini->Da SQL Server.
Connettersi all'origine dati SQL di prova.
Selezionare il database di prova e la tabella di prova (Sales nell'esempio).
Fare clic su Avanti. Fare clic sul pulsante Impostazioni di autenticazione. Verificare che sia specificata l'autenticazione di Windows.
Fare clic su Fine.
Selezionare Rapporto di tabella pivot.
Configurare la tabella pivot. Verificare che i dati vengano restituiti dall'origine SQL.
Pubblicare la cartella di lavoro in SharePoint Server e aggiornare la connessione dati
L'ultimo passaggio per la convalida dell'applicazione Excel Services prevede la pubblicazione della cartella di lavoro e la verifica dell'aggiornamento della connessione SQL incorporata.
Fare clic sulla scheda File.
Fare clic su Salva e invia, quindi su Salva in SharePoint e quindi su Cerca percorso.
Immettere il percorso della raccolta attendibile creata nei passaggi precedenti.
Verificare che sia selezionato Apri in Excel nel browser.
A questo punto verrà aperta una nuova finestra del browser con la cartella di lavoro di prova visualizzata. Dopo che è stato eseguito il rendering della cartella di lavoro, aggiornare la connessione dati facendo clic su Dati e quindi su Aggiorna tutte le connessioni.
Se la connessione dati si aggiorna, la configurazione della delega Kerberos per Excel Services è stata eseguita correttamente. Per testare ulteriormente la connettività, modificare l'origine dati tramite SQL Management Studio e quindi aggiornare la connessione. I dati appena modificati dovrebbero essere visibili nella cartella di lavoro. Se non si osserva alcun cambiamento e non si visualizza alcun errore con l'aggiornamento, è probabile che i dati visualizzati provengano dalla cache. Per impostazione predefinita, Excel Services memorizzerà nella cache i dati delle origini esterne per cinque minuti. È possibile modificare questa impostazione della cache. Per ulteriori informazioni, vedere Configurare le impostazioni di autenticazione e i percorsi attendibili dei file di Excel Services in questo articolo.