Autorizando o acesso a objetos e operações (Analysis Services)

Aplica-se a: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

O acesso de usuário não administrativo a cubos, dimensões e modelos de mineração em um banco de dados SQL Server Analysis Services é concedido por meio de associação em uma ou mais funções de banco de dados. SQL Server Analysis Services administradores criam essas funções de banco de dados, concedendo permissões de Leitura ou Leitura/Gravação em objetos SQL Server Analysis Services e, em seguida, atribuindo usuários e grupos do Microsoft Windows a cada função.

SQL Server Analysis Services determina as permissões efetivas para um usuário ou grupo específico do Windows combinando as permissões associadas a cada função de banco de dados à qual o usuário ou grupo pertence. Em resultado, se uma função de banco de dados não fornecer a um usuário ou grupo permissão para exibir uma dimensão, medida ou atributo, mas uma função de banco de dados diferente conceder essa permissão, o usuário ou grupo terá permissão para exibir o objeto.

Importante

Membros da função administrador do servidor SQL Server Analysis Services e membros de uma função de banco de dados com permissões de Controle Total (Administrador) podem acessar todos os dados e metadados no banco de dados e não precisam de permissões adicionais para exibir objetos específicos. Além disso, os membros da função de servidor SQL Server Analysis Services não podem ter acesso negado a nenhum objeto em nenhum banco de dados, e membros de uma função de banco de dados SQL Server Analysis Services que tem permissões de Controle Total (Administrador) em um banco de dados não podem ter acesso negado a nenhum objeto dentro desse banco de dados. Operações administrativas especializadas, tais como processamento, podem ser autorizadas por meio de funções distintas com menos permissão. Consulte Conceder permissões de processo (Analysis Services) para obter detalhes.

Listar funções definidas para o banco de dados

Os administradores podem executar uma única consulta DMV no SQL Server Management Studio para obter uma lista de todas as funções definidas no servidor.

  1. No SSMS, clique com o botão direito do mouse em um banco de dados e selecione Nova Consulta | MDX.

  2. Digite a consulta a seguir e pressione F5 para executá-la:

    Select * from $SYSTEM.DBSCHEMA_CATALOGS  
    

    Os resultados incluem o nome do banco, descrição, nome da função e a data da última modificação. Usando essas informações como ponto de partida você pode ir para bancos de dados individuais para verificar a associação e as permissões de uma função específica.

Visão geral de cima para baixo da autorização do Analysis Services

Esta seção aborda o fluxo de trabalho básico para configurar permissões.

Etapa 1: Administração de servidor

Primeiro, decida quem terá direitos de administrador no nível do servidor. Durante a instalação, é preciso ter o administrador local que instala o SQL Server para especificar uma ou mais contas do Windows como administrador do servidor do Analysis Services. Os administradores do servidor têm todas as permissões possíveis em um servidor, inclusive a permissão para exibir, modificar e excluir qualquer objeto no servidor ou exibir os dados associados. Após a instalação ser concluída, o administrador do servidor pode adicionar ou remover contas para alterar a associação da função. Consulte Conceder direitos de administrador de servidor a uma instância do Analysis Services para obter detalhes sobre esse nível de permissão.

Etapa 2: Administração de banco de dados

Na sequência, depois que o administrador cria uma solução de tabela ou multidimensional, ele a implanta no servidor como um banco de dados. Um administrador do servidor pode delegar tarefas de administração de banco de dados por definir uma função que tenha permissões de controle total para o banco de dados em questão. Os membros dessa função podem processar ou consultar objetos no banco de dados, bem como criar funções adicionais para acessar cubos, dimensões e outros objetos dentro do próprio banco de dados. Confira Conceder permissões de banco de dados (Analysis Services) para obter mais informações.

Etapa 3: Habilitar acesso do cubo ou modelo para consulta e processamento de cargas de trabalho

