Sicurezza a livello di oggetto
Si applica a: SQL Server Analysis Services Azure Analysis Services Fabric/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 oggetti e dati 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 Roles. Se configurati, i dati di tabella e di colonna sono protetti, insieme ai metadati per impedire a un utente malintenzionato di individuare che tale oggetto esiste.
È possibile configurare OLS usando l'editor tabulare open source, il linguaggio TMSL (Tabular Model Scripting Language) o il modello a oggetti tabulari (TOM).
Sicurezza a livello di tabella
Con la sicurezza a livello di tabella, non solo è possibile limitare l'accesso ai dati della tabella, ma anche ai metadati dei nomi di tabella sensibili. Impostare la proprietà metadataPermission della classe tablePermissionsnell'oggetto Roles su nessuno.
In questo esempio la proprietà metadataPermission della classe tablePermissions per la tabella Product è impostata su nessuno:
"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 non solo limitare l'accesso ai dati delle colonne, ma anche ai metadati dei nomi di colonna sensibili. Impostare la proprietà metadataPermission della classe columnPermissionsnell'oggetto Roles su nessuno.
In questo esempio la proprietà metadataPermission della classe columnPermissions per la colonna Frequenza di base nella tabella Employees è impostata su nessuno:
"roles": [
{
"name": "Users",
"description": "All allowed users to query the model",
"modelPermission": "read",
"tablePermissions": [
{
"name": "Employee",
"columnPermissions": [
{
"name": "Base Rate",
"metadataPermission": "none"
}
]
}
]
}
Restrizioni
La sicurezza a livello di tabella non può essere impostata 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ò transita le relazioni tra la tabella A e B e B e C. In questo caso, è possibile configurare una relazione separata tra le tabelle A e C.
La sicurezza a livello di riga e la sicurezza a livello di oggetto non possono essere combinate da ruoli diversi perché potrebbero introdurre l'accesso non intenzionale ai dati protetti. Viene generato un errore in fase di query per gli utenti che sono membri di tale combinazione di ruoli.
I calcoli dinamici (misure, indicatori KPI, DetailRows) vengono automaticamente limitati se fanno riferimento a una tabella o 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 per fare riferimento a una tabella o a una colonna protetta.
Relazioni che fanno riferimento a un lavoro di colonna protetto a condizione che la tabella in cui la colonna non sia protetta .
Power BI
Le visualizzazioni che fanno riferimento a un oggetto modello semantico con OLS configurato visualizzano lo stesso messaggio di un oggetto eliminato o non esistente.
Limitazioni
I modelli con OLS configurati per uno o più oggetti tabella o colonna non sono supportati con queste funzionalità di Power BI:
- Q&Visualizzazioni A
- Visualizzazioni rapide di informazioni dettagliate
- visualizzazioni Narrazione intelligente
- Raccolta tipi di dati di Excel
Vedi anche
Ruoli
Oggetto Roles (TMSL)
Tabular Model Scripting Language (TMSL)
Modello a oggetti tabulare (TOM).