Restringir o acesso a objetos de modelo do Power BI

Concluído

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 para proteger objetos que armazenam dados confidenciais, como dados pessoais de funcionários.

Quando o Power BI impõe o OLS, ele não apenas 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 seguras usando DMVs (Exibições de Gerenciamento Dinâmico).

Importante

Os modelos tabulares podem ocultar tabelas e colunas (e outros objetos) usando uma perspetiva. Uma perspetiva define subconjuntos visíveis de objetos de modelo para ajudar a fornecer um foco específico para os autores de relatórios. As perspetivas destinam-se a reduzir a complexidade de um modelo, ajudando os autores de relatórios a encontrar recursos de interesse. No entanto, as perspetivas 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 ela não está visível para ele.

Considere um exemplo na Adventure Works. Esta organização tem uma tabela de dimensões de armazém de dados denominada DimEmployee. A tabela inclui colunas que armazenam o nome do funcionário, telefone, endereço de e-mail e salário. Embora os consumidores de relatórios gerais possam ver o nome do funcionário e os detalhes de contato, eles não devem ser capazes de ver os valores salariais. Apenas os quadros superiores de Recursos Humanos podem ver os valores salariais. Assim, o modelador de dados usou o OLS para conceder acesso à coluna salarial apenas a funcionários específicos de Recursos Humanos.

A captura de tela mostra uma exibição de diagrama de modelo da tabela Funcionário, que inclui a coluna Salário restrita.

O OLS é um recurso herdado do Azure Analysis Services (AAS) e do SQL Server Analysis Services (SSAS). 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 o OLS

Para configurar o OLS, comece criando funções. Você pode criar funções no Power BI Desktop da mesma forma que faz ao configurar a RLS. Em seguida, você precisa adicionar regras OLS às funções. Esse recurso não é suportado pelo Power BI Desktop, portanto, você precisará adotar uma abordagem diferente.

Adicionar regras OLS a um modelo do Power BI Desktop usando um ponto de extremidade XML for Analysis (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 suporta gerenciamento de conjunto 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 TMSL (Tabular Model Scripting Language) 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 de Tabelas, que é uma ferramenta de código aberto para criar, manter e gerenciar modelos.

Por padrão, todas as tabelas e colunas do 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 Ler, os usuários associados à função podem acessar o objeto. Quando 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.

A captura de tela mostra uma mensagem de erro do Power B I Desktop quando um visual de relatório tenta consultar uma coluna restrita.

Considere cuidadosamente se o OLS é a solução certa para o seu projeto. Quando um usuário abre um relatório do Power BI que consulta um objeto restrito (para ele), 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 ter em conta ao implementar o OLS.

Não é possível 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 no nível da tabela se ela quebrar uma cadeia de relacionamentos. Por exemplo, se houver relações entre as tabelas A e B e B e C, não será possível proteger a tabela B. Se a tabela B estiver protegida, uma consulta na tabela A não poderá transitar as relações entre as tabelas A e B e B e B. Nesse caso, você pode configurar uma relação separada entre as tabelas A e C.

O diagrama mostra o exemplo de relacionamento descrito no parágrafo anterior.

No entanto, as relações de modelo que fazem referência a uma coluna segura 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 é automaticamente restringida.

Para obter mais informações, consulte Segurança em nível de objeto.