Segurança em nível de objeto
Aplica-se a: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
A segurança do modelo de dados começa com a implementação efetiva de funções e filtros de nível de linha para definir permissões do usuário em objetos e dados do modelo de dados. Para modelos tabulares 1400 e superiores, você também pode definir a OLS (segurança no nível do objeto), que inclui segurança no nível da tabela e segurança em nível de coluna no objeto Roles. Quando configurado, os dados de tabela e coluna são protegidos, juntamente com metadados para ajudar a impedir que um usuário mal-intencionado descubra que esse objeto existe.
O OLS pode ser configurado usando o Editor Tabular de software livre, o TMSL (Tabular Model Scripting Language) ou o TOM (Modelo de Objeto Tabular).
Segurança em nível de tabela
Com a segurança em nível de tabela, você pode não apenas restringir o acesso a dados de tabela, mas também metadados de nome de tabela confidenciais. Defina a propriedade metadataPermission da classe tablePermissions no objeto Roles como nenhuma.
Neste exemplo, a propriedade metadataPermission da classe tablePermissions para a tabela Product é definida como nenhuma:
"roles": [
{
"name": "Users",
"description": "All allowed users to query the model",
"modelPermission": "read",
"tablePermissions": [
{
"name": "Product",
"metadataPermission": "none"
}
]
}
Segurança ao nível da coluna
Semelhante à segurança em nível de tabela, com segurança em nível de coluna, você pode não apenas restringir o acesso a dados de coluna, mas também metadados de nome de coluna confidenciais. Defina a propriedade metadataPermission da classe columnPermissions no objeto Roles como nenhuma.
Neste exemplo, a propriedade metadataPermission da classe columnPermissions para a coluna Taxa Base na tabela Funcionários é definida como nenhuma:
"roles": [
{
"name": "Users",
"description": "All allowed users to query the model",
"modelPermission": "read",
"tablePermissions": [
{
"name": "Employee",
"columnPermissions": [
{
"name": "Base Rate",
"metadataPermission": "none"
}
]
}
]
}
Restrições
A segurança em nível de tabela não poderá ser definida para um modelo se ele quebrar uma cadeia de relacionamentos. Um erro é gerado em tempo de design. Por exemplo, se houver relações entre as tabelas A e B e B e C, você não poderá proteger a tabela B. Se a tabela B for protegida, uma consulta na tabela A não poderá transitar pelas relações entre as tabelas A e B e C. Nesse caso, uma relação separada pode ser configurada entre as tabelas A e C.
A segurança em nível de linha e a segurança em nível de objeto não podem ser combinadas de funções diferentes porque podem introduzir acesso não intencional a dados protegidos. Um erro é gerado no momento da consulta para usuários que são membros dessa combinação de funções.
Cálculos dinâmicos (medidas, KPIs, DetailRows) são automaticamente restritos se referenciam uma tabela ou coluna protegida. Embora não haja nenhum mecanismo para proteger explicitamente uma medida, é possível proteger implicitamente uma medida atualizando a expressão para se referir a uma tabela ou coluna protegida.
As relações que fazem referência a um trabalho de coluna protegida desde que a tabela em que a coluna está não esteja protegida.
Power BI
As visualizações que fazem referência a um objeto de modelo semântico com OLS configurado exibem a mesma mensagem de um objeto excluído ou não existente.
Limitações
Não há suporte para modelos com OLS configurado para um ou mais objetos de tabela ou coluna com estes recursos do Power BI:
- Visualizações do Q&A
- Visualizações de insights rápidos
- Visuais de narrativa inteligente
- Galeria Tipos de Dados do Excel
Confira também
Funções
Objeto Roles (TMSL)
TMSL (Linguagem de Scripts do Modelo de Tabela)
TOM (Modelo de Objeto Tabular).