Ruoli di protezione (Analysis Services - Dati multidimensionali)

I ruoli vengono utilizzati in MicrosoftSQL ServerAnalysis Services per gestire la protezione di oggetti e dati di Analysis Services. In termini di base, un ruolo associa gli identificatori di protezione (SID) di utenti e gruppi di Microsoft Windows per cui sono stati definiti autorizzazioni e diritti di accesso specifici per gli oggetti gestiti da un'istanza di Analysis Services. In Analysis Services sono disponibili due tipi di ruoli:

  • Ruolo del server, un ruolo fisso che garantisce l'accesso come amministratore a un'istanza di Analysis Services.

  • Ruoli di database, ruoli definiti dagli amministratori per controllare l'accesso a oggetti e dati per gli utenti non amministratori.

In MicrosoftSQL ServerAnalysis Services la protezione è gestita mediante i ruoli e le autorizzazioni. I ruoli sono gruppi di utenti. Gli utenti, denominati anche membri, possono essere aggiunti o rimossi dai ruoli. Le autorizzazioni per gli oggetti sono specificate dai ruoli e tutti i membri di un ruolo possono utilizzare gli oggetti per i quali il ruolo dispone delle autorizzazioni. Tutti i membri di un ruolo dispongono delle stesse autorizzazioni per gli oggetti. Le autorizzazioni sono specifiche degli oggetti: per ciascun oggetto è disponibile una raccolta delle autorizzazioni concesse su di esso. A un oggetto possono essere concessi diversi set di autorizzazioni. A ogni autorizzazione presente nella raccolta delle autorizzazioni dell'oggetto è assegnato un solo ruolo.

Oggetti ruolo e membri del ruolo

Un ruolo è un oggetto contenitore per una raccolta di utenti (membri). Una definizione di ruolo stabilisce l'appartenenza degli utenti in Analysis Services. Poiché le autorizzazioni sono assegnate per ruolo, è necessario che un utente sia membro di un ruolo affinché possa accedere a un oggetto.

Un oggetto Role è composto dai parametri Name, ID e Members. Members rappresenta una raccolta di stringhe. Ciascun membro contiene il nome utente nel formato "dominio\nome utente". Name è una stringa che contiene il nome del ruolo. ID è una stringa che contiene l'identificatore univoco del ruolo.

Ruolo del server

Il ruolo del server di Analysis Services definisce l'accesso amministrativo di utenti e gruppi di Windows a un'istanza di Analysis Services. I membri di questo ruolo hanno accesso a tutti i database e gli oggetti di Analysis Services in un'istanza di Analysis Services e possono eseguire le seguenti attività:

  • Eseguire funzioni amministrative a livello di server utilizzando SQL Server Management Studio o Business Intelligence Development Studio, incluse la creazione di database e l'impostazione di proprietà a livello di server.

  • Eseguire funzioni amministrative a livello di programmazione con la libreria AMO (Analysis Management Objects).

  • Gestire i ruoli di database di Analysis Services.

  • Avviare tracce, per finalità diverse dall'elaborazione degli eventi che può essere eseguita da un ruolo di database con accesso di tipo Process.

Ogni istanza di Analysis Services dispone di un ruolo del server che definisce gli utenti che possono amministrare l'istanza. A differenza dei ruoli di database, questo ruolo, con nome e ID "Administrators", non può essere eliminato. Non è inoltre possibile aggiungere o rimuovere autorizzazioni. In altri termini, un utente è un amministratore per un'istanza di Analysis Services o meno a seconda della relativa inclusione nel ruolo del server per tale istanza di Analysis Services. Argomenti correlati:Concessione dell'accesso amministrativo, Impostazione delle proprietà di configurazione del server.

Ruoli di database

Un ruolo di database di Analysis Services definisce l'accesso degli utenti a oggetti e dati di un database di Analysis Services. Un ruolo di database viene creato come oggetto separato in un database di Analysis Services e viene applicato soltanto al database in cui è stato creato. Utenti e gruppi di Windows vengono inclusi nel ruolo da un amministratore, che definisce inoltre le autorizzazioni all'interno del ruolo.

