Delega dell'identità per Servizi Visio (SharePoint Server 2010)

SharePoint 2010
 

Si applica a: SharePoint Server 2010

Ultima modifica dell'argomento: 2016-11-30

In questo scenario viene aggiunta l'applicazione di servizio Servizi Visio all'ambiente SharePoint Server e viene configurata la delega vincolata Kerberos per consentire al servizio di aggiornare i dati da un'origine dati SQL Server esterna in un disegno Web di Visio.

NotaNote
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)

Per eseguire questo scenario è necessario aver completato le operazioni seguenti:

 

Area di configurazione Descrizione

Configurazione di Active Directory

Creare l'account di servizio di Servizi Visio

Configurare l'SPN nell'account di servizio di Servizi Visio

Configurare la delega vincolata Kerberos per i server che eseguono Servizi Visio

Configurare la delega vincolata Kerberos per l'account di servizio di Servizi Visio

Configurazione di SharePoint Server

Avviare Attestazioni per il servizio token Windows nei server di Servizi Visio

Concedere all'account di servizio di Servizi Visio le autorizzazioni per il database del contenuto dell'applicazione Web

Avviare l'istanza del servizio Servizi Visio nel server di Servizi Visio

Creare l'applicazione e il proxy del servizio Servizi Visio

Verifica della delega vincolata di Servizi Visio

Configurare le impostazioni della cache di Servizi Visio

Creare la raccolta documenti per ospitare il diagramma di prova di Visio

Creare un disegno Web di Visio di prova con forme connesse a dati di SQL Server

Pubblicare il disegno di Visio in SharePoint Server e aggiornare la connessione dati

Diagramma del percorso della delega

In questo scenario verranno configurati i server applicazioni e gli account di servizio di Servizi Visio di SharePoint Server per la delega vincolata Kerberos per il servizio di SQL Server.

Diagramma del flusso di autenticazione

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 di servizio Visio 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 di servizio Visio utilizzerà quindi il ticket Kerberos del client per l'autenticazione nell'origine dati back-end.

Come procedura consigliata, Servizi Visio deve essere eseguito con la propria identità di dominio. Per configurare l'applicazione Servizi Visio è 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

Servizi Visio

vmlab\svcVisio

La delega vincolata Kerberos deve essere configurata se Servizi Visio delegherà l'identità Windows del client a un'origine dati back-end. In questo esempio Servizi Visio eseguirà query sui dati di un database transazionale di SQL Server in qualità di client e pertanto è necessaria la delega Kerberos.

Per configurare la delega Kerberos viene utilizzato in genere lo snap-in MMC Utenti e computer di Active Directory. 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 Servizi Visio non sia necessario un SPN, ne verrà configurato uno per questo scopo.

Nella riga di comando eseguire il comando seguente:

SETSPN -S SP/VisioServices svc\VisioServices

NotaNote
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.

Per consentire a Servizi Visio di delegare l'identità del client, è necessario configurare la delega vincolata Kerberos. La delega vincolata deve essere configurata con la 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 Servizi Visio deve essere considerato attendibile per la delega delle credenziali a ogni servizio back-end in cui Visio eseguirà l'autenticazione. L'account di servizio di Servizi Visio inoltre deve essere configurato anche per consentire la delega agli stessi servizi back-end.

Nell'esempio vengono definiti i percorsi di delega seguenti:

 

Tipo entità Nome entità Delega al servizio

Utente

Vmlab\svcVisio

MSSQLSVC/MySqlCluster.vmlab.local:1433

*Utente

Vmlab\svcC2WTS

MSSQLSVC/MySqlCluster.vmlab.local:1433

**Computer

Vmlab\vmsp10app01

MSSQLSVC/MySqlCluster.vmlab.local:1433

* Configurato successivamente in questo scenario

** Facoltativo. La delega vincolata nell'account del computer è necessaria solo quando si esegue Attestazioni per il servizio token Windows come sistema locale