Por padrão, somente servidores e administradores de banco de dados têm acesso a modelos de cubos e de tabela. Tornar essas estruturas de dados disponíveis para outras pessoas na sua organização exige atribuições de funções adicionais, que mapeiam contas de usuários e de grupos do Windows para cubos ou modelos, juntamente com as permissões que especificam privilégios de Read . Confira Conceder permissões de cubo ou modelo (Analysis Services) para obter detalhes.

O processamento de tarefas pode ser isolado de outras funções administrativas, permitindo que administradores de servidor e de banco de dados deleguem essa tarefa a outras pessoas ou configurem o processamento autônomo, especificando contas de serviço que executam o software de agendamento. Consulte Conceder permissões de processo (Analysis Services) para obter detalhes.

Observação

Os usuários não exigem permissões para as tabelas relacionais no banco de dados relacional subjacente do qual SQL Server Analysis Services carrega seus dados e não exigem nenhuma permissão de nível de arquivo no computador no qual a instância do SQL Server Analysis Services está em execução.

Etapa 4 (opcional): Permitir ou negar acesso a objetos de cubo internos

SQL Server Analysis Services fornece configurações de segurança para definir permissões em objetos individuais, incluindo membros de dimensão e células em um modelo de dados. Para obter detalhes, consulte Conceder acesso personalizado a dados de dimensão (Analysis Services) e Conceder acesso personalizado a dados de célula (Analysis Services).

Você também pode variar as permissões com base na identidade do usuário. Isso geralmente é chamado de segurança dinâmica e é implementado usando a função UserName (MDX)

Práticas recomendadas

Para gerenciar as permissões de uma melhor forma, sugerimos uma abordagem semelhante à seguinte:

  1. Crie funções por função (por exemplo, dbadmin, cubedeveloper, processadmin), de modo que o usuário quem mantém as funções possa ver rapidamente o que a função permite. Como já observado, você pode definir as funções na definição do modelo, preservando-as, assim, em implantações posteriores da solução.

  2. Crie um grupo de segurança do Windows correspondente no Active Directory e mantenha-o no Active Directory para garantir que nele estejam incluídas as contas individuais adequadas. Isso coloca a responsabilidade da associação do grupo de segurança em especialistas de segurança, os quais já dominam as ferramentas e os processos utilizados na manutenção das contas em sua organização.

  3. Gere scripts em SQL Server Management Studio para que você possa replicar rapidamente atribuições de função sempre que o modelo for reimplantado de seus arquivos de origem para um servidor. Consulte Conceder permissões de cubo ou modelo (Analysis Services) para obter detalhes sobre como gerar rapidamente um script.

  4. Adote uma convenção de nomenclatura que reflita o escopo e a associação da função. Os nomes de função são visíveis apenas em ferramentas de design e de administração, portanto, use uma convenção de nomenclatura que faça sentido para os seus especialistas de segurança de cubo. Por exemplo, processadmin-windowsgroup1 indica acesso de leitura e direitos de processamento para pessoas na sua organização cujas contas individuais de usuário do Windows são membros do grupo de segurança windowsgroup1 .

    Incluir informações da conta pode ajudá-lo a manter o controle de quais contas são usadas em várias funções. Como as funções são aditivas, as funções combinadas associadas ao windowsgroup1 formam o conjunto de permissões eficazes para as pessoas que pertencem a esse grupo de segurança.

  5. Os desenvolvedores de cubo necessitam de permissões de Controle Total para os modelos e bancos de dados em desenvolvimento, mas só precisam de permissões de Leitura após o banco de dados ser distribuído a um servidor de produção. Lembre-se de desenvolver definições e atribuições de funções para todos os cenários, inclusive para implantações de desenvolvimento, teste e produção.

Usar uma abordagem como essa minimiza a variação para definições de função e associação de função no modelo, além de fornecer visibilidade das atribuições de função que tornam as permissões do cubo mais fáceis de implantar e manter.

Consulte Também

Conceder direitos de administrador do servidor a uma instância do Analysis Services
Funções e permissões (Analysis Services)
Metodologias de autenticação com suporte no Analysis Services