Le autorizzazioni di un ruolo consentono ai membri di accedere al database e amministrarlo, in aggiunta agli oggetti e ai dati all'interno del database. A ogni autorizzazione è associato uno o più diritti di accesso, in grado di garantire all'autorizzazione un maggiore controllo sull'accesso a un determinato oggetto del database. Argomenti correlati:Autorizzazioni e diritti di accesso (Analysis Services - Dati multidimensionali), Concessione dell'accesso utente

Oggetti autorizzazioni

Le autorizzazioni sono associate a un oggetto (cubo, dimensione e così via) di un determinato ruolo e determinano le operazioni che il membro del ruolo in questione può eseguire sull'oggetto.

La classe Permission è astratta. È pertanto necessario utilizzare le classi derivate per definire le autorizzazioni per gli oggetti corrispondenti. Per ogni oggetto è definita una classe derivata dell'autorizzazione.

Nell'elenco sono riportate le azioni possibili attivate dalle autorizzazioni:

Azione

Valori

Spiegazione

Process

{true, false}

Valore predefinito = false

Se true, i membri possono elaborare l'oggetto e qualsiasi altro oggetto in esso contenuto.

Le autorizzazioni Process non si applicano ai modelli di data mining. Le autorizzazioni MiningModel vengono sempre ereditate da MiningStructure.

ReadDefinition

{None, Basic, Allowed}

Valore predefinito = None

Specifica se i membri possono leggere la definizione dei dati (ASSL) associata all'oggetto.

Se Allowed, i membri possono leggere la definizione ASSL associata all'oggetto.

I valori Basic e Allowed vengono ereditati dagli oggetti contenuti nell'oggetto. Allowed ha la priorità su Basic e None.

Allowed è richiesto per DISCOVER_XML_METADATA in un oggetto. Basic è necessario per creare oggetti collegati e cubi locali.

Read

{None, Allowed}

Valore predefinito = None (tranne per DimensionPermission, il cui valore predefinito = Allowed)

Specifica se i membri dispongono dell'accesso in lettura al set di righe dello schema e al contenuto dei dati.

Allowed fornisce l'accesso in lettura per un database, che consente di individuare un database.

Il valore Allowed per un cubo fornisce l'accesso in lettura nei set di righe dello schema e l'accesso al contenuto del cubo, a meno che non siano applicati i vincoli CellPermission e CubeDimensionPermission.

Il valore Allowed per una dimensione concede l'autorizzazione di lettura per tutti gli attributi nella dimensione, a meno che non sia applicato il vincolo CubeDimensionPermission. L'autorizzazione di lettura è utilizzata solo per l'ereditarietà statica a CubeDimensionPermission. Il valore None per una dimensione nasconde la dimensione e fornisce al membro predefinito solo l'accesso agli attributi aggregabili. Se la dimensione contiene un attributo non aggregabile, viene generato un errore.

Il valore Allowed per MiningModelPermission concede le autorizzazioni per la visualizzazione degli oggetti nei set di righe dello schema e per l'esecuzione di PREDICTION JOIN.

Nota   Allowed è necessario per le operazioni di lettura o scrittura in qualsiasi oggetto nel database.

Write

{None, Allowed}

Valore predefinito = None

Specifica se i membri dispongono dell'accesso in scrittura ai dati dell'oggetto padre.

L'accesso si applica alle sottoclassi Dimension, Cube e MiningModel, ma non alle sottoclassi MiningStructure del database. In questo caso, viene generato un errore di convalida.

Il valore Allowed per Dimension concede l'autorizzazione di scrittura per tutti gli attributi nella dimensione.

Il valore Allowed per Cube concede l'autorizzazione di scrittura per le celle del cubo delle partizioni definite come Type=writeback.

Il valore Allowed per MiningModel concede l'autorizzazione per la modifica del contenuto del modello.

Il valore Allowed per MiningStructure non ha alcun significato specifico in Analysis Services.

NotaNota
È possibile impostare la scrittura su Allowed solo se anche la lettura è impostata su Allowed.

Administer

NotaNota
Solo nelle autorizzazioni di database

{true, false}

Valore predefinito = false

Specifica se i membri possono amministrare un database.

true concede ai membri l'accesso a tutti gli oggetti in un database.

Un membro può disporre delle autorizzazioni Administer per un database specifico, ma non per altri database.