Concessione di accesso personalizzato ai dati delle celle

Dopo aver concesso a un ruolo del database in MicrosoftSQL Server 2005 Analysis Services (SSAS) autorizzazioni di lettura o di lettura/scrittura per un cubo, i membri del ruolo possono visualizzare tutti i dati delle celle. Per limitare l'accesso a celle specifiche, è necessario limitare l'accesso alle celle in modo specifico. Per limitare l'accesso a membri della dimensione specifici, vedere Concessione di accesso personalizzato ai dati delle celle.

Per concedere a un ruolo del database l'accesso a celle specifiche, è possibile utilizzare un'espressione MDX (Multidimensional Expression) per definire un intervallo di celle con autorizzazioni di lettura, lettura condizionale o lettura/scrittura. Per ulteriori informazioni, vedere Utilizzo di espressioni MDX per l'impostazione di autorizzazioni sui dati delle celle.

Linee guida per l'impostazione di autorizzazioni

Indipendentemente dal fatto che un ruolo del database disponga di autorizzazioni di lettura, lettura condizionale o lettura/scrittura, vi sono alcune linee guida e informazioni di base che possono semplificare la gestione delle autorizzazioni.

  • Prestare attenzione quando si concedono autorizzazioni per celle derivate
    Una cella derivata ottiene i dati da altre celle. Se il ruolo del database dispone di autorizzazioni per la cella derivata, ma non per le celle da cui la cella derivata ottiene i valori, un membro di tale ruolo del database potrebbe dedurre i valori delle celle per le quali non dispone di autorizzazioni. Un ruolo del database dispone, ad esempio di autorizzazioni per le celle delle misure Sales e Profit, ovvero queste misure sono visibili al ruolo del database, ma non dispone di autorizzazioni per le celle della misura Cost. Un membro di questo ruolo del database può determinare i valori della misura Cost sottraendo quelli della misura Profit da quelli della misura Sales.

  • Le autorizzazioni per i dati delle celle non possono essere superiori a quelle per il cubo
    Le autorizzazioni concesse per celle specifiche non possono essere superiori a quelle concesse al ruolo del database nell'intero cubo. Un ruolo del database dispone, ad esempio, di autorizzazioni di lettura/scrittura in una cella ma solo di lettura nel cubo. In questo caso le autorizzazioni per i dati della cella non potranno essere di lettura/scrittura ma solo di lettura.

  • L'accesso ai dati delle celle non consente l'accesso ai dati della dimensione
    Sebbene un ruolo del database possa disporre di accesso ai dati delle celle, tale ruolo non disporrà di accesso ai dati della dimensione a meno che al ruolo siano state concesse separatamente le autorizzazioni di lettura o di lettura/scrittura per i dati della dimensione. L'accesso ai dati del cubo può limitare l'accesso agli attributi della dimensione per i quali il ruolo del database dispone di accesso, ma non può estendere l'accesso agli attributi della dimensione per i quali il ruolo del database non dispone di accesso.

  • Negando l'accesso ai dati delle celle non si nascondono le celle da un utente
    Le autorizzazioni di accesso ai dati delle celle non consentono di controllare se un ruolo del database può visualizzare una cella, bensì se il ruolo può visualizzare i contenuti della cella. Se un ruolo del database non dispone di accesso ai dati della cella, la cella è comunque visibile nei risultati di una query. Al posto del valore effettivo, tuttavia, la cella contiene il valore #N/A. Il valore #N/A viene visualizzato nella cella a meno che non venga tradotto dall'applicazione client o non venga specificato un altro valore impostando la proprietà Secured Cell Value nella stringa di connessione.

    Se si desidera che la cella non venga visualizzata nei risultati, è necessario limitare i membri, ovvero dimensioni, attributi della dimensione e membri dell'attributo della dimensione, che è possibile visualizzare. Per ulteriori informazioni, vedere Concessione dell'accesso alla dimensione e Concessione di accesso personalizzato ai dati della dimensione.

Impostazione di autorizzazioni di lettura per i dati delle celle

Le celle per le quali un ruolo del database dispone di autorizzazioni di lettura possono essere visualizzate dai membri di tale ruolo. Le celle possono essere visualizzate anche se sono derivate da celle per le quali il ruolo del database non dispone di autorizzazioni di accesso.

Si supponga, ad esempio, che vi sia una misura calcolata denominata Profit derivata dalle celle delle misure Sales e Cost. Se un ruolo del database dispone di autorizzazioni di lettura per le celle di Profit, questa misura può essere visualizzata anche se il ruolo del database non dispone di autorizzazioni di lettura per le celle delle misure Sales o Cost.

[!NOTA]

Se a un ruolo del database vengono concesse autorizzazioni di lettura in un subset delle celle di un cubo, ma non è presente un'espressione MDX che specifichi le celle a cui vengono concesse le autorizzazioni di lettura, il ruolo del database non disporrà di autorizzazioni di lettura in alcuna cella del cubo. Ciò dipende dal fatto che il set consentito predefinito è vuoto quando Analysis Services risolve un subset di celle di un cubo.

Per concedere le autorizzazioni di accesso a un membro in una dimensione, un utente deve essere membro del ruolo del server di Analysis Services oppure di un ruolo del database di Analysis Services che disponga di autorizzazioni Controllo completo (amministratore).

Per concedere a un ruolo del database l'accesso in lettura ai dati delle celle

  1. In SQL Server Management Studio connettersi all'istanza di Analysis Services, espandere il nodo Ruoli relativo al database appropriato in Esplora oggetti e quindi fare clic su un ruolo del database oppure creare un nuovo ruolo del database.

  2. Fare clic su Dati delle celle nel riquadro Selezione pagina, selezionare il cubo nell'elenco Cubo e quindi selezionare la casella di controllo Attiva autorizzazioni di lettura.

    Se nella casella Consenti lettura del contenuto del cubo non vengono specificati membri, sarà possibile visualizzare tutte le celle del cubo.

  3. Per concedere l'accesso solo a determinati membri, immettere un'espressione MDX per le celle del cubo nella casella Consenti lettura del contenuto del cubo. Non sarà possibile visualizzare altre celle del cubo.

    Per un aiuto nella creazione dell'espressione MDX, fare clic sul pulsante Sfoglia (...) accanto a Modifica MDX e quindi utilizzare la finestra Generatore MDX visualizzata per creare l'espressione MDX.

    Per esempi di espressioni MDX utilizzate per impostare le autorizzazioni sui dati delle celle, vedere Utilizzo di espressioni MDX per l'impostazione di autorizzazioni sui dati delle celle.

Impostazione di autorizzazioni di lettura condizionale per i dati delle celle

Le celle per cui un ruolo del database dispone di autorizzazioni di lettura condizionale possono essere visualizzate solo se si verifica una delle condizioni seguenti:

  • Le celle con autorizzazioni di lettura condizionale non sono derivate da altre celle.

  • Le celle con autorizzazioni di lettura condizionale sono derivate da altre celle, ma il ruolo del database dispone di autorizzazioni di lettura per tutte le celle da cui le celle sono state derivate.

Un ruolo del database dispone, ad esempio, di autorizzazioni di lettura condizionale per le celle di Profit. Le celle di Profit sono derivate dalle misure Sales e Cost. In questo caso, le celle di Profit possono essere visualizzate solo se il ruolo del database dispone delle autorizzazioni di lettura per entrambe le misure Sales e Cost. Se il ruolo del database dispone di autorizzazioni di lettura condizionale per le celle di Cost e la misura Cost è stata derivata da altre celle, le celle di Profit possono essere visualizzate solo se il ruolo del database dispone di autorizzazioni di lettura per le celle da cui è stata derivata la misura Cost. Con l'autorizzazione di lettura condizionale è pertanto possibile che si venga a creare una catena di condizioni quando una cella viene derivata da altre celle che sono a loro volta derivate da altre celle e così via.

[!NOTA]

Se un ruolo del database dispone sia di autorizzazioni di lettura che di lettura condizionale in un cella, il ruolo dispone di autorizzazioni di lettura in tale cella.

[!NOTA]

Se a un ruolo del database vengono concesse autorizzazioni di lettura condizionali in un subset delle celle di un cubo, ma non è presente un'espressione MDX che specifichi le celle a cui vengono concesse le autorizzazioni di lettura condizionali, il ruolo del database non disporrà di autorizzazioni di lettura condizionali in alcuna cella del cubo. Ciò dipende dal fatto che il set consentito predefinito è vuoto quando Analysis Services risolve un subset di celle di un cubo.

Per concedere autorizzazioni di accesso a un membro in una dimensione, un utente deve essere un membro del ruolo del server di Analysis Services oppure di un ruolo del database di Analysis Services che disponga di autorizzazioni Controllo completo (amministratore).

Per concedere a un ruolo del database l'accesso in lettura condizionale ai dati delle celle

  1. In SQL Server Management Studio connettersi all'istanza di Analysis Services, espandere il nodo Ruoli relativo al database appropriato in Esplora oggetti e quindi fare clic su un ruolo del database oppure creare un nuovo ruolo del database.

  2. Fare clic su Dati delle celle nel riquadro Selezione pagina, selezionare il cubo nell'elenco Cubo e quindi selezionare la casella di controllo Attiva autorizzazioni di lettura condizionale.

  3. Nella casella Consenti lettura del contenuto della cella a seconda della protezione della cella immettere un'espressione MDX che identifichi le celle in cui al ruolo del database vengono concesse le autorizzazioni di lettura condizionale.

    Per un aiuto nella creazione dell'espressione MDX, fare clic sul pulsante Sfoglia (...) accanto a Modifica MDX e quindi utilizzare la finestra Generatore MDX visualizzata per creare l'espressione MDX.

    Per esempi di espressioni MDX utilizzate per impostare le autorizzazioni sui dati delle celle, vedere Utilizzo di espressioni MDX per l'impostazione di autorizzazioni sui dati delle celle.

Impostazione di autorizzazioni di lettura/scrittura per i dati delle celle

Le celle per le quali un ruolo del database dispone di autorizzazioni di lettura/scrittura possono essere visualizzate e aggiornate dai membri di tale ruolo, a condizione che i membri dispongano di autorizzazioni di lettura/scrittura per il cubo stesso. Le autorizzazioni concesse a livello di cella non possono essere superiori rispetto a quelle concesse a livello di cubo.

[!NOTA]

Se a un ruolo del database vengono concesse autorizzazioni di lettura/scrittura in un subset delle celle di un cubo, ma non è presente un'espressione MDX che specifichi le celle a cui vengono concesse le autorizzazioni di lettura/scrittura, il ruolo del database non disporrà di autorizzazioni di lettura/scrittura in alcuna cella del cubo. Ciò dipende dal fatto che il set consentito predefinito è vuoto quando Analysis Services risolve un subset di celle di un cubo.

Per concedere o negare autorizzazioni di accesso a celle specifiche, un utente deve essere membro del ruolo del server di Analysis Services oppure di un ruolo del database di Analysis Services che disponga delle autorizzazioni Controllo completo (amministratore).

Per concedere a un ruolo del database l'accesso in lettura/scrittura ai dati delle celle

  1. In SQL Server Management Studio connettersi all'istanza di Analysis Services, espandere il nodo Ruoli relativo al database appropriato in Esplora oggetti e quindi fare clic su un ruolo del database oppure creare un nuovo ruolo del database.

  2. Fare clic su Dati delle celle nel riquadro Selezione pagina, selezionare il cubo nell'elenco Cubo e quindi selezionare la casella di controllo Attiva autorizzazioni di lettura/scrittura.

  3. Nella casella Consenti lettura e scrittura del contenuto del cubo immettere un'espressione MDX che identifichi le celle in cui al ruolo del database vengono concesse le autorizzazioni di lettura/scrittura.

    Per un aiuto nella creazione dell'espressione MDX, fare clic sul pulsante Sfoglia (...) accanto a Modifica MDX e quindi utilizzare la finestra Generatore MDX visualizzata per creare l'espressione MDX.

    Per esempi di espressioni MDX utilizzate per impostare le autorizzazioni sui dati delle celle, vedere Utilizzo di espressioni MDX per l'impostazione di autorizzazioni sui dati delle celle.