Restringir o acesso a objetos de modelo do Power BI
Como um modelador de dados, você pode considerar restringir o acesso do usuário a objetos de modelo do Power BI. A segurança no nível do objeto (OLS) pode restringir o acesso a tabelas e colunas específicas e seus metadados. Normalmente, você aplica o OLS a objetos seguros que armazenam dados confidenciais, como dados pessoais de funcionários.
Quando o Power BI impõe o OLS, ele não só restringe o acesso a tabelas e colunas, mas também pode proteger metadados. Quando você protege metadados, não é possível recuperar informações sobre tabelas e colunas protegidas usando DMVs (Exibições de Gerenciamento Dinâmico).
Importante
Modelos tabulares podem ocultar tabelas e colunas (e outros objetos) usando uma perspectiva. Uma perspectiva define subconjuntos exibíveis de objetos de modelo para ajudar a fornecer um foco específico para autores de relatórios. As perspectivas destinam-se a reduzir a complexidade de um modelo, ajudando os autores do relatório a encontrar recursos de interesse. No entanto, as perspectivas não são um recurso de segurança porque não protegem objetos. Um usuário ainda pode consultar uma tabela ou coluna mesmo quando não estiver visível para ele.
Considere um exemplo na Adventure Works. Essa organização tem uma tabela de dimensões do data warehouse chamada DimEmployee. A tabela inclui colunas que armazenam nome do funcionário, telefone, endereço de email e salário. Os consumidores gerais de relatório podem visualizar o nome do funcionário e suas informações de contato, mas não devem ter acesso aos valores dos salários. Apenas funcionários seniores de Recursos Humanos têm permissão para ver valores salariais. Portanto, o modelador de dados usou o OLS para conceder acesso à coluna salarial apenas para funcionários específicos dos Recursos Humanos.
O OLS é um recurso herdado do AAS (Azure Analysis Services) e do SSAS (SQL Server Analysis Services). O recurso está disponível no Power BI Premium para fornecer compatibilidade com versões anteriores para modelos migrados para o Power BI. Por esse motivo, não é possível configurar completamente o OLS no Power BI Desktop.
Configurar a OLS
Para configurar o OLS, comece criando funções. Você pode criar funções no Power BI Desktop da mesma maneira que faz ao configurar o RLS. Em seguida, você precisa adicionar regras OLS às funções. Essa funcionalidade não é compatível com o Power BI Desktop, portanto, você precisará adotar uma abordagem diferente.
Adicione regras OLS a um modelo do Power BI Desktop usando um ponto de extremidade XML para análise (XMLA). Os pontos de extremidade XMLA estão disponíveis com o Power BI Premium e fornecem acesso ao mecanismo do Analysis Services no serviço do Power BI. O ponto de extremidade de leitura/gravação dá suporte ao gerenciamento de conjuntos de dados, gerenciamento do ciclo de vida do aplicativo, modelagem avançada de dados e muito mais. Você pode usar APIs habilitadas para ponto de extremidade XMLA para scripts, como Tabular Model Scripting Language (TMSL) ou o módulo PowerShell SqlServer. Ou você pode usar uma ferramenta de cliente, como o SSMS. Há também opções de ferramentas de terceiros, como o Editor tabular, que é uma ferramenta de software livre para criar, manter e gerenciar modelos.
Por padrão, todas as tabelas e colunas de modelo não são restritas. Você pode defini-los como Nenhum ou Ler. Quando definido como Nenhum, os usuários associados à função não podem acessar o objeto. Quando definido como Leitura, os usuários associados à função podem acessar o objeto. Quando você estiver restringindo colunas específicas, verifique se a tabela não está definida como Nenhuma.
Depois de adicionar as regras do OLS, você pode publicar o modelo no serviço do Power BI. Use o mesmo processo para RLS para mapear contas e grupos de segurança para as funções.
Considerações
Em um relatório do Power BI, quando um usuário não tiver permissão para acessar uma tabela ou coluna, ele receberá uma mensagem de erro. A mensagem informará que o objeto não existe.
Considere cuidadosamente se o OLS é a solução certa para seu projeto. Quando um usuário abre um relatório do Power BI que consulta um objeto restrito (para eles), a mensagem de erro pode ser confusa e resultará em uma experiência negativa. Para eles, parece que o relatório está quebrado. Uma abordagem melhor pode ser criar um conjunto separado de modelos ou relatórios para os diferentes requisitos do consumidor de relatório.
Restrições
Há restrições a serem observadas ao implementar o OLS.
Você não pode misturar RLS e OLS na mesma função. Se você precisar aplicar RLS e OLS no mesmo modelo, crie funções separadas dedicadas a cada tipo. Além disso, você não pode definir segurança em nível de tabela se isso quebrar uma cadeia de relacionamento. 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 estiver protegida, uma consulta na tabela A não poderá transitar as relações entre a tabela A e B e B e C. Nesse caso, você pode configurar uma relação separada entre as tabelas A e C.
No entanto, as relações de modelo que fazem referência a uma coluna protegida funcionarão, desde que a tabela da coluna não esteja protegida.
Por fim, embora não seja possível proteger medidas, uma medida que faz referência a objetos protegidos é restrita automaticamente.
Para obter mais informações, consulte a segurança no nível do objeto.