Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:
SQL Server Analysis Services
Azure Analysis Services
Fabric/Power BI Premium
O provisionamento de conta em todo o produto está documentado em Configurar Contas de Serviço e Permissões do Windows, um tópico que fornece informações abrangentes sobre a conta de serviço para todos os serviços do SQL Server, incluindo o SQL Server Analysis Services. Consulte para saber mais sobre tipos de conta válidos, privilégios do Windows atribuídos pela instalação, permissões do sistema de arquivos, permissões do Registro e muito mais.
Este tópico fornece informações suplementares para o SQL Server Analysis Services, incluindo permissões adicionais necessárias para instalações tabulares e clusterizadas. Ele também cobre as permissões necessárias para dar suporte às operações do servidor. Por exemplo, você pode configurar operações de processamento e consulta para serem executadas na conta de serviço ─ nesse cenário, permissões adicionais são necessárias.
Permissões do sistema de arquivos atribuídas ao Analysis Services
Concedendo permissões adicionais para operações específicas do servidor
Outra etapa de configuração, não documentada aqui, é registrar um SPN (Nome da Entidade de Serviço) para a instância e a conta de serviço do SQL Server Analysis Services. Esta etapa permite a autenticação direta das aplicações cliente para as fontes de dados do back-end em cenários de salto duplo. Esta etapa só se aplica a serviços configurados para delegação restrita de Kerberos. Consulte Configurar Analysis Services para delegação restrita de Kerberos para mais instruções.
Recomendações de conta de logon
A conta de inicialização do serviço MSSQLServerOLAPService do Windows pode ser uma conta de usuário de domínio do Windows, conta virtual, conta de serviço gerenciado (MSA) ou uma conta interna, como um SID por serviço, NetworkService ou LocalSystem. Usar uma conta de usuário de domínio como uma conta de logon de serviço fornece detalhes sobre os formatos de conta de usuário.
Em um cluster de failover, todas as instâncias do Analysis Services devem ser configuradas para usar uma conta de usuário de domínio do Windows. Atribua a mesma conta a todas as instâncias. Consulte Como realizar uma análise de clusters no Analysis Services para obter detalhes.
As instâncias autônomas devem usar a conta virtual padrão, NT Service\MSSQLServerOLAPService para a instância padrão ou NT Service\MSOLAP$instance-name para uma instância nomeada. Essa recomendação se aplica a instâncias do Analysis Services em todos os modos de servidor, assumindo o Windows Server 2008 R2 e posterior para o sistema operacional e o SQL Server 2012 e posterior para o Analysis Services.
Conceder permissões ao Analysis Services
Esta seção explica as permissões que o Analysis Services requer para operações locais e internas. Essas operações incluem iniciar o executável, ler o arquivo de configuração e carregar bancos de dados do diretório de dados. Orientações sobre como definir permissões para acesso a dados externos e interoperabilidade com outros serviços e aplicativos estão disponíveis em Concedendo permissões adicionais para operações específicas do servidor mais adiante neste tópico.
Para operações internas, o titular da permissão no Analysis Services não é a conta de logon, mas um grupo de segurança local do Windows criado pela instalação que contém o SID por serviço. A atribuição de permissões ao grupo de segurança é consistente com versões anteriores do Analysis Services. Além disso, as contas de logon podem mudar ao longo do tempo, mas o SID por serviço e o grupo de segurança local são constantes durante o tempo de vida da instalação do servidor. Para o Analysis Services, o grupo de segurança é uma opção melhor para manter permissões do que a conta de logon. Sempre que você conceder manualmente direitos à instância de serviço, sejam permissões do sistema de arquivos ou privilégios do Windows, certifique-se de conceder permissões ao grupo de segurança local criado para a instância do servidor.
O nome do grupo de segurança segue um padrão. O prefixo é sempre SQLServerMSASUser$, seguido pelo nome do computador, terminando com o nome da instância. A instância padrão é MSSQLSERVER. Uma instância nomeada é o nome dado durante a instalação.
Pode ver este grupo de segurança nas definições de segurança locais:
Executar compmgmt.msc | Utilizadores e Grupos Locais | Grupos | SQLServerMSASUser$<server-name>$MSSQLSERVER (para uma instância padrão).
Para exibir seus membros, clique duas vezes no grupo de segurança.
O único membro do grupo é o SID específico para cada serviço. Ao lado dele está a conta de logon. O nome da conta de logon é meramente cosmético, estando presente para fornecer contexto ao SID de cada serviço. Se você alterar a conta de logon, o grupo de segurança e o SID por serviço não serão alterados. Apenas o rótulo da conta de logon é diferente.
Privilégios do Windows atribuídos à conta de serviço do Analysis Services
O Analysis Services precisa de permissões do sistema operacional para inicialização do serviço e para solicitar recursos do sistema. Os requisitos variam de acordo com o modo de servidor e se a instância está clusterizada.
Todas as instâncias do Analysis Services exigem o privilégio Iniciar sessão como um serviço (SeServiceLogonRight). A Instalação do SQL Server atribui o privilégio para você na conta de serviço especificada durante a instalação. Para servidores executados no modo Multidimensional e Mineração de Dados, esse é o único privilégio do Windows exigido pela conta de serviço do Analysis Services para instalações de servidor autônomo e é o único privilégio que a Instalação configura para o Analysis Services. Para instâncias clusterizadas e tabulares, privilégios adicionais do Windows devem ser adicionados manualmente.
As instâncias de cluster de failover, no modo Tabular ou Multidimensional, devem ter aumentar a prioridade de agendamento (SeIncreaseBasePriorityPrivilege).
As instâncias tabulares usam os três privilégios adicionais a seguir, que devem ser concedidos manualmente após a instalação da instância.
| Privilégio | Descrição |
|---|---|
| Aumentar o conjunto de trabalho de um processo (SeIncreaseWorkingSetPrivilege) | Esse privilégio está disponível para todos os usuários por padrão por meio do grupo de segurança Usuários . Se você bloquear um servidor removendo privilégios para esse grupo, o Analysis Services poderá falhar ao iniciar, registrando este erro: "Um privilégio necessário não é mantido pelo cliente". Quando esse erro ocorrer, restaure o privilégio para o Analysis Services concedendo-o ao grupo de segurança apropriado do Analysis Services. |
| Ajustar limites de memória para um processo (SeIncreaseQuotaPrivilege) | Esse privilégio é usado para solicitar mais memória se um processo não tiver recursos suficientes para concluir sua execução, sujeito aos limites de memória estabelecidos para a instância. |
| Bloquear páginas na memória (SeLockMemoryPrivilege) | Esse privilégio é necessário somente quando a paginação está totalmente desativada. Por padrão, uma instância de servidor tabular usa o arquivo de paginação do Windows, mas você pode impedi-lo de usar a paginação do Windows definindo VertiPaqPagingPolicy como 0. VertiPaqPagingPolicy para 1 (padrão), instrui a instância do servidor tabular a usar o arquivo de paginação do Windows. As alocações não são bloqueadas, permitindo que o Windows saia da página conforme necessário. Como a paginação está sendo usada, não há necessidade de bloquear páginas na memória. Assim, para a configuração predefinida (onde VertiPaqPagingPolicy = 1), não é necessário conceder o privilégio de bloquear páginas na memória a uma instância tabular. VertiPaqPagingPolicy para 0. Se você desativar a paginação para o Analysis Services, as alocações serão bloqueadas, supondo que o privilégio Bloquear páginas na memória seja concedido à instância tabular. Dada essa configuração e o privilégio Bloquear páginas na memória , o Windows não pode paginar alocações de memória feitas ao Analysis Services quando o sistema está sob pressão de memória. O Analysis Services depende da permissão Bloquear páginas na memória como mecanismo de dependência subjacente ao VertiPaqPagingPolicy = 0. Observe que desativar a paginação do Windows não é recomendado. Ele aumentará a taxa de erros de falta de memória para operações que, de outra forma, poderiam ser bem-sucedidas se a paginação fosse permitida. Consulte Propriedades de memória para obter mais informações sobre VertiPaqPagingPolicy. |
Para exibir ou adicionar privilégios do Windows na conta de serviço
Executar GPEDIT.msc | Política do Computador Local | Configuração do Computador | Configurações do Windows | Configurações de Segurança | Políticas Locais | Atribuições de Direitos de Usuário.
Analise as políticas existentes que incluem SQLServerMSASUser$. Este é um grupo de segurança local encontrado em computadores com uma instalação do Analysis Services. Os privilégios do Windows e as permissões de pasta de ficheiros são concedidos a este grupo de segurança. Clique duas vezes em Iniciar sessão como um serviço para ver como o grupo de segurança é especificado no seu sistema. O nome completo do grupo de segurança variará dependendo se você instalou o Analysis Services como uma instância nomeada. Use esse grupo de segurança, em vez da conta de serviço real, ao adicionar privilégios de conta.
Para adicionar privilégios de conta no GPEDIT, clique com o botão direito do mouse em Aumentar um conjunto de trabalho de processo e selecione Propriedades.
Clique em Adicionar usuário ou grupo.
Introduza o grupo de utilizadores para a instância do Analysis Services. Lembre-se de que a conta de serviço é membro de um grupo de segurança local, exigindo que você insira o nome do computador local como o domínio da conta.
A lista a seguir mostra dois exemplos para uma instância padrão e uma instância nomeada chamada "Tabular" em uma máquina chamada "SQL01-WIN12", onde o nome da máquina é o domínio local.
SQL01-WIN12\SQL01-WIN12$SQLServerMSASUser$MSSQLSERVER
SQL01-WIN12\SQL01-WIN12$SQLServerMSASUser$TABULAR
Repita para Ajustar cotas de memória para um processo e, opcionalmente, para Bloquear páginas na memória ou Aumentar a prioridade de agendamento.
Observação
As versões anteriores da Configuração adicionaram inadvertidamente a conta de serviço do Analysis Services ao grupo Usuários do Log de Desempenho. Embora esse defeito tenha sido corrigido, as instalações existentes podem ter essa associação de grupo desnecessária. Como a conta de serviço do SQL Server Analysis Services não requer associação ao grupo Usuários do Log de Desempenho , você pode removê-la do grupo.
Permissões do sistema de arquivos atribuídas à conta de serviço do Analysis Services
Observação
Consulte Configurar contas de serviço e permissões do Windows para obter uma lista de permissões associadas a cada pasta de programa.
Consulte Configurar o acesso HTTP ao Analysis Services no IIS (Serviços de Informações da Internet) 8.0 para obter informações de permissão de arquivo relacionadas à configuração do IIS e ao SQL Server Analysis Services.
Todas as permissões do sistema de arquivos necessárias para operações de servidor, incluindo permissões necessárias para carregar e descarregar bancos de dados de uma pasta de dados designada, são atribuídas pela Instalação do SQL Server durante a instalação.
O detentor de permissão em arquivos de dados, executáveis de arquivos de programa, arquivos de configuração, arquivos de log e arquivos temporários é um grupo de segurança local criado pela Instalação do SQL Server.
Há um grupo de segurança criado para cada instância instalada. O grupo de segurança é nomeado após a instância ─ SQLServerMSASUser$MSSQLSERVER para a instância padrão ou SQLServerMSASUser$<servername>$<instancename> para uma instância nomeada. A Instalação provisiona esse grupo de segurança com as permissões de arquivo necessárias para executar operações de servidor. Se você verificar as permissões de segurança no \MSAS13. MSSQLSERVER\OLAP\BIN diretório, você verá que o grupo de segurança (não a conta de serviço ou seu SID por serviço) é o titular da permissão nesse diretório.
O grupo de segurança contém apenas um membro: o SID (Identificador de Segurança por serviço) da conta de inicialização da instância do SQL Server Analysis Services. A configuração adiciona o SID específico por serviço ao grupo de segurança local. O uso de um grupo de segurança local, com sua associação SID, é uma diferença pequena, mas percetível, na forma como a Instalação do SQL Server provisiona o Analysis Services, em comparação com o Mecanismo de Banco de Dados.
Se você acredita que as permissões de arquivo estão corrompidas, siga estas etapas para verificar se o serviço ainda está provisionado corretamente:
Use a ferramenta de linha de comando Controle de Serviço (sc.exe) para obter o SID de uma instância de serviço padrão.
SC showsid MSSqlServerOlapServicePara uma instância nomeada (onde o nome da instância é Tabular), use esta sintaxe:
SC showsid MSOlap$TabularUse Gerenciador de Computadores | Usuários e Grupos Locais | Grupos para inspecionar a associação do grupo de segurança SQLServerMSASUser$<servername>$<instancename>.
O SID membro deve corresponder ao SID por serviço da etapa 1.
Usar o Windows Explorer | Programas | Microsoft SQL Server | MSASxx.MSSQLServer | OLAP | bin para verificar se as propriedades de segurança da pasta são concedidas ao grupo de segurança na etapa 2.
Observação
Nunca remova ou modifique um SID. Para restaurar um SID por serviço que foi excluído inadvertidamente, consulte Usando SIDs de serviço para conceder permissões a serviços no SQL Server 2017.
Mais sobre SIDs por serviço
Cada conta do Windows tem um SID associado, mas os serviços também podem ter SIDs, portanto, referidos como SIDs por serviço. Um SID por serviço é criado quando a instância de serviço é instalada, como um elemento único e permanente do serviço. O SID por serviço é um SID local no nível da máquina gerado a partir do nome do serviço. Em uma instância padrão, seu nome amigável é NT SERVICE\MSSQLServerOLAPService.
A vantagem de um SID por serviço é que ele permite que a conta de logon mais amplamente visível seja alterada arbitrariamente, sem afetar as permissões de arquivo. Por exemplo, suponha que você instalou duas instâncias do Analysis Services, uma instância padrão e uma instância nomeada, ambas em execução na mesma conta de usuário do Windows. Enquanto a conta de logon é compartilhada, cada instância de serviço terá um SID exclusivo por serviço. Este SID é distinto do SID da conta de logon. O SID por serviço é usado para permissões de arquivo e privilégios do Windows. Por outro lado, o SID da conta de logon é usado para cenários de autenticação e autorização ─ SIDS diferentes, usados para finalidades diferentes.
Como o SID é imutável, as ACLs do sistema de arquivos criadas durante a instalação do serviço podem ser usadas indefinidamente, independentemente da frequência com que você altera a conta de serviço. Como medida de segurança adicional, as ACLs que especificam permissões por meio de um SID garantem que os executáveis do programa e as pastas de dados sejam acessados apenas por uma única instância de um serviço, mesmo que outros serviços sejam executados na mesma conta.
Concedendo permissões adicionais do Analysis Services para operações específicas do servidor
O SQL Server Analysis Services executa algumas tarefas no contexto de segurança da conta de serviço (ou conta de logon) usada para iniciar o SQL Server Analysis Services e executa outras tarefas no contexto de segurança do usuário que está solicitando a tarefa.
A tabela a seguir descreve as permissões adicionais necessárias para dar suporte a tarefas executadas como a conta de serviço.
| Operação do servidor | Item de trabalho | Justificação |
|---|---|---|
| Acesso remoto a fontes de dados relacionais externas | Criar um logon de banco de dados para a conta de serviço | O processamento refere-se à recuperação de dados de uma fonte de dados externa (geralmente um banco de dados relacional), que é subsequentemente carregado em um banco de dados do SQL Server Analysis Services. Uma das opções de credencial para recuperar dados externos é usar a conta de serviço. Essa opção de credencial funciona somente se você criar um logon de banco de dados para a conta de serviço e conceder permissões de leitura no banco de dados de origem. Consulte Definir Opções de Representação (SSAS - Multidimensional) para mais informações sobre como a opção de conta de serviço é utilizada nesta tarefa. Da mesma forma, se o ROLAP for usado como o modo de armazenamento, as mesmas opções de representação estarão disponíveis. Nesse caso, a conta também deve ter acesso de gravação aos dados de origem para processar as partições ROLAP (ou seja, para armazenar agregações). |
| DirectQuery | Criar um logon de banco de dados para a conta de serviço | O DirectQuery é um recurso tabular usado para consultar conjuntos de dados externos que são muito grandes para caber dentro do modelo tabular ou têm outras características que tornam o DirectQuery um ajuste melhor do que a opção de armazenamento na memória padrão. Uma das opções de conexão disponíveis no modo DirectQuery é usar a conta de serviço. Mais uma vez, essa opção funciona somente quando a conta de serviço tem um login de banco de dados e permissões de leitura na fonte de dados de destino. Consulte Definir Opções de Representação (SSAS - Multidimensional) para mais informações sobre como a opção de conta de serviço é utilizada nesta tarefa. Como alternativa, as credenciais do usuário atual podem ser usadas para recuperar dados. Na maioria dos casos, essa opção implica uma conexão de salto duplo, portanto, certifique-se de configurar a conta de serviço para delegação restrita de Kerberos para que a conta de serviço possa delegar identidades a um servidor downstream. Para obter mais informações, consulte Configurar o Analysis Services para delegação restrita de Kerberos. |
| Acesso remoto a outras instâncias do SSAS | Adicionar a conta de serviço às funções de banco de dados do Analysis Services definidas no servidor remoto | As partições remotas e a referência a objetos vinculados em outras instâncias remotas do SQL Server Analysis Services são recursos do sistema que exigem permissões em um computador ou dispositivo remoto. Quando uma pessoa cria e preenche partições remotas ou configura um objeto vinculado, essa operação é executada no contexto de segurança do usuário atual. Se, posteriormente, você automatizar essas operações, o SQL Server Analysis Services acessará instâncias remotas no contexto de segurança de sua conta de serviço. Para acessar objetos vinculados em uma instância remota do SQL Server Analysis Services, a conta de logon deve ter permissão para ler os objetos apropriados na instância remota, como acesso de leitura a determinadas dimensões. Da mesma forma, o uso de partições remotas requer que a conta de serviço tenha direitos administrativos na instância remota. Essas permissões são concedidas na instância remota do Analysis Services, usando funções que associam operações permitidas a um objeto específico. Consulte Conceder permissões de banco de dados (Analysis Services) para obter instruções sobre como conceder permissões de Controle Total que permitem operações de processamento e consulta. Consulte Criar e gerenciar uma partição remota (Analysis Services) para obter mais informações sobre partições remotas. |
| Write-back | Adicionar a conta de serviço às funções de banco de dados do Analysis Services definidas no servidor remoto | Quando habilitado em aplicativos cliente, o write-back é um recurso de modelos multidimensionais que permite a criação de novos valores de dados durante a análise de dados. Se o writeback estiver ativado em qualquer dimensão ou cubo, a conta de serviço do SQL Server Analysis Services deverá ter permissões de escrita na tabela de writeback na base de dados relacional do SQL Server de origem. Se essa tabela ainda não existir e precisar ser criada, a conta de serviço do SQL Server Analysis Services também deverá ter permissões de criação de tabela no banco de dados SQL Server designado. |
| Gravar em uma tabela de log de consulta em um banco de dados relacional do SQL Server | Criar um login de base de dados para a conta de serviço e atribuir permissões de escrita na tabela de log de consulta | Você pode habilitar o log de consultas para coletar dados de uso em uma tabela de banco de dados para análise subsequente. A conta de serviço do SQL Server Analysis Services deve ter permissão de escrita na tabela de log de consultas no banco de dados SQL Server designado. Se essa tabela ainda não existir e precisar ser criada, a conta de logon do SQL Server Analysis Services também deverá ter permissões de criação de tabela no banco de dados SQL Server designado. Para obter mais informações, consulte Melhorar o desempenho do SQL Server Analysis Services com o Assistente de otimização baseada no uso (blog). |
Conteúdo relacionado
Configurar Permissões e Contas de Serviço Windows
Conta de serviço do SQL Server e Per-Service SID (Blog)
Usando SIDs de serviço para conceder permissões a serviços no SQL Server 2017
Token de acesso (MSDN)
Identificadores de segurança (MSDN)
Token de Acesso (Wikipedia)
Listas de Controle de Acesso (Wikipedia)