Compartilhar via


Protegendo as fontes de dados usadas pelo Analysis Services

Se usuários não autorizados obtiverem acessos às fontes de dados a partir das quais o Microsoft SQL Server Analysis Services carrega seus dados, esses usuários poderão acessar as mesmas informações armazenadas na instância do Analysis Services. O acesso a essas fontes de dados deve ser limitado. Para procurar cubos e dimensões, os usuários do Analysis Services não precisam ter permissões nessas fontes de dados. No entanto, os usuários do Analysis Services precisam ter permissões para se conectar às fontes de dados subjacentes a fim de executarem algumas tarefas, como usar as Expressões de Mineração de Dados (DMX) para realizar algumas tarefas de mineração de dados.

Protegendo conexões em fontes de dados subjacentes

O Analysis Services se conecta a fontes de dados subjacentes para:

  • Processar dados no Analysis Services.

  • Solucionar consultas quando ROLAP ou HOLAP for utilizado.

  • Registrar entradas de write-back.

  • Executar consultas de detalhamento de linguagens MDX.

O Analysis Services executa cada uma dessas tarefas através de um objeto DataSource. A conta de segurança utilizada pelo objeto DataSource para acessar essas fontes de dados pode ser as credenciais de segurança do próprio usuário ou o nome de usuário e a senha especificados na cadeia de conexão armazenada no objeto DataSource.

Observação sobre cuidadosCuidado

Se o Analysis Services se conectar a qualquer fonte de dados usando a conta de logon do Analysis Services, os membros de uma função de banco de dados que têm permissões de Controle total terão acesso a essa fonte de dados, independentemente de seu uso no banco de dados em questão.

As permissões necessárias para a conta de segurança usada por um objeto DataSource dependem da tarefa a ser executada pelo Analysis Services:

  • Para conectar-se à fonte de dados, a conta de segurança usada pelo objeto DataSource deve ter, pelo menos, a permissão de leitura na tabela adequada da fonte de dados. Se o armazenamento ROLAP for utilizado, a conta de segurança também deve ter permissão para gravar os dados de agregação novamente na fonte de dados.

  • Se o write-back estiver habilitado, a conta de segurança usada também deve ter permissão para gravar na tabela de write-back.

O Analysis Services criptografa e armazena a informações de cadeia de conexão que é usada para conectar-se a cada fonte de dados. Se a cadeia de conexão especificar uma determinada conta de segurança em vez de uma conexão confiável, é possível optar por armazenar a cadeia de conexão com ou sem a senha. Se a senha não for armazenada com a cadeia de conexão, o Analysis Services solicitará ao usuário uma senha e uma conta de segurança adequadas sempre que o Analysis Services tentar se conectar a essa fonte de dados (por exemplo, durante o processamento ou a modificação de uma exibição da fonte de dados).

Durante o desenvolvimento, é possível armazenar a conta de segurança e a senha de cadeia de conexão no projeto do Analysis Services. Ao criar o projeto do Analysis Services, o Business Intelligence Development Studio remove as contas de segurança e as senhas de todas as cadeias de conexão da fonte de dados, a não ser que você opte por mantê-las nos arquivos de saída. Se a conta de segurança e a senha forem armazenadas nos arquivos de saída de um projeto do Analysis Services, as informações dessa cadeia de conexão serão criptografadas. Se as informações dessa cadeia de conexão não forem mantidas e uma conexão confiável não for especificada na cadeia de conexão, o Analysis Services solicitará uma senha e uma conta de segurança adequadas durante o processamento da implantação.

Protegendo as conexões usadas pelas consultas de mineração de dados

Para as consultas de mineração de dados que usam a cláusula OPENQUERY em uma instrução DMX para se conectar à fonte de dados subjacente, o Analysis Services conecta-se através de um objeto DataSource. O objeto DataSource representa o cliente ou usa o nome e a senha especificados na cadeia de conexão. Por padrão, os usuários não têm nenhuma permissão em um objeto DataSource e não podem consultar a fonte de dados subjacente usando a instrução OPENQUERY. Para usar a cláusula OPENQUERY em uma instrução DMX para consultar a fonte de dados subjacente, os usuários devem ter permissões de leitura/gravação no objeto DataSource. Se os usuários tiverem permissões de leitura/gravação em um objeto DataSource e uma determinada conta for especificada na cadeia de conexão, o melhor a fazer é ter as permissões mais restritivas possíveis nas tabelas da fonte de dados subjacente da conta especificada, ou seja, permissões de somente leitura nas tabelas específicas que são acessadas. Para obter mais informações sobre DMX, consulte Instruções de definição de dados DMX (Data Mining Extensions) e Instruções de manipulação de dados DMX (Data Mining Extensions).

Por padrão, os usuários não podem usar a cláusula OPENROWSET em uma instrução DMX e enviar consultas ad hoc para a fonte de dados subjacente usando uma cadeia de conexão ad hoc. É possível alterar a configuração padrão da propriedade de configuração DataMining \ AllowAdHocOpenRowsetQueries do servidor para permitir que os usuários usem a cláusula OPENROWSET. Para acessar essa propriedade, clique com o botão direito do mouse na instância do Analysis Services, clique em Propriedades e localize essa propriedade na página Segurança. Se você fizer isso, não poderá limitar as fontes de dados de acordo com o modelo de mineração de dados que os usuários podem consultar. Para obter mais informações, consulte Concedendo acesso a estruturas e modelos de mineração e Concedendo acesso a fontes de dados.