Per configurare la delega vincolata
  1. Aprire le proprietà dell'oggetto Active Directory in Utenti e computer di Active Directory.

  2. Passare alla scheda Delega.

  3. Selezionare Utente attendibile per la delega solo ai servizi specificati.

  4. 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 di Visio.

  5. Fare clic sul pulsante Aggiungi per selezionare l'entità servizio consentita per la delega.

  6. Selezionare Utenti e computer.

  7. 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 Server.

    NotaNote
    All'account di servizio selezionato deve essere applicato un SPN. In questo esempio l'SPN dell'account è stato configurato in uno scenario precedente.
  8. Fare clic su OK. Verrà chiesto di selezionare gli SPN di destinazione della delega.

  9. Selezionare i servizi per il cluster di SQL Server e fare clic su OK.

  10. A questo punto gli SPN selezionati dovrebbero essere visibili nell'elenco Servizi ai quali l'account può presentare credenziali delegate.

  11. Ripetere questi passaggi per ogni percorso di delega (Computer e Utente) definito all'inizio della sezione.

Verificare l'esistenza dell'SPN per l'account di servizio di Analysis Services (vmlab\svcSQL) con il comando SetSPN seguente:

SetSPN -L vmlab\svcSQL

Dovrebbe visualizzarsi quanto segue:

MSSQLSVC/MySqlCluster MSSQLSVC/MySqlCluster.vmlab.local:1433

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 Servizio grafica di Visio 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 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 Servizio grafica di Visio 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 particolarmente 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
  1. Creare un account di servizio in Active Directory per l'esecuzione del servizio. In questo esempio è stato creato vmlab\svcC2WTS.

  2. 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

  3. 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 Server eseguito con il nome dell'entità servizio MSSQLSVC/MySqlCluster.vmlab.local:1433.

  4. Configurare 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:

    1. Aggiungere l'account di servizio ai gruppi Administrators locali.

    2. Nel criterio di sicurezza locale (secpol.msc) nell'assegnazione dei diritti utente concedere all'account di servizio le autorizzazioni seguenti:

      1. Agire come parte del sistema operativo

      2. Rappresenta un client dopo l'autenticazione

      3. Accedi come servizio

  5. Aprire Amministrazione centrale.

  6. Nella sezione Configura account gestiti in Sicurezza registrare l'account di servizio di Attestazioni per il servizio token Windows come account gestito.

  7. In Servizi selezionare Gestisci servizi nel server.

  8. Nella casella di selezione dei server nell'angolo in alto a destra selezionare uno o più server in cui è in esecuzione Servizio grafica di Visio, in questo caso VMSP10APP01.

  9. Individuare il componente Attestazioni per il servizio token Windows e avviarlo.

  10. Passare a Configura account di servizio nella sezione Sicurezza. Cambiare l'identità di Attestazioni per il servizio token Windows nel nuovo account gestito.

    NotaNote
    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.

Esiste un problema noto con Attestazioni per il servizio token Windows per cui il componente potrebbe non avviarsi automaticamente al riavvio del sistema. Per ovviare a questo problema, configurare una dipendenza del servizio dal servizio Servizi di crittografia:

  1. Aprire una finestra del prompt dei comandi.

  2. Digitare: sc config "c2wts" depend= CryptSvc

  3. Individuare Attestazioni per il servizio token Windows nella console dei servizi.

  4. Aprire le proprietà del servizio.

  5. Controllare nella scheda Dipendenze che sia elencato Servizi di crittografia.

  6. Fare clic su OK.

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 grafica di Visio 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\svcVisio")

Prima di creare un'applicazione di servizio Servizi Visio, avviare il servizio del server di Servizi Visio nei server della farm designata.

  1. Aprire Amministrazione centrale.

  2. In Servizi selezionare Gestisci servizi nel server.

  3. Nella casella di selezione dei server nell'angolo in alto a destra selezionare uno o più server in cui è in esecuzione Servizi Visio, in questo caso VMSP10APP01.

  4. Avviare Servizio grafica di Visio.

Configurare quindi una nuova applicazione di servizio e un proxy di applicazione Servizi Visio per consentire alle applicazioni Web di utilizzare Servizi Visio (qualora non ne esista già uno):

  1. Aprire Amministrazione centrale.

  2. Selezionare Gestisci applicazioni di servizio in Gestione applicazioni.

  3. Selezionare Nuovo e quindi Servizio grafica di Visio.

  4. Configurare la nuova applicazione di servizio. Selezionare l'account di servizio corretto (creare un nuovo account gestito se l'account di servizio di Visio non è visibile nell'elenco).

Per impostazione predefinita, Servizio grafica di Visio memorizza nella cache i disegni Web di cui esegue il rendering per i client Web per un numero di minuti basato sulle impostazioni della cache del servizio. Per testare la delega, il servizio verrà configurato in modo da non memorizzare i disegni nella cache per verificare facilmente l'aggiornamento dei dati in un disegno Web di Visio.

NotaNote
Non è consigliabile disabilitare la cache di rendering negli ambienti di produzione. Ricordarsi di riabilitarla dopo aver completato la verifica della delega in Visio.
  1. Aprire Amministrazione centrale.

  2. Selezionare Gestisci applicazioni di servizio in Gestione applicazioni.

  3. Selezionare l'applicazione Servizio grafica di Visio creata nel passaggio precedente.

  4. Selezionare Impostazioni globali.

  5. In Validità cache minima impostare la cache su 0 (nessuna cache).

    NotaNote
    L'impostazione della durata minima della cache su 0 viene effettuata unicamente ai fini del test e non deve essere utilizzata in un ambiente di produzione.

Passare all'applicazione portal (http://portal). Creare una nuova raccolta documenti per ospitare una cartella di lavoro di Visio di prova.

  1. Avviare Visio 2010.

  2. Creare un nuovo Diagramma base nella sezione Generale in Home.

  3. Nella scheda della barra multifunzione Dati selezionare Collega dati alle forme.

  4. Nella finestra di dialogo Selezione dati selezionare Database di Microsoft SQL Server.

  5. Specificare il cluster di SQL Server creato nello scenario 2 e selezionare Autenticazione di Windows.

  6. Selezionare il database Test e la tabella Sales.

  7. Specificare un nome descrittivo per la connessione e salvare la connessione nella raccolta documenti creata nel passaggio precedente.

  8. Nella finestra di dialogo Selezione dati selezionare la connessione appena creata e fare clic su Fine.

    Dovrebbe essere visibile ora la finestra dei dati esterni nella parte inferiore della finestra di disegno con i dati di esempio creati precedentemente.

  9. Trascinare la prima riga di dati sulla superficie di disegno. Verrà creata una nuova forma collegata alla riga di dati. Si noti che il disegno di prova ha lo scopo di testare la delega e non di mostrare come creare un disegno Web completamente funzionante e pronto per la produzione.

  1. Pubblicare il disegno in una raccolta documenti di SharePoint di prova. Nella scheda File fare clic su Salva e invia, Salva in SharePoint, Cerca percorso e quindi Disegno Web.

  2. Selezionare la raccolta documenti di prova, specificare un nome per il disegno di prova e quindi fare clic su Salva.

    Il disegno verrà aperto nel browser.

  3. Nella notifica di aggiornamento non abilitato selezionare Abilita (sempre).

  4. La connessione dati dovrebbe aggiornarsi automaticamente senza errori.

  5. Aprire SQL Server Management Studio e modificare la riga di dati visualizzata nel disegno Web.

  6. Aggiornare la connessione dati facendo clic sul pulsante Aggiorna nella parte superiore della finestra di disegno. Se la delega è stata configurata correttamente i dati dovrebbero aggiornarsi.

Mostra: