Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
L'assegnazione degli account a livello di prodotto è riportato in Configurare account di servizio e autorizzazioni di Windows, un argomento che fornisce informazioni complete sugli account di servizio per tutti i servizi di SQL Server, inclusi i servizi di SQL Server Analysis Services. Consulta questo per ulteriori informazioni sui tipi di account validi, i privilegi di Windows assegnati dall'installazione, le autorizzazioni del file system, le autorizzazioni del Registro di sistema e altro ancora.
In questo argomento vengono fornite informazioni supplementari per SQL Server Analysis Services, incluse le autorizzazioni aggiuntive necessarie per le installazioni tabulari e cluster. Vengono inoltre illustrate le autorizzazioni necessarie per supportare le operazioni del server. Ad esempio, è possibile configurare le operazioni di elaborazione e query da eseguire con l'account del servizio , in questo scenario sono necessarie autorizzazioni aggiuntive.
Autorizzazioni del file system assegnate ad Analysis Services
Concessione di autorizzazioni aggiuntive per operazioni server specifiche
Un altro passaggio di configurazione, non documentato qui, consiste nel registrare un nome dell'entità servizio (SPN) per l'istanza di SQL Server Analysis Services e l'account del servizio. Questo passaggio consente la pass-through authentication dalle applicazioni client alle fonti dati back-end in scenari a doppio hop. Questo passaggio si applica solo ai servizi configurati per la delega vincolata di Kerberos. Per ulteriori istruzioni, vedere Configurare Analysis Services per la delega vincolata Kerberos.
Raccomandazioni per l'account di accesso
L'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. L'uso di un account utente di dominio come account di accesso al servizio fornisce informazioni dettagliate sui formati dell'account utente.
In un cluster di failover, tutte le istanze di Analysis Services devono essere configurate per l'uso di un account utente di dominio Windows. Assegnare lo stesso account a tutte le istanze. Per informazioni dettagliate, vedere Come configurare i servizi di analisi in cluster.
Le istanze autonome devono usare l'account virtuale predefinito , NT Service\MSSQLServerOLAPService per l'istanza predefinita o NT Service\MSOLAP$instance-name per un'istanza denominata. Questa raccomandazione si applica alle istanze di Analysis Services in tutte le modalità server, presupponendo Windows Server 2008 R2 e versioni successive per il sistema operativo e SQL Server 2012 e versioni successive per Analysis Services.
Concedere le autorizzazioni ad Analysis Services
Questa sezione illustra le autorizzazioni richieste da Analysis Services per le operazioni interne locali. Queste operazioni includono l'avvio del file eseguibile, la lettura del file di configurazione e il caricamento di database dalla directory dei dati. Le indicazioni sull'impostazione delle autorizzazioni per l'accesso ai dati esterni e l'interoperabilità con altri servizi e applicazioni sono disponibili in Concessione di autorizzazioni aggiuntive per operazioni server specifiche in questo argomento.
Per le operazioni interne, il titolare dell'autorizzazione in Analysis Services non è l'account di accesso, ma un gruppo di sicurezza di Windows locale creato dal programma di installazione che contiene il SID per servizio. L'assegnazione delle autorizzazioni al gruppo di sicurezza è coerente con le versioni precedenti di Analysis Services. Inoltre, gli account di accesso possono cambiare nel tempo, ma il SID per servizio e il gruppo di sicurezza locale sono costanti per la durata dell'installazione del server. Per Analysis Services, il gruppo di sicurezza è una scelta migliore per mantenere le autorizzazioni rispetto all'account di accesso. Ogni volta che si concedono manualmente i diritti all'istanza del servizio, indipendentemente dalle autorizzazioni del file system o dai privilegi di Windows, assicurarsi di concedere le autorizzazioni al gruppo di sicurezza locale creato per l'istanza del server.
Il nome del gruppo di sicurezza segue un modello. Il prefisso è sempre SQLServerMSASUser$, seguito dal nome del computer, che termina con il nome dell'istanza. L'istanza predefinita è MSSQLSERVER. Il nome assegnato durante l'installazione è chiamato un'istanza denominata.
È possibile visualizzare questo gruppo di sicurezza nelle impostazioni di sicurezza locali:
Eseguire compmgmt.msc | Utenti e gruppi | localiGruppi | SQLServerMSASUser$<server-name>$MSSQLSERVER (per un'istanza predefinita).
Per visualizzare i relativi membri, fare doppio clic sul gruppo di sicurezza.
L'unico membro del gruppo è il SID specifico al servizio. Proprio accanto c'è l'account di accesso. Il nome dell'account di accesso è puramente estetico, utilizzato per fornire informazioni contestuali al SID per servizio. Se si modifica l'account di accesso, il gruppo di sicurezza e il SID per servizio non cambiano. Solo l'etichetta dell'account di accesso è diversa.
Privilegi di Windows assegnati all'account del servizio Analysis Services
Analysis Services necessita delle autorizzazioni del sistema operativo per l'avvio del servizio e per richiedere le risorse di sistema. I requisiti variano in base alla modalità server e al fatto che l'istanza sia in cluster.
Tutte le istanze di Analysis Services richiedono il privilegio Accesso come servizio (SeServiceLogonRight). Il programma di installazione di SQL Server assegna il privilegio per l'utente nell'account del servizio specificato durante l'installazione. Per i server in esecuzione in modalità multidimensionale e di data mining, questo è l'unico privilegio di Windows richiesto dall'account del servizio Analysis Services per le installazioni server autonome ed è l'unico privilegio configurato per Analysis Services. Per le istanze cluster e tabulari, è necessario aggiungere manualmente privilegi di Windows aggiuntivi.
Le istanze del cluster di failover, in modalità tabulare o multidimensionale, devono avere aumento della priorità di pianificazione (SeIncreaseBasePriorityPrivilege).
Le istanze tabulari usano i tre privilegi aggiuntivi seguenti, che devono essere concessi manualmente dopo l'installazione dell'istanza.
Privilegio | Descrizione |
---|---|
Aumento di un working set di processo (SeIncreaseWorkingSetPrivilege) | Questo privilegio è disponibile per tutti gli utenti per impostazione predefinita tramite il gruppo di sicurezza Utenti . Se si blocca un server rimuovendo i privilegi per questo gruppo, è possibile che Analysis Services non venga avviato, registrando questo errore: "Un privilegio obbligatorio non è mantenuto dal client". Quando si verifica questo errore, ripristinare il privilegio in Analysis Services concedendole al gruppo di sicurezza di Analysis Services appropriato. |
Regolazione quote di memoria per un processo (SeIncreaseQuotaPrivilege) | Questo privilegio viene usato per richiedere più memoria se un processo non dispone di risorse sufficienti per completare l'esecuzione, in base alle soglie di memoria stabilite per l'istanza. |
Bloccare le pagine in memoria (SeLockMemoryPrivilege) | Questo privilegio è necessario solo quando il paging è disattivato completamente. Per impostazione predefinita, un'istanza del server tabulare usa il file di paging di Windows, ma è possibile impedirne l'uso del paging di Windows impostando VertiPaqPagingPolicy su 0. VertiPaqPagingPolicy su 1 (impostazione predefinita), indica all'istanza del server tabulare di usare il file di paging di Windows. Le allocazioni non sono bloccate, consentendo a Windows di paginare quando necessario. Poiché viene usato il paging, non è necessario bloccare le pagine in memoria. Pertanto, per la configurazione predefinita (dove VertiPaqPagingPolicy = 1), non è necessario concedere il privilegio 'Blocca pagine in memoria' a un'istanza tabulare. VertiPaqPagingPolicy su 0. Se si disattiva il paging per Analysis Services, le allocazioni vengono bloccate, presupponendo che i privilegi blocco delle pagine in memoria vengano concessi all'istanza tabulare. Data questa impostazione e il privilegio Blocca pagine in memoria, Windows non può eseguire il paging delle allocazioni di memoria di Analysis Services quando il sistema è sotto pressione di memoria. Analysis Services si basa sull'autorizzazione Blocco pagine in memoria come imposizione dietro VertiPaqPagingPolicy = 0. Si noti che la disattivazione del paging di Windows non è consigliata. Aumenterà la frequenza di errori di memoria insufficiente per le operazioni che altrimenti potrebbero avere esito positivo se il paging fosse consentito. Per altre informazioni su VertiPaqPagingPolicy, vedere Proprietà di memoria. |
Per visualizzare o aggiungere privilegi di Windows nell'account del servizio
Eseguire GPEDIT.msc | Criteri computer locali | Configurazione computer | Impostazioni di Windows | Impostazioni di sicurezza | Criteri locali | Assegnazioni diritti utente.
Esaminare i criteri esistenti che includono SQLServerMSASUser$. Si tratta di un gruppo di sicurezza locale presente nei computer che hanno un'installazione di Analysis Services. Sia i privilegi di Windows che le autorizzazioni per le cartelle file vengono concessi a questo gruppo di sicurezza. Fare doppio clic sul criterio Accedi come servizio per vedere come viene specificato il gruppo di sicurezza nel sistema. Il nome completo del gruppo di sicurezza varia a seconda che Analysis Services sia stato installato come istanza denominata. Utilizzare questo gruppo di sicurezza, piuttosto che l'account effettivo del servizio, quando si aggiungono privilegi di account.
Per aggiungere privilegi di account in GPEDIT, fare clic con il pulsante destro del mouse su Aumenta un working set di processi e selezionare Proprietà.
Fare clic su Aggiungi utente o gruppo.
Immettere il gruppo di utenti per l'istanza di Analysis Services. Ricorda che l'account del servizio è membro di un gruppo di sicurezza locale e devi anteporre il nome del computer locale come dominio dell'account.
L'elenco seguente mostra due esempi per un'istanza predefinita e un'istanza denominata "Tabulare" in un computer denominato "SQL01-WIN12", in cui il nome del computer è il dominio locale.
SQL01-WIN12\SQL01-WIN12$SQLServerMSASUser$MSSQLSERVER
SQL01-WIN12\SQL01-WIN12$SQLServerMSASUser$TABULAR
Ripetere per Regolare le quote di memoria per un processo e, facoltativamente, per Bloccare le pagine in memoria o Aumentare la priorità di pianificazione.
Annotazioni
Le versioni precedenti del programma di installazione hanno aggiunto inavvertitamente l'account del servizio Analysis Services al gruppo Performance Log Users . Anche se questo difetto è stato risolto, le installazioni esistenti potrebbero avere questa appartenenza a gruppi non necessaria. Poiché l'account del servizio SQL Server Analysis Services non richiede l'appartenenza al gruppo Performance Log Users , è possibile rimuoverlo dal gruppo.
Autorizzazioni del file system assegnate all'account del servizio Analysis Services
Annotazioni
Vedere Configurare account di servizio e autorizzazioni di Windows per un elenco di autorizzazioni associate a ogni cartella del programma.
Vedere Configurare l'accesso HTTP ad Analysis Services in Internet Information Services (IIS) 8.0 per informazioni sulle autorizzazioni file correlate alla configurazione di IIS e a SQL Server Analysis Services.
Tutte le autorizzazioni del file system necessarie per le operazioni del server, incluse le autorizzazioni necessarie per il caricamento e lo scaricamento di database da una cartella dati designata, vengono assegnate dal programma di installazione di SQL Server durante l'installazione.
Il titolare delle autorizzazioni per i file di dati, i file eseguibili di programmi, i file di configurazione, i file di log e i file temporanei è un gruppo di sicurezza locale creato dal programma di installazione di SQL Server.
Esiste un gruppo di sicurezza creato per ogni istanza installata. Il gruppo di sicurezza prende il nome dall'istanza ─ SQLServerMSASUser$MSSQLSERVER per l'istanza predefinita o SQLServerMSASUser$<nomeserver>$<nomeistanza> per un'istanza denominata. Il programma di installazione configura questo gruppo di sicurezza con le autorizzazioni sui file necessarie per eseguire operazioni sul server. Se si controllano le autorizzazioni di sicurezza per \MSAS13. MsSQLSERVER\OLAP\BIN directory, si noterà che il gruppo di sicurezza (non l'account del servizio o il RELATIVO SID per servizio) è il titolare delle autorizzazioni per tale directory.
Il gruppo di sicurezza contiene un solo membro: l'identificatore di sicurezza (SID) per servizio dell'account di avvio dell'istanza di SQL Server Analysis Services. Il programma di installazione aggiunge il SID del servizio al gruppo di sicurezza locale. L'uso di un gruppo di sicurezza locale, con l'appartenenza al SID, è una piccola ma evidente differenza nel modo in cui il programma di installazione di SQL Server effettua il provisioning di Analysis Services, rispetto al motore di database.
Se si ritiene che le autorizzazioni per i file siano danneggiate, seguire questa procedura per verificare che il servizio sia ancora configurato correttamente:
Usare lo strumento da riga di comando controllo del servizio (sc.exe) per ottenere il SID di un'istanza del servizio predefinita.
SC showsid MSSqlServerOlapService
Per un'istanza denominata (dove il nome dell'istanza è tabulare), usare questa sintassi:
SC showsid MSOlap$Tabular
Usare Gestione computer | Utenti e gruppi locali | Gruppi per controllare l'appartenenza al gruppo di sicurezza SQLServerMSASUser$<nomeserver>$<nomeistanza>.
Il SID del membro deve corrispondere al SID per servizio del passaggio 1.
Usare Esplora risorse di Windows | Program Files | Microsoft SQL Server | MSASxx.MSSQLServer | OLAP | bin per verificare che le proprietà di sicurezza della cartella siano concesse al gruppo di sicurezza indicato nel passaggio 2.
Annotazioni
Non rimuovere o modificare mai un SID. Per ripristinare un SID per servizio eliminato inavvertitamente, vedere Uso di SID del servizio per concedere autorizzazioni ai servizi in SQL Server 2017.
Altre informazioni sui SID per servizio
Ogni account di Windows ha un SID associato, ma i servizi possono anche avere SID, quindi definiti SID per servizio. Un SID per servizio viene creato quando viene installata l'istanza del servizio, come elemento distintivo e permanente del servizio. Il SID per servizio è un SID a livello di computer locale generato dal nome del servizio. In un'istanza predefinita, il nome di facile utilizzo è NT SERVICE\MSSQLServerOLAPService.
Il vantaggio di un SID per servizio è che consente di modificare arbitrariamente l'account di accesso più visibile, senza influire sulle autorizzazioni dei file. Si supponga, ad esempio, di aver installato due istanze di Analysis Services, un'istanza predefinita e un'istanza denominata, entrambe in esecuzione con lo stesso account utente di Windows. Mentre l'account di accesso è condiviso, ogni istanza del servizio avrà un SID univoco per servizio. Questo SID è distinto dal SID dell'account di accesso. Il SID per servizio viene usato per le autorizzazioni di file e i privilegi di Windows. Contrariamente, il SID dell'account di accesso viene utilizzato in scenari di autenticazione e autorizzazione, diversi SID usati per scopi differenti.
Poiché il SID non è modificabile, gli ACL del file system creati durante l'installazione del servizio possono essere usati per un periodo illimitato, indipendentemente dalla frequenza con cui si modifica l'account del servizio. Come misura di sicurezza aggiunta, gli ACL che specificano le autorizzazioni tramite un SID assicurano che gli eseguibili del programma e le cartelle di dati siano accessibili solo da una singola istanza di un servizio, anche se altri servizi vengono eseguiti con lo stesso account.
Concessione di autorizzazioni aggiuntive di Analysis Services per operazioni server specifiche
SQL Server Analysis Services esegue alcune attività nel contesto di sicurezza dell'account del servizio (o dell'account di accesso) usato per avviare SQL Server Analysis Services ed esegue altre attività nel contesto di sicurezza dell'utente che richiede l'attività.
Nella tabella seguente vengono descritte le autorizzazioni aggiuntive necessarie per supportare le attività in esecuzione come account del servizio.
Operazione server | Elemento di lavoro | Giustificazione |
---|---|---|
Accesso remoto a origini dati relazionali esterne | Creare un account di accesso al database per l'account del servizio | L'elaborazione si riferisce al recupero dei dati da un'origine dati esterna (in genere un database relazionale), che viene successivamente caricato in un database di SQL Server Analysis Services. Una delle opzioni delle credenziali per il recupero di dati esterni consiste nell'usare l'account del servizio. Questa opzione delle credenziali funziona solo se si crea un account di accesso al database per l'account del servizio e si concedono le autorizzazioni di lettura per il database di origine. Per ulteriori informazioni su come viene utilizzata l'opzione dell'account del servizio per questa attività, vedere Impostare le opzioni di rappresentazione (SSAS - Multidimensionale). Analogamente, se ROLAP viene utilizzato come modalità di archiviazione, sono disponibili le stesse opzioni di impersonificazione. In questo caso, l'account deve anche avere accesso in scrittura ai dati di origine per elaborare le partizioni ROLAP, ovvero per archiviare le aggregazioni. |
DirectQuery | Creare un account di accesso al database per l'account del servizio | DirectQuery è una funzionalità tabulare usata per eseguire query su set di dati esterni troppo grandi per adattarsi al modello tabulare o avere altre caratteristiche che rendono DirectQuery una scelta migliore rispetto all'opzione di archiviazione in memoria predefinita. Una delle opzioni di connessione disponibili in modalità DirectQuery consiste nell'usare l'account del servizio. Anche in questo caso, questa opzione funziona solo quando l'account del servizio ha l'accesso al database e i permessi di lettura per l'origine dati di destinazione. Per ulteriori informazioni su come viene utilizzata l'opzione dell'account del servizio per questa attività, vedere Impostare le opzioni di rappresentazione (SSAS - Multidimensionale). In alternativa, le credenziali dell'utente corrente possono essere usate per recuperare i dati. Nella maggior parte dei casi questa opzione comporta una connessione a doppio hop, quindi assicurarsi di configurare l'account del servizio per la delega vincolata Kerberos in modo che l'account del servizio possa delegare le identità a un server downstream. Per altre informazioni, vedere Configurare Analysis Services per la delega vincolata Kerberos. |
Accesso remoto ad altre istanze di SSAS | Aggiungere l'account del servizio ai ruoli del database di Analysis Services definiti nel server remoto | Le partizioni remote e il riferimento a oggetti collegati in altre istanze remote di SQL Server Analysis Services sono entrambe funzionalità di sistema che richiedono autorizzazioni per un computer o un dispositivo remoto. Quando una persona crea e popola partizioni remote o configura un oggetto collegato, tale operazione viene eseguita nel contesto di sicurezza dell'utente corrente. Se successivamente si automatizzano queste operazioni, SQL Server Analysis Services accederà alle istanze remote nel contesto di sicurezza dell'account del servizio. Per accedere agli oggetti collegati in un'istanza remota di SQL Server Analysis Services, l'account di accesso deve disporre dell'autorizzazione per leggere gli oggetti appropriati nell'istanza remota, ad esempio l'accesso in lettura a determinate dimensioni. Analogamente, l'uso di partizioni remote richiede che l'account del servizio disponga dei diritti amministrativi per l'istanza remota. Tali autorizzazioni vengono concesse nell'istanza remota di Analysis Services, usando ruoli che associano le operazioni consentite a un oggetto specifico. Per istruzioni su come concedere autorizzazioni di controllo completo che consentono operazioni di elaborazione e query, vedere Concedere le autorizzazioni di database (Analysis Services ). Per altre informazioni sulle partizioni remote, vedere Creare e gestire una partizione remota (Analysis Services ). |
Scrittura indietro | Aggiungere l'account del servizio ai ruoli del database di Analysis Services definiti nel server remoto | Se abilitato nelle applicazioni client, il writeback è una funzionalità di modelli multidimensionali che consente la creazione di nuovi valori di dati durante l'analisi dei dati. Se il writeback è abilitato all'interno di qualsiasi dimensione o cubo, l'account del servizio SQL Server Analysis Services deve disporre delle autorizzazioni di scrittura per la tabella writeback nel database relazionale di SQL Server di origine. Se questa tabella non esiste già e deve essere creata, l'account del servizio SQL Server Analysis Services deve disporre anche delle autorizzazioni di creazione tabella all'interno del database SQL Server designato. |
Scrivere in una tabella di log di query in un database relazionale di SQL Server | Creare le credenziali di accesso al database per l'utente di servizio e assegnare permessi di scrittura sulla tabella dei log delle query | È possibile abilitare la registrazione delle query per raccogliere i dati di utilizzo in una tabella di database per un'analisi successiva. L'account del servizio SQL Server Analysis Services deve disporre delle autorizzazioni di scrittura per la tabella dei log di query nel database SQL Server designato. Se questa tabella non esiste già e deve essere creata, l'account di accesso di SQL Server Analysis Services deve disporre anche delle autorizzazioni di creazione della tabella all'interno del database SQL Server designato. Per altre informazioni, vedere Migliorare le prestazioni di SQL Server Analysis Services con l'ottimizzazione guidata basata sull'utilizzo (blog) e la registrazione delle query in Analysis Services (blog). |
Contenuti correlati
Configurare account di servizio e autorizzazioni di Windows
Account del Servizio SQL Server e SID Per-Service (Blog)
Uso dei SID del servizio per concedere autorizzazioni ai servizi in SQL Server 2017
Token di accesso (MSDN)
Identificatori di sicurezza (MSDN)
Token di accesso (Wikipedia)
Elenchi di controllo di accesso (Wikipedia)