Arquitetura da segurança de acesso do usuário
O MicrosoftSQL ServerAnalysis Services depende do Microsoft Windows para autenticar os usuários. Por padrão, somente usuários autenticados que têm direitos no Analysis Services podem estabelecer uma conexão com o Analysis Services. Depois que um usuário se conectar ao Analysis Services, as permissões que ele tem no Analysis Services são determinadas pelos direitos atribuídos às funções do Analysis Services às quais esse usuário pertence, diretamente ou por meio da associação em uma função do Windows.
O Analysis Services contém uma única função de servidor fixa, que concede a seus membros permissão para executar qualquer tarefa em toda a instância.
Os usuários que não são membros da função fixa de servidor podem se tornar membros de uma ou mais funções de banco de dados. Cada função de banco de dados tem um conjunto personalizado de permissões para permitir que os usuários acessem dados e executem tarefas em um determinado banco de dados.
Uma função de banco de dados pode receber permissões de administrador, permissões para processar objetos, permissões para exibir metadados de objeto e permissões para exibir ou modificar dados em vários níveis em cada banco de dados do Analysis Services.
Os membros de uma função de banco de dados com permissões de administrador podem exibir ou atualizar todos os dados no banco de dados. Os membros de outras funções de banco de dados somente podem exibir ou atualizar os objetos de dados para os quais receberam permissões específicas.
As permissões em um banco de dados do Analysis Services são concedidas inicialmente no nível do banco de dados. Se uma função de banco de dados tiver permissões no nível do banco de dados, essa função deverá receber permissões específicas para cada objeto no banco de dados. Os objetos nos quais uma função pode receber permissões incluem dimensões de banco de dados e cubo, membros de dimensões individuais, cubos, células individuais em um cubo, estruturas de mineração, modelos de mineração, fontes de dados e procedimentos armazenados.
Além desses componentes da arquitetura de segurança, o Analysis Services criptografa toda a comunicação cliente/servidor para reduzir o risco de usuários não autorizados terem acesso a informações não autorizadas. Finalmente, os recursos do Analysis Services que podem comprometer a segurança se configurados inadequadamente ou usados em um ambiente inapropriado são desabilitados por padrão. Por exemplo, você pode permitir que os usuários se conectem ao Analysis Services sem autenticação ou pode aceitar a autenticação enviada em texto não criptografado. No entanto, como essa operação pode comprometer a segurança se executada incorretamente, iniciar esses tipos de recursos requer que você modifique as configurações padrão.
Autenticação do Windows
O acesso ao Analysis Services se baseia na Autenticação do Microsoft Windows. Esse modelo de autenticação requer que todos os usuários sejam autenticados pelo sistema operacional Windows antes que possam acessar dados armazenados no Analysis Services e antes que possam administrar objetos do Analysis Services. Se o sistema operacional executar a autenticação, o Analysis Services poderá aproveitar os recursos de segurança do Windows, incluindo a validação da segurança e a criptografia de senhas, a expiração da senha, o comprimento mínimo da senha e o bloqueio de conta após várias solicitações de logon inválido.
Observação |
---|
Se a instância do Analysis Services estiver configurada para permitir acesso anônimo, o Windows não autenticará o usuário. |
A autenticação do Windows e do Analysis Services funcionam em conjunto da seguinte forma:
Quando um usuário faz logon na rede do Windows, um controlador de domínio do Windows valida o nome e a senha do usuário, estabelecendo as credenciais de autenticação de rede dele.
Posteriormente, quando o usuário tenta se conectar ao Analysis Services, o Analysis Services valida as credenciais de autenticação de rede do usuário com um controlador de domínio do Windows.
Autorização
Após a autenticação de um usuário, o Analysis Services determina se ele tem permissões para exibir dados, atualizar dados, exibir metadados ou executar tarefas administrativas. Se o usuário, ou um grupo do qual o usuário seja membro, tiver algum tipo de permissões na instância do Analysis Services, o Analysis Services permitirá a conexão do usuário. Por padrão, o Analysis Services não permitirá que um usuário se conecte se ele não tiver o mesmo tipo de permissões na instância do Analysis Services.
No entanto, a autorização não é interrompida depois que um usuário se conecta com êxito ao Analysis Services. A autorização continua à medida que o usuário trabalha com o Analysis Services, por exemplo, quando o usuário executa procedimentos armazenados no servidor, instruções DMX, consultas MDX ou comandos Analysis Management Objects (AMO). Toda vez que o Analysis Services precisa executar uma ação ou acessar um objeto, ele verifica a autoridade do usuário para acessar os objetos ou executar o comando. Se o usuário não tiver as permissões apropriadas, o Analysis Services retornará um erro de permissões.
Funções de servidor e banco de dados
O Analysis Services tem dois tipos de funções: a função de servidor e as funções de banco de dados. A seguir é apresentada uma descrição rápida da diferença entre essas duas funções:
Há apenas uma função de servidor e os membros dessa função têm direitos completos de administrador na instância do Analysis Services.
Observação Os membros do grupo local Administradores no computador local são automaticamente membros da função de servidor em uma instância do Analysis Services.
Pode haver várias funções de banco de dados. Os membros da função de servidor criam essas funções de banco de dados em cada banco de dados, concedem permissões administrativas ou de usuário a essas funções de banco de dados, como permissões de leitura ou leitura/gravação para cubos, dimensões, células, estruturas de mineração, modelos de mineração e objetos de fonte de dados) e adicionam usuários e grupos do Windows a essas funções de banco de dados.
Importante As permissões de função são aditivas. As permissões que um usuário ou grupo do Windows tem por meio de uma função de banco de dados são adicionadas às permissões que o mesmo usuário ou grupo do Windows tem por meio de outras funções de banco de dados. Se uma função nega a um usuário ou grupo permissão para executar certas tarefas ou exibir certos dados, mas outra função concede essa permissão a esse usuário ou grupo, o usuário ou o grupo terá permissão para executar a tarefa ou exibir os dados.
Para obter mais informações:, Configurando a segurança (Analysis Services - Dados multidimensionais)
Direitos de administrador
Embora os membros da função de servidor tenham automaticamente direitos completos de administrador, os membros da função de banco de dados não têm esses direitos. Uma função de banco de dados pode receber direitos de Controle Total, também conhecidos como direitos de Administrador, ou um conjunto mais limitado de direitos de administrador da lista a seguir:
Processar o banco de dados
Ler os metadados do banco de dados
Processar uma ou mais dimensões
Ler a definição de uma ou mais dimensões
Processar um ou mais cubos
Ler a definição de um ou mais cubos
Processar uma ou mais estruturas de mineração
Processar um ou mais modelos de mineração
Ler a definição de uma ou mais estruturas de mineração
Ler a definição de um ou mais modelos de mineração
Ler a definição de uma ou mais fontes de dados
Somente membros da função de servidor e membros de uma função de banco de dados que tenham Controle Total podem ler dados do Analysis Services sem permissões adicionais. Outros usuários somente poderão ler dados do Analysis Services se sua função de banco de dados conceder expressamente permissões de leitura/gravação aos objetos de dados no Analysis Services, como dimensões, cubos, células e modelos de mineração).
Para obter mais informações:, Concedendo permissões administrativas em todo o servidor
Segurança no nível da dimensão
Uma função de banco de dados pode especificar se seus membros têm permissão para exibir ou atualizar membros da dimensão nas dimensões de banco de dados especificadas. Além disso, em cada dimensão para a qual uma função de banco de dados tenha recebido direitos, a função pode receber permissão para exibir ou atualizar membros específicos da dimensão somente, em vez de todos os membros da dimensão. Se uma função de banco de dados não receber permissões para exibir ou atualizar uma determinada dimensão e alguns ou todos os membros da dimensão, os membros da função de banco de dados não terão permissão para exibir a dimensão ou qualquer um de seus membros.
Observação |
---|
As permissões de dimensão concedidas a uma função de banco de dados se aplicam às dimensões de cubo com base na dimensão do banco de dados, a menos que permissões diferentes sejam explicitamente concedidas no cubo que usa a dimensão de banco de dados. |
Para obter mais informações:Concedendo acesso à dimensão e Concedendo acesso personalizado a dados da dimensão.
Segurança no nível do cubo
Uma função de banco de dados pode especificar se seus membros têm permissão de leitura ou leitura/gravação para um ou mais cubos no banco de dados. Se uma função de banco de dados não receber permissões para ler ou ler/gravar em pelo menos um cubo, os membros da função de banco de dados não terão permissão para exibir nenhum cubo no banco de dados, apesar de qualquer direito que esses membros tenham com a função para exibir membros da dimensão.
Para obter mais informações:Concedendo acesso ao cubo.
Segurança no nível da célula
Uma função de banco de dados pode especificar se seus membros têm permissões de leitura, contingente de leitura ou leitura/gravação em algumas ou em todas as células de um cubo. Se uma função de banco de dados não receber permissões para as células em cubo, eles não terão permissão para exibir nenhum cubo de dados. Se uma função de banco de dados não receber permissão para exibir certas dimensões com base na segurança da dimensão, a segurança no nível da célula não poderá expandir os direitos dos membros da função de banco de dados para incluir membros da célula dessa dimensão. Por outro lado, se uma função de banco de dados receber permissão para exibir membros de uma dimensão, a segurança no nível da célula poderá ser usada para limitar os membros da célula da dimensão que os membros da função de banco de dados podem exibir.
Para obter mais informações:Concedendo acesso personalizado aos dados da célula.
Segurança da estrutura de mineração, do modelo de mineração e da fonte de dados
Uma função de banco de dados pode especificar se seus membros têm permissões de leitura ou leitura/gravação para estruturas e modelos de mineração. Uma função de banco de dados também pode receber permissões para detalhar para os dados de origem e permissão para pesquisar em um ou mais modelos de mineração. Por fim, uma função de banco de dados pode receber permissões de leitura/gravação nos objetos da fonte de dados. Com essa permissão, a função pode referenciar essa fonte de dados em uma cláusula OPENQUERY e usar a cadeia de caracteres de conexão definida no objeto da fonte de dados.
Para obter mais informações:Concedendo acesso a estruturas e modelos de mineração e Concedendo acesso a fontes de dados.
Segurança do procedimento armazenado
Os procedimentos armazenados no Analysis Services são rotinas externas, escritas em uma linguagem de programação Microsoft .NET, que estende os recursos do Analysis Services. Os procedimentos armazenados permitem que o desenvolvedor aproveite a integração entre as linguagens, a manipulação de exceções, o suporte ao controle de versões, o suporte à implantação e o suporte à depuração.
Qualquer usuário pode chamar um procedimento armazenado. Dependendo da configuração do procedimento armazenado, ele pode ser executado no contexto do usuário chamando o procedimento ou no contexto de um usuário anônimo. Como um usuário anônimo não tem contexto de segurança, use esse recurso junto com a configuração da instância do Analysis Services para permitir o acesso anônimo.
Depois que o usuário chama um procedimento armazenado, mas antes de o Analysis Services executar o procedimento armazenado, o Analysis Services avalia as ações no procedimento armazenado. O Analysis Services avalia as ações em um procedimento armazenado com base na interseção das permissões concedidas ao usuário e o conjunto de permissões usado para executar o procedimento. Se o procedimento armazenado contiver qualquer ação que não possa ser executada pela função de banco de dados para o usuário, essa ação não será executada.
A seguir são apresentados os conjuntos de permissões usados para executar procedimentos armazenados:
**Seguro **Com o conjunto de permissões Seguro, um procedimento armazenado não pode acessar os recursos protegidos no Microsoft .NET Framework. Esse conjunto de permissões somente é usado para cálculos. Esse é o conjunto de permissões mais seguro; as informações não vazam para for a do Analysis Services, as permissões não podem ser elevadas e o risco de ataques de violação de dados é minimizado.
**Acesso Externo **Com o conjunto de permissões Acesso Externo, um procedimento armazenado pode acessar recursos externos usando código gerenciado. A definição de um procedimento armazenado para esse conjunto de permissões não causará erros de programação que poderiam levar à instabilidade do servidor. No entanto, esse conjunto de permissões pode provocar o vazamento de informações para fora do servidor, e a possibilidade de uma elevação na permissão e de ataques de violação de dados.
**Irrestrito **Com o conjunto de permissões Irrestrito, um procedimento armazenado pode acessar recursos externos usando qualquer código. Com esse conjunto de permissões, não há garantias de segurança ou confiabilidade para procedimentos armazenados.
Para obter mais informações:, Definindo procedimentos armazenados
Criptografia
Por padrão, o Analysis Services requer que toda a comunicação entre os clientes e a instância do Analysis Services seja criptografada.
Para obter mais informações:, Protegendo a comunicação do cliente com uma instância do Analysis Services
Desativada, por padrão.
Uma instância do Analysis Services é considerada segura por padrão. Assim, os recursos que podem comprometer a segurança são desabilitados por padrão. Os seguintes recursos são desabilitados por padrão e deverão ser habilitados especificamente se você quiser usá-los:
Conectividade HTTP
Rastreamento
Procedimentos armazenados
Partições remotas
Objetos vinculados (para)
Objetos vinculados (de)
Agregador de mineração de dados
Nível de proteção do cliente
Nível de proteção da Web
Autenticação necessária de cliente
Integração do Active Directory
Consultas OpenRowset ad hoc
Conectividade de Cliente 8.0
Relatórios de falha
Consulte também