sicurezza dei modelli
In un server di report, i modelli di report vengono utilizzati come origini dei dati per la creazione e l'utilizzo di report ad hoc. È possibile proteggere i modelli di report in tre modi: tramite lo spazio dei nomi della cartella del server di report, tramite la sicurezza degli elementi dei modelli e tramite la sicurezza del database.
Poiché la sicurezza per i modelli di report è a più livelli, un utente che può visualizzare un modello in una gerarchia di cartelle potrebbe incontrare limitazioni relative alle modalità di utilizzo del modello nelle fasi di progettazione e di esecuzione. La possibilità di utilizzare un modello come origine dei dati di un report dipende dai fattori seguenti:
sicurezza basata sui ruoli di un modello, ovvero l'autorizzazione a visualizzare un modello nella gerarchia di cartelle del server di report.
sicurezza basata sui ruoli del report che utilizza il modello come origine dei dati. Se l'utente non può accedere al report, potrebbe non essere in grado di visualizzare i dati ottenuti dal modello. In Reporting Services i dati del modello sono visualizzabili solo nei report, mentre le applicazioni di terze parti possono visualizzare i dati dei modelli in altri modi.
Sicurezza degli elementi all'interno del modello.
sicurezza del database a livello di visualizzazione, tabella o colonna.
sicurezza di un modello di report nello spazio dei nomi della cartella
Come per tutti gli elementi archiviati in un server di report, è possibile definire assegnazioni di ruolo a livello di elemento che determinano se l'utente è autorizzato a visualizzare o gestire un modello di report.
Gli utenti che dispongono dell'autorizzazione per la visualizzazione di un modello, possono visualizzarlo nella gerarchia di cartelle del server di report, leggere una quantità limitata di informazioni relative al modello nella pagina delle proprietà Generale, ad esempio la data di creazione o di modifica, ed eseguire una query sul modello facendo clic sui collegamenti in qualsiasi report ad hoc che utilizza il modello come origine dei dati.
Gli utenti che dispongono dell'autorizzazione per la gestione di un modello possono eliminare, rinominare e aggiornare il modello. Le attività di gestione del modello richiedono in genere l'autorizzazione per pubblicare nuovi modelli. Tale autorizzazione viene in realtà trasmessa tramite le assegnazioni di ruolo associate alle cartelle, dove l'assegnazione di ruolo di una cartella determina se gli utenti sono autorizzati ad aggiungervi elementi.
Gli utenti che dispongono dell'autorizzazione per visualizzare un modello pubblicato non possono aprirlo direttamente per visualizzarne il contenuto né eseguirne il download nel file system. In fase di esecuzione, ogni interazione con il modello di report avviene tramite il report che lo utilizza.
sicurezza degli elementi di un modello
La sicurezza degli elementi del modello consente il controllo dell'accesso a parti specifiche di un modello. Per configurare la sicurezza degli elementi dei modelli, utilizzare SQL Server Management Studio. Dopo aver attivato la sicurezza degli elementi del modello è possibile creare l'assegnazione di ruolo in determinati nodi dello spazio dei nomi del modello. Per ulteriori informazioni, vedere Pagina sicurezza elemento modello (Gestione report).
Uno spazio dei nomi di un modello di report viene rappresentato come una struttura gerarchica che include un nodo radice, entità, ruoli di modello e campi. Lo spazio dei nomi include inoltre le cartelle e le prospettive che si possono utilizzare per l'organizzazione, ma non per la sicurezza, degli elementi del modello. Quando si visualizza il modello in Management Studio, è possibile spostarsi nella struttura gerarchica e specificare le assegnazioni di ruolo a livelli diversi. È possibile specificare le assegnazioni di ruolo associate al nodo radice di un modello di report per controllare l'accesso a tutto il modello oppure relative a parti di un modello per modificare le autorizzazioni di accesso per determinati rami. Come nel caso della sicurezza dello spazio dei nomi delle cartelle del server di report, lo spazio dei nomi del modello supporta la sicurezza ereditata per gli elementi inferiori dell'albero.
Per impostazione predefinita la sicurezza degli elementi del modello è disattivata. Quando la sicurezza degli elementi del modello non è attivata, tutte le autorizzazioni per visualizzare i dati che il modello rappresenta vengono determinate tramite le assegnazioni di ruolo del modello e del report nella gerarchia di cartelle del server di report.
La sicurezza degli elementi del modello è visibile all'utente. Se un utente non dispone dell'autorizzazione per l'accesso a un particolare ramo della gerarchia del modello, la parte del modello non viene visualizzata nel report e non potrà essere utilizzata per l'esplorazione dei dati né potrà restituire dati in un report. Se la sicurezza degli elementi del modello è attivata, il server di report modifica la query che viene inviata all'origine dei dati per escludere ogni parte del modello che non rientri nei limiti imposti all'utente.
Sicurezza dei modelli tramite la sicurezza del database
La sicurezza del database rappresenta il terzo livello di sicurezza in un report guidato dal modello. Se si limita l'accesso alle tabelle o alle colonne, il database restituirà un errore di accesso negato per tutti gli accessi non autorizzati. Se si includono nel modello tabelle o colonne soggette alla sicurezza del database, verrà restituito un messaggio di errore del database se un utente accede a un elemento del modello che esegue il mapping a una tabella o una colonna che non è autorizzato a visualizzare. Mentre in alcuni scenari è necessaria la sicurezza del database a livello di tabella o di colonna, è importante tenere in considerazione gli effetti sulla navigazione nei report ad hoc. Un utente che visualizza un messaggio di errore del database mentre si sposta all'interno di un report deve ripercorrere i passaggi compiuti per tornare alla parte di modello alla quale può accedere.
Nota
Se si utilizza la sicurezza del database per assicurare che solo determinati utenti possano accedere alla lettura dei valori di colonne o tabelle specifiche, verificare di aver configurato l'origine dei dati per l'utilizzo della sicurezza integrata di Windows.
Elementi del modello a sicurezza diretta
Utilizzare Management Studio per proteggere le parti seguenti di un modello:
nodo radice
cartelle
entità
ruoli del modello, ove il termine "ruolo" si riferisce alla relazione tra le entità
campi
Non è possibile proteggere le prospettive come elemento intero, ma è possibile proteggere gli elementi del modello all'interno della prospettiva. La sicurezza viene ereditata in base alla sicurezza dell'elemento del modello. Se ad esempio solo gli amministratori del modello possono accedere a un elemento del modello, allora potranno accedervi solo quando viene visualizzato nella prospettiva.
La sicurezza del modello di report viene separata dalla sicurezza definita dall'utente nella gerarchia di cartelle del server di report e a livello di sistema. Non è possibile accedere al nodo radice di un modello o proteggerlo mediante la gerarchia di cartelle.
Nascondere gli elementi del modello
In alternativa alla limitazione dell'accesso tramite le assegnazioni di ruolo, è possibile utilizzare la proprietà Hidden per evitare che l'utente possa visualizzare parti di un modello. Se non si desidera che un utente visualizzi un elemento del modello, modificare l'impostazione della proprietà Hidden per l'elemento su true in Progettazione modelli. Un elemento nascosto non viene eliminato dal calcolo o dalle relazioni del modello. Se ad esempio si nasconde un campo che viene utilizzato in un'espressione, il campo viene ancora utilizzato in questa espressione, anche se l'utente non può vederlo. Se un elemento viene nascosto, non sarà visibile per nessun utente. Se si desidera modificare la visibilità e l'accesso in base all'utente o al gruppo, utilizzare le assegnazioni di ruolo al posto della proprietà Hidden per proteggere l'elemento.
Come proteggere gli elementi in un modello di report
È possibile proteggere gli elementi in un modello da Gestione report. Per proteggere gli elementi del modello, quest'ultimo deve essere distribuito nel server di report.
In Gestione report, passare alla cartella che contiene il modello.
Posizionare il puntatore del mouse sul nome del modello, quindi fare clic sulla freccia per aprire il menu e selezionare Protezione.
Nella pagina Proprietà modello fare clic su Protezione elemento modello.
Selezionare la casella di controllo Protezione indipendente dei singoli elementi del modello.
Selezionare il nodo radice. Per il nodo radice è necessaria un'assegnazione di ruolo.
Fare clic su Assegna autorizzazione di lettura ai seguenti utenti e gruppi.
Digitare l'elenco di utenti o gruppi separati da un punto e virgola ";".
Fare clic su Applica.
Passare all'entità, alla relazione, alla cartella o al campo successivo che si desidera proteggere. Ripetere i passaggi da 6 a 8.