Architettura di sicurezza dall'accesso utente
Microsoft SQL Server Analysis Services si basa su Microsoft Windows per l'autenticazione degli utenti. Per impostazione predefinita, solo gli utenti autenticati che dispongono di diritti in Analysis Services possono stabilire una connessione ad Analysis Services. Dopo che un utente ha stabilito una connessione ad Analysis Services, le autorizzazioni dell'utente in Analysis Services vengono determinate in base ai diritti assegnati ai ruoli di Analysis Services a cui l'utente appartiene, direttamente o tramite appartenenza a un ruolo di Windows.
Analysis Services include un unico ruolo predefinito del server, i cui membri dispongono di autorizzazioni per l'esecuzione di qualsiasi attività nell'intera istanza.
Gli utenti che non fanno parte del ruolo predefinito del server possono essere inseriti come membri di uno o più ruoli del database. Ogni ruolo del database dispone di un set di autorizzazioni personalizzato che consente agli utenti di accedere ai dati e di eseguire attività in un database specifico.
A un ruolo del database è possibile concedere autorizzazioni di amministratore, autorizzazioni per l'elaborazione degli oggetti, autorizzazioni per la visualizzazione dei metadati degli oggetti e autorizzazioni per la visualizzazione o la modifica dei dati a più livelli in ogni database di Analysis Services.
I membri di un ruolo del database che dispone di autorizzazioni di amministratore possono visualizzare o aggiornare tutti i dati del database. I membri di altri ruoli del database possono visualizzare o aggiornare solo gli oggetti dati per i quali dispongono di autorizzazioni.
Le autorizzazioni in un database di Analysis Services vengono concesse inizialmente a livello di database. Se un ruolo del database dispone di autorizzazioni a livello di database, è necessario concedere al ruolo autorizzazioni specifiche per ogni oggetto incluso nel database. Gli oggetti per i quali è possibile concedere autorizzazioni a un ruolo includono database e dimensioni del cubo, singoli membri della dimensione, cubi, singole celle in un cubo, strutture di data mining, modelli di data mining, origini dei dati e stored procedure.
Oltre a questi componenti dell'architettura di sicurezza, in Analysis Services vengono crittografate tutte le comunicazioni client/server per ridurre il rischio che utenti non autorizzati possano accedere a informazioni non autorizzate. Infine, le caratteristiche di Analysis Services che possono mettere a repentaglio la sicurezza se configurate in modo non corretto o utilizzate in un ambiente non appropriato sono disabilitate per impostazione predefinita. È ad esempio possibile consentire agli utenti di connettersi ad Analysis Services senza autenticazione oppure è possibile accettare autenticazioni inviate in testo non crittografato. Poiché queste operazioni potrebbero, tuttavia, mettere a rischio la sicurezza se eseguite in modo non corretto, l'utilizzo di caratteristiche di questo tipo richiede la modifica delle impostazioni predefinite.
Autenticazione di Windows
L'accesso ad Analysis Services è basato sull'autenticazione di Microsoft Windows. Questo modello di autenticazione richiede che tutti gli utenti vengano autenticati dal sistema operativo Windows per poter accedere ai dati archiviati in Analysis Services e per poter amministrare gli oggetti di Analysis Services. L'esecuzione del processo di autenticazione da parte del sistema operativo consente di sfruttare in Analysis Services le caratteristiche di sicurezza di Windows, inclusi convalida protetta e crittografia delle password, controllo, scadenza delle password, lunghezza minima delle password e blocco degli account dopo più richieste di accesso non valide.
Nota
Se l'istanza di Analysis Services è configurata per consentire l'accesso anonimo, gli utenti non vengono autenticati da Windows.
L'autenticazione di Windows e Analysis Services interagiscono come indicato di seguito:
Quando un utente accede alla rete Windows, un controller di dominio di Windows convalida nome utente e password, definendo in questo modo le credenziali di autenticazione di rete dell'utente.
Successivamente, quando l'utente esegue un tentativo di connessione ad Analysis Services, in Analysis Services le credenziali di autenticazione di rete dell'utente vengono convalidate con un controller di dominio di Windows.
Autorizzazione
Dopo avere autenticato un utente, in Analysis Services viene quindi determinato se l'utente dispone di autorizzazioni per visualizzare e aggiornare i dati, visualizzare i metadati o eseguire attività amministrative. Se l'utente o un gruppo di cui l'utente è membro dispone di autorizzazioni di qualche tipo nell'istanza di Analysis Services, in Analysis Services viene consentita la connessione. Per impostazione predefinita, in Analysis Services un utente non può stabilire una connessione se non dispone di autorizzazioni di qualche tipo nell'istanza di Analysis Services.
Il processo di autorizzazione, tuttavia, non viene arrestato dopo che è stata stabilita una connessione ad Analysis Services, ma continua mentre l'utente utilizza Analysis Services, ad esempio durante l'esecuzione di stored procedure, istruzioni DMX (Data Mining Extensions), query MDX (Multidimensional Expressions) o comandi AMO (Analysis Management Objects). Ogni volta che in Analysis Services viene eseguita un'azione o si accede a un oggetto, viene verificato che l'utente sia autorizzato ad accedere agli oggetti o a eseguire il comando. Se l'utente non dispone delle autorizzazioni appropriate, in Analysis Services viene visualizzato un messaggio di errore relativo alle autorizzazioni.
Ruoli del server e del database
In Analysis Services sono presenti due tipi di ruoli: il ruolo del server e i ruoli del database. Di seguito viene illustrata in breve la differenza tra i due ruoli:
È presente un solo ruolo del server e i membri di questo ruolo dispongono di diritti di amministratore completi nell'istanza di Analysis Services.
Nota
I membri del gruppo locale Administrators nel computer locale sono automaticamente membri del ruolo del server in un'istanza di Analysis Services.
Possono essere presenti più ruoli del database. I membri del ruolo del server creano i ruoli del database in ogni database, concedono autorizzazioni utente o amministrative a tali ruoli del database, ad esempio autorizzazioni di lettura/scrittura in cubi, dimensioni, celle, strutture di data mining, modelli di data mining e origini dei dati, e quindi aggiungono utenti e gruppi di Windows ai ruoli del database.
Importante Le autorizzazioni del ruolo si sommano tra loro. Le autorizzazioni di un gruppo o di un utente di Windows in un ruolo del database vengono aggiunte a quelle di cui lo stesso gruppo o utente di Windows dispone in altri ruoli del database. Se un ruolo nega a un utente o a un gruppo le autorizzazioni per eseguire determinate attività o per visualizzare determinati dati, mentre un altro ruolo concede a tale utente o gruppo queste autorizzazioni, l'utente o il gruppo disporrà delle autorizzazioni per eseguire l'attività o visualizzare i dati.
Per ulteriori informazioni:Identità e controllo di accesso (Analysis Services - Dati multidimensionali).
Diritti di amministratore
Sebbene ai membri del ruolo del server vengano automaticamente concessi diritti di amministratore completi, questo non avviene per i membri di un ruolo del database. A un ruolo del database è possibile concedere diritti di Controllo completo, ovvero di amministratore, oppure un set di diritti più limitato contenente alcuni dei diritti che consentono di eseguire le operazioni riportate nell'elenco seguente:
Elaborazione del database
Lettura dei metadati del database
Elaborazione di una o più dimensioni
Lettura della definizione di una o più dimensioni
Elaborazione di uno o più cubi
Lettura della definizione di uno o più cubi
Elaborazione di una o più strutture di data mining
Elaborazione di uno o più modelli di data mining
Lettura della definizione di una o più strutture di data mining
Lettura della definizione di uno o più modelli di data mining
Lettura della definizione di una o più origini dei dati
Solo i membri del ruolo del server e di un ruolo del database con autorizzazioni di Controllo completo possono leggere i dati di Analysis Services senza che siano necessarie ulteriori autorizzazioni. Gli altri utenti possono leggere i dati di Analysis Services solo se il ruolo del database a cui appartengono concede loro espressamente le autorizzazioni di lettura o di lettura/scrittura per gli oggetti dati in Analysis Services, ad esempio dimensioni, cubi, celle e modelli di data mining.
Per ulteriori informazioni:Concessione dell'accesso amministrativo.
Sicurezza a livello di dimensione
Un ruolo del database può specificare se i membri dispongono delle autorizzazioni per visualizzare o aggiornare i membri della dimensione in dimensioni di database specifiche. In ogni dimensione in cui un ruolo del database dispone di diritti è, inoltre, possibile concedere al ruolo le autorizzazioni di visualizzazione o di aggiornamento solo per membri della dimensione specifici anziché per tutti i membri della dimensione. Se a un ruolo del database non vengono concesse le autorizzazioni per visualizzare o aggiornare una dimensione specifica e alcuni o tutti i membri della dimensione, i membri del ruolo del database non dispongono di autorizzazioni per visualizzare la dimensione o i relativi membri.
Nota
Le autorizzazioni per la dimensione concesse a un ruolo del database si applicano alle dimensioni del cubo basate sulla dimensione del database, a meno che nel cubo in cui viene utilizzata la dimensione del database non siano state concesse esplicitamente autorizzazioni diverse.
Per ulteriori informazioni:Concessione dell'accesso alla dimensione e Concessione di accesso personalizzato ai dati della dimensione.
Sicurezza a livello di cubo
Un ruolo del database può specificare se i relativi membri dispongono di autorizzazioni di lettura o di lettura/scrittura in uno o più cubi in un database. Se a un ruolo del database non vengono concesse autorizzazioni di lettura o di lettura/scrittura in almeno un cubo, i membri del ruolo del database non dispongono di autorizzazioni per visualizzare alcun cubo nel database, anche nel caso in cui dispongano di diritti per visualizzare i membri della dimensione.
Per ulteriori informazioni:Concessione dell'accesso ai cubi.
Sicurezza a livello di cella
Un ruolo del database può specificare se i relativi membri dispongono di autorizzazioni di lettura, lettura condizionale o lettura/scrittura in alcune o in tutte le celle di un cubo. Se a un ruolo del database non vengono concesse autorizzazioni nelle celle di un cubo, i membri del ruolo del database non dispongono di autorizzazioni per visualizzare i dati del cubo. Se a un ruolo del database vengono negate le autorizzazioni per visualizzare determinate dimensioni in base alle impostazioni di sicurezza delle dimensioni, la sicurezza a livello di cella non può estendere i diritti dei membri del ruolo del database per includere i membri della cella per tale dimensione. Se, tuttavia, a un ruolo del database vengono concesse le autorizzazioni per visualizzare i membri di una dimensione, è possibile utilizzare la sicurezza a livello di cella per limitare i membri della cella nella dimensione che possono essere visualizzati dai membri del ruolo del database.
Per ulteriori informazioni:Concessione di accesso personalizzato ai dati delle celle.
Sicurezza di strutture di data mining, modelli di data mining e origini dei dati
Un ruolo del database può specificare se i relativi membri dispongono di autorizzazioni di lettura o di lettura/scrittura nelle strutture e nei modelli di data mining. È inoltre possibile concedere a un ruolo del database le autorizzazioni per eseguire il drill-through nei dati di origine e per esplorare uno o più modelli di data mining, nonché le autorizzazioni di lettura/scrittura negli oggetti origine dei dati. Queste autorizzazioni consentono al ruolo di fare riferimento all'origine dei dati in una clausola OPENQUERY e di utilizzare la stringa di connessione definita nell'oggetto origine dei dati.
Per ulteriori informazioni:Concessione dell'accesso alle strutture di data mining e ai modelli di data mining e Concessione dell'accesso alle origini dei dati.
Sicurezza di stored procedure
In Analysis Services le stored procedure sono routine esterne, scritte in un linguaggio di programmazione Microsoft .NET, che estendono le funzionalità di Analysis Services. Le stored procedure consentono agli sviluppatori di disporre delle funzionalità di integrazione tra più linguaggi e di gestione delle eccezioni, nonché del supporto per il controllo delle versioni, per la distribuzione e per il debug.
Una stored procedure può essere chiamata da qualsiasi utente. In base al modo in cui è stata configurata, una stored procedure può essere eseguita nel contesto dell'utente che chiama la procedura o nel contesto di un utente anonimo. Poiché un utente anonimo non dispone di un contesto di sicurezza, utilizzare questa funzionalità quando si configura l'istanza di Analysis Services in modo da concedere l'accesso anonimo.
Dopo che un utente ha chiamato una stored procedure, ma prima che la stored procedure venga eseguita in Analysis Services, le azioni incluse nella stored procedure vengono valutate da Analysis Services. In Analysis Services tale valutazione viene effettuata in base all'intersezione tra le autorizzazioni concesse all'utente e il set di autorizzazioni utilizzato per l'esecuzione della stored procedure. Se la stored procedure contiene un'azione che non può essere eseguita dal ruolo del database a cui appartiene l'utente, l'azione non viene eseguita.
Di seguito sono indicati i set di autorizzazioni utilizzati per eseguire le stored procedure:
**Sicure **Con il set di autorizzazioni Sicure, una stored procedure non può accedere alle risorse protette in Microsoft .NET Framework. Questo set di autorizzazioni consente esclusivamente i calcoli. Si tratta del set di autorizzazioni che offre la protezione maggiore. Le informazioni non vengono propagate al di fuori di Analysis Services, le autorizzazioni non possono essere innalzate e il rischio di attacchi di manomissione dei dati è ridotto al minimo.
**Accesso esterno **Con il set di autorizzazioni Accesso esterno, una stored procedure può accedere alle risorse esterne utilizzando codice gestito. L'impostazione di questo set di autorizzazioni per una stored procedure non causa errori di programmazione che potrebbero portare all'instabilità del server. Questo set di autorizzazioni, tuttavia, potrebbe consentire la propagazione delle informazioni al di fuori del server e potrebbe offrire la possibilità di innalzamento delle autorizzazioni e di attacchi di manomissione dei dati.
**Senza restrizioni **Con il set di autorizzazioni Senza restrizioni, una stored procedure può accedere alle risorse esterne utilizzando codice di qualsiasi tipo. Con questo set di autorizzazioni non vi sono garanzie di sicurezza o di affidabilità per le stored procedure.
Crittografia
Per impostazione predefinita, in Analysis Services tutte le comunicazioni tra i client e l'istanza di Analysis Services devono essere crittografate.
Per ulteriori informazioni:Sicurezza delle comunicazioni dei client con un'istanza di Analysis Services
Disattivazione per impostazione predefinita.
Un'istanza di Analysis Services è progettata per garantire sicurezza per impostazione predefinita. Le caratteristiche che potrebbero mettere a repentaglio la sicurezza sono pertanto disabilitate per impostazione predefinita. Le caratteristiche seguenti sono disabilitate per impostazione predefinita e devono essere abilitate specificamente se si desidera utilizzarle:
Connettività HTTP
Traccia
Stored procedure
Partizioni remote
Oggetti collegati (a)
Oggetti collegati (da)
Funzionalità di aggregazione di data mining
Livello di protezione client
Livello di protezione Web
Richiesta di autenticazione client
Integrazione con Active Directory
Query OpenRowset ad hoc
Connettività client 8.0
Segnalazioni di arresti anomali