Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:
SQL Server Analysis Services
Azure Analysis Services
Fabric/Power BI Premium
Depois de habilitar o acesso de leitura a um cubo, você pode definir permissões adicionais que permitem ou negam explicitamente o acesso aos membros da dimensão, incluindo as medidas contidas na Dimensão de Medidas, que contêm todas as medidas usadas em um cubo. Por exemplo, considerando várias categorias de revendedores, talvez você queira definir permissões para excluir dados para um tipo de negócios específico. A ilustração a seguir mostra o efeito antes e depois de negar o acesso ao tipo de negócio Warehouse na dimensão de Revendedor.
Por padrão, se você puder ler dados de um cubo do SQL Server Analysis Services, terá permissões de leitura automaticamente em todas as medidas e membros de dimensão associados a esse cubo. Embora esse comportamento possa ser suficiente para muitos cenários, às vezes os requisitos de segurança exigem uma estratégia de autorização mais segmentada, com diferentes níveis de acesso para usuários diferentes, na mesma dimensão.
Você pode restringir o acesso escolhendo quais membros terão permissão para acessar (AllowedSet) ou denenegar o acesso (DeniedSet). Você faz isso selecionando ou desmarcando membros da dimensão para incluí-los ou excluí-los do papel.
A segurança de dimensão básica é a mais fácil; basta selecionar quais atributos de dimensão e hierarquias de atributo incluir ou excluir na função. A segurança avançada é mais complexa e requer experiência em scripts MDX. Ambas as abordagens são descritas abaixo.
Observação
As instruções a seguir pressupõem uma conexão de cliente que emita consultas no MDX. Se o cliente usa DAX, como o Power View no Power BI, a segurança da dimensão não fica evidente nos resultados da consulta.
Pré-requisitos
Nem todas as medidas ou elementos de dimensão podem ser usados em cenários de acesso personalizado. Uma conexão falhará se uma função restringir o acesso a uma medida ou membro padrão ou restringir o acesso a medidas que fazem parte das expressões de medida.
Verifique se há obstruções à segurança de dimensão: medidas padrão, membros padrão e medidas usadas em expressões de medida
No SQL Server Management Studio, clique com o botão direito do mouse em um cubo e selecione Script Cube como | ALTERAR para | Nova Janela do Editor de Consultas.
Busque por DefaultMeasure. Você deve encontrar um para o cubo e um para cada perspectiva. Ao definir a segurança da dimensão, evite restringir o acesso a medidas padrão.
Em seguida, pesquise MeasureExpression. Uma expressão de medida é uma medida, com base em um cálculo, em que o cálculo geralmente inclui outras medidas. Verifique se a medida que você deseja restringir não é usada em uma expressão. Como alternativa, vá em frente e restrinja o acesso, mas certifique-se de excluir também todas as referências a essa medida em todo o cubo.
Por fim, pesquise por DefaultMember. Anote todos os atributos que servem como um membro padrão de um atributo. Evite colocar restrições nesses atributos ao configurar a segurança de dimensão.
Segurança de dimensão básica
No SQL Server Management Studio, conecte-se à instância do SQL Server Analysis Services, expanda funções para o banco de dados apropriado no Pesquisador de Objetos e clique em uma função de banco de dados (ou crie uma nova função de banco de dados).
A função já deve ter acesso de leitura ao cubo. Consulte Conceder permissões de cubo ou modelo (Analysis Services) se precisar de ajuda com esta etapa.
No Dimension Data | Basic, selecione a dimensão para a qual você está definindo permissões.
Escolha a hierarquia de atributos. Nem todos os atributos estarão disponíveis. Somente os atributos que têm AttributeHierarchyEnabled aparecem na lista Hierarquia de Atributos .
Escolha quais membros permitir ou negar acesso. Permitir o acesso, por meio da opção Selecionar todos os membros , é o padrão. Sugerimos que você mantenha esse padrão e desmarque membros individuais que não devem estar visíveis para o usuário do Windows e contas de grupo no painel Associações por meio dessa função. A vantagem é que novos membros adicionados em futuras operações de processamento estão automaticamente disponíveis para pessoas que se conectam por meio dessa função.
Como alternativa, você pode desmarcar todos os membros para revogar o acesso em geral e, em seguida, escolher quais membros permitir. Em operações futuras de processamento, novos membros não ficam visíveis até que você edite manualmente a segurança de dados de dimensão para permitir o acesso a eles.
Opcionalmente, clique em Avançado para habilitar Os Totais Visuais para essa hierarquia de atributos. Essa opção recalcula agregações com base nos membros disponíveis por meio da função.
Observação
Ao aplicar permissões que cortam membros da dimensão, os totais agregados não são recalculados automaticamente. Suponha que o membro All de uma hierarquia de atributos retorne uma contagem de 200 antes que as permissões sejam aplicadas. Depois de aplicar permissões que negam acesso a alguns membros, Todos ainda retornam 200, embora os valores de membro visíveis para o usuário sejam muito menores. Para evitar confundir os consumidores do cubo, você pode configurar o membro All como a agregação apenas daqueles membros aos quais os membros dos papéis têm acesso, em vez da agregação de todos os membros da hierarquia de atributos. Para invocar esse comportamento, você pode habilitar os Totais Visuais na guia Avançado ao configurar a segurança da dimensão. Uma vez habilitada, a agregação é calculada em tempo de consulta em vez de recuperada de agregações pré-calculadas. Isso pode ter um efeito perceptível no desempenho da consulta, portanto, use-o somente quando necessário.
Ocultando medidas
No documento Conceder acesso personalizado aos dados de célula (Analysis Services), foi explicado que, para ocultar completamente todos os aspectos visuais de uma medida, e não apenas seus dados de célula, são necessárias permissões nos membros de dimensão. Esta seção explica como negar o acesso aos metadados de objeto de uma medida.
No Dimension Data | Basic, role para baixo na lista Dimensão até chegar às dimensões do cubo e selecione Dimensão de Medidas.
Na lista de medidas, desmarque a caixa de seleção para medidas que não devem aparecer aos usuários que se conectam por meio dessa função.
Observação
Verifique os pré-requisitos para saber como identificar medidas que podem interromper a segurança da função.
Segurança de dimensão avançada
Se você tiver experiência em MDX, outra abordagem é escrever expressões MDX que definem os critérios para os quais os membros têm permissão ou acesso negado. Clique em Criar Função | Dados de Dimensão | Avançados para fornecer o script.
Você pode usar o Construtor MDX para gravar a instrução MDX. Consulte o MDX Builder (Analysis Services – Dados Multidimensionais) para obter detalhes. A guia Avançado tem as seguintes opções:
Atributo
Selecione o atributo para o qual você deseja gerenciar a segurança do membro.
Conjunto de membros permitido
O AllowedSet pode ser configurado para nenhum membro (padrão), todos os membros ou alguns membros. Se você permitir o acesso a um atributo e não definir nenhum membro do conjunto permitido, o acesso a todos os membros será concedido. Se você permitir o acesso a um atributo e definir um conjunto específico de membros de atributo, somente os membros explicitamente permitidos ficarão visíveis.
A criação de um AllowedSet tem um efeito cascata quando o atributo participa de uma hierarquia de vários níveis. Por exemplo, suponha que uma função permita acesso ao estado de Washington (suponha um cenário em que a função está concedendo permissões à divisão de vendas do estado de Washington de uma empresa). Para as pessoas que se conectam através desse papel, consultas que incluam ancestrais (Estados Unidos) ou descendentes (Seattle e Redmond) só verão membros em uma cadeia que inclua o estado de Washington. Como outros estados não são explicitamente permitidos, o efeito será o mesmo que se eles foram negados.
Observação
Se você definir um conjunto vazio ({}) de membros de atributo, nenhum membro do atributo ficará visível para a função de banco de dados. A ausência de um conjunto permitido não é interpretada como um conjunto vazio.
Conjunto de membros desautorizado
A propriedade DeniedSet pode ser resolvida para nenhum membro, todos os membros (padrão) ou alguns membros de atributo. Quando o conjunto negado contém apenas um conjunto específico de membros de atributo, a função de banco de dados é negada acesso somente a esses membros específicos, bem como descendentes se o atributo estiver em uma hierarquia de vários níveis. Considere o exemplo da divisão de vendas do estado de Washington. Se Washington for colocado no DeniedSet, as pessoas que se conectarem através deste papel verão todos os outros estados, com exceção de Washington e seus atributos de descendência.
Lembre-se da seção anterior de que o conjunto negado é uma coleção fixa. Se o processamento introduzir posteriormente novos membros que também devem ter acesso negado, você precisará editar essa função para adicionar esses membros à lista.
Membro padrão
A propriedade DefaultMember determina o conjunto de dados retornado a um cliente quando um atributo não é explicitamente incluído em uma consulta. Quando o atributo não está explicitamente incluído, o SQL Server Analysis Services usa um dos seguintes membros padrão para o atributo:
Se a função de banco de dados definir um membro padrão para o atributo, o SQL Server Analysis Services usará esse membro padrão.
Se a função de banco de dados não definir um membro padrão para o atributo, o SQL Server Analysis Services usará o membro padrão definido para o próprio atributo. O membro padrão de um atributo, a menos que você especifique o contrário, é o membro All (a menos que o atributo seja definido como não aggregável).
Por exemplo, suponha que uma função de banco de dados especifique Masculino como o membro padrão para o atributo Gender . A menos que uma consulta inclua explicitamente o atributo Gender e especifique um membro diferente para esse atributo, o SQL Server Analysis Services retornará um conjunto de dados que incluía apenas clientes do sexo masculino. Para obter mais informações sobre como definir o membro padrão, consulte Definir um membro padrão.
Habilitar Visual Total
A propriedade VisualTotals indica se os valores de célula agregados exibidos são calculados de acordo com todos os valores de célula ou apenas de acordo com os valores de célula visíveis para a função de banco de dados.
Por padrão, a propriedade VisualTotals está desabilitada (definida como False). Essa configuração padrão maximiza o desempenho porque o SQL Server Analysis Services pode calcular rapidamente o total de todos os valores de célula, em vez de ter que gastar tempo selecionando quais valores de células calcular.
No entanto, ter a propriedade VisualTotals desabilitada poderá criar um problema de segurança se um usuário puder usar os valores de célula agregados para deduzir valores para membros de atributo aos quais a função de banco de dados do usuário não tem acesso. Por exemplo, o SQL Server Analysis Services usa os valores de três membros de atributo para calcular um valor de célula agregado. A função de banco de dados tem acesso para exibir dois desses três membros de atributo. Usando o valor da célula agregada, um membro dessa função de banco de dados seria capaz de deduzir o valor do terceiro membro de atributo.
Definir a propriedade VisualTotals como True pode eliminar esse risco. Quando você habilita a propriedade VisualTotals, uma função de banco de dados só pode exibir totais agregados para membros de dimensão aos quais a função tem permissão.
Verificação
Clique para testar a sintaxe MDX definida nesta página.
Consulte Também
Conceder permissões de cubo ou modelo (Analysis Services)
Conceder acesso personalizado aos dados da célula (Analysis Services)
Conceder permissões em estruturas e modelos de mineração de dados (Analysis Services)
Conceder permissões em um objeto de fonte de dados (Analysis Services)