Sicurezza a livello di oggetto

Si applica a: SQL Server Analysis Services Azure Analysis Services Power BI Premium

La sicurezza del modello di dati inizia con l'implementazione efficace di ruoli e filtri a livello di riga per definire le autorizzazioni utente per i dati e gli oggetti del modello di dati. Per i modelli tabulari 1400 e superiori, è anche possibile definire la sicurezza a livello di oggetto (OLS), che include la sicurezza a livello di tabella e la sicurezza a livello di colonna nell'oggetto Ruoli. Se configurati, i dati di tabelle e colonne vengono protetti insieme ai metadati per impedire a un utente malintenzionato di individuare tale oggetto.

OlS può essere configurato tramite l'editortabulare open source, il linguaggio TMSL (Tabular Model Scripting Language)o il modello a oggetti tabulare (TOM, Tabular Object Model).

Sicurezza a livello di tabella

Con la sicurezza a livello di tabella, è possibile limitare non solo l'accesso ai dati della tabella, ma anche i metadati dei nomi di tabella sensibili. Impostare la proprietà metadataPermission della classe tablePermissions nell'oggetto Roles su none.

In questo esempio la proprietà metadataPermission della classe tablePermissions per la tabella Product è impostata su none:

"roles": [
  {
    "name": "Users",
    "description": "All allowed users to query the model",
    "modelPermission": "read",
    "tablePermissions": [
      {
        "name": "Product",
        "metadataPermission": "none"
      }
    ]
  }

Sicurezza a livello di colonna

Analogamente alla sicurezza a livello di tabella, con la sicurezza a livello di colonna è possibile limitare non solo l'accesso ai dati della colonna, ma anche i metadati dei nomi di colonna sensibili. Impostare la proprietà metadataPermission della classe columnPermissions nell'oggetto Roles su none.

In questo esempio la proprietà metadataPermission della classe columnPermissions per la colonna Base Rate della tabella Employees è impostata su none:

"roles": [
  {
    "name": "Users",
    "description": "All allowed users to query the model",
    "modelPermission": "read",
    "tablePermissions": [
      {
        "name": "Employee",
        "columnPermissions": [
          {
            "name": "Base Rate",
            "metadataPermission": "none"
          }
        ]
      }
    ]
  }

Restrizioni

  • Non è possibile impostare la sicurezza a livello di tabella per un modello se interrompe una catena di relazioni. Viene generato un errore in fase di progettazione. Ad esempio, se sono presenti relazioni tra le tabelle A e B e B e C, non è possibile proteggere la tabella B. Se la tabella B è protetta, una query sulla tabella A non può transitare le relazioni tra le tabelle A e B e C. In questo caso, è possibile configurare una relazione separata tra le tabelle A e C.

    Sicurezza a livello di tabella

  • La sicurezza a livello di riga e la sicurezza a livello di oggetto non possono essere combinate da ruoli diversi perché potrebbe introdurre l'accesso imprevisto ai dati protetti. In fase di query viene generato un errore per gli utenti membri di una combinazione di ruoli di questo tipo.

  • I calcoli dinamici (misure, indicatori KPI, DetailRows) vengono limitati automaticamente se fanno riferimento a una tabella o a una colonna protetta. Anche se non esiste alcun meccanismo per proteggere in modo esplicito una misura, è possibile proteggere in modo implicito una misura aggiornando l'espressione in modo che faccia riferimento a una tabella o a una colonna protetta.

  • Le relazioni che fanno riferimento a una colonna protetta funzionano a condizione che la tabella in cui si trova la colonna non sia protetta.

Power BI

Le visualizzazioni che fanno riferimento a un oggetto set di dati con OLS configurato visualizzano lo stesso messaggio di un oggetto eliminato o non esistente.

Messaggio OLS in Power BI visualizzazioni

Limitazioni

I set di dati con OLS configurato per uno o più oggetti tabella o colonna non sono supportati con le Power BI seguenti:

  • Visualizzazioni Q&A
  • Visualizzazioni di informazioni rapide
  • Narrazione intelligente visualizzazioni
  • Excel Raccolta Tipi di dati

Vedi anche

Ruoli
Oggetto Roles (TMSL)
Tabular Model Scripting Language (TMSL)
Modello a oggetti tabulare (TOM, Tabular Object Model).