Share via


Protezione 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 protezione degli elementi dei modelli e tramite la protezione del database.

Poiché la protezione 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:

  • Protezione basata sui ruoli di un modello, ovvero l'autorizzazione a visualizzare un modello nella gerarchia di cartelle del server di report.
  • Protezione 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.
  • Protezione degli elementi all'interno del modello.
  • Protezione del database a livello di visualizzazione, tabella o colonna.

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

Protezione degli elementi di un modello

La protezione degli elementi del modello consente il controllo dell'accesso a parti specifiche di un modello. Per configurare la protezione degli elementi del modello, utilizzare SQL Server Management Studio. Dopo aver attivato la protezione degli elementi del modello è possibile creare l'assegnazione di ruolo in determinati nodi dello spazio dei nomi del modello. Per ulteriori informazioni, vedere Proprietà modelli (pagina Protezione elemento modello).

Uno spazio dei nomi di un modello di report viene rappresentato come una struttura gerarchica che include un nodo principale, 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 protezione, degli elementi del modello. Quando si visualizza il modello in Management Studio, è possibile sfogliare la struttura gerarchica e specificare le assegnazioni di ruolo a livelli diversi. È possibile specificare le assegnazioni di ruolo associate al nodo principale 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 protezione dello spazio dei nomi delle cartelle del server di report, lo spazio dei nomi del modello supporta la protezione ereditata per gli elementi inferiori della struttura.

Per impostazione predefinita la protezione degli elementi del modello è disattivata. Quando la protezione 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 protezione 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 può essere utilizzata per l'esplorazione dei dati né può restituire dati in un report. Se la protezione 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.

Protezione dei modelli tramite la protezione del database

La protezione del database rappresenta il terzo livello di protezione 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 protezione 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 protezione del database a livello di tabella o di colonna, è importante tenere in considerazione gli effetti sugli spostamenti 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 protezione 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 protezione integrata di Windows.

Elementi del modello a protezione diretta

Utilizzare Management Studio per proteggere le parti seguenti di un modello:

  • nodo principale
  • 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 protezione viene ereditata in base alla protezione 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 protezione del modello di report viene separata dalla protezione definita dall'utente nella gerarchia di cartelle del server di report e a livello di sistema. Non è possibile accedere al nodo principale 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

La protezione degli elementi in un modello richiede una connessione al server di report in Management Studio. Per proteggere gli elementi del modello, quest'ultimo deve essere distribuito nel server di report.

  1. In Management Studio eseguire la connessione al server di report in cui è archiviato il modello.
  2. In Esplora oggetti passare al modello, fare clic con il pulsante destro del mouse sul modello che si desidera proteggere e quindi scegliere Proprietà.
  3. Nella pagina Proprietà modello fare clic su Protezione elemento modello.
  4. Selezionare la casella di controllo Protezione indipendente dei singoli elementi del modello.
  5. Selezionare il nodo principale. Nel nodo principale è necessaria un'assegnazione di ruolo.
  6. Fare clic su Usa i ruoli seguenti per ogni account utente o di gruppo.
  7. Fare clic su Aggiungi gruppo o utente.
  8. Selezionare il gruppo o l'utente per il quale si crea l'assegnazione di ruolo e quindi fare clic su OK.
  9. Passare all'entità, alla relazione, alla cartella o al campo successivo che si desidera proteggere. Ripetere i passaggi da 6 a 8.

Vedere anche

Concetti

Proprietà degli oggetti di Progettazione modelli
Insieme HiddenFields (Progettazione modelli)
Utilizzo di Progettazione modelli

Guida in linea e informazioni

Assistenza su SQL Server 2005