Partilhar via


Configurar contas de serviço (Serviços de Análise)

O provisionamento de conta em todo o produto está documentado na Configuração de Contas e Permissões de Serviço do Windows, um tópico que fornece informações abrangentes da conta de serviço para todos os serviços do SQL Server, incluindo o Analysis Services. Consulte-o 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 de registro e muito mais.

Este tópico fornece informações complementares para o Analysis Services, incluindo permissões adicionais necessárias para instalações tabulares e clusterizadas. Ele também abrange as permissões necessárias para dar suporte a operações de servidor. Por exemplo, você pode configurar operações de processamento e consulta para executar na conta de serviço ─ nesse caso, você precisará conceder permissões adicionais para que isso funcione.

Uma etapa de configuração adicional, não documentada aqui, é registrar um SPN (Nome da Entidade de Serviço) para a instância e a conta de serviço do Analysis Services. Esta etapa permite a autenticação de passagem direta de aplicativos clientes para fontes de dados backend em cenários de duplo salto. Esta etapa só se aplica aos serviços configurados para Delegação Restrita Kerberos. Consulte Configurar a delegação restrita do Analysis Services para Kerberos para obter mais instruções.

Recomendações de conta de logon

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 fazer o Cluster Analysis Services para obter detalhes.

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, supondo que o Windows Server 2008 R2 e posterior para o sistema operacional e o SQL Server 2012 e posterior para o Analysis Services.

Concedendo permissões ao Analysis Services

Esta seção explica as permissões necessárias para operações locais e internas, como iniciar o executável, ler o arquivo de configuração e carregar bancos de dados do diretório de dados. Se, em vez disso, você estiver procurando orientação sobre como definir permissões para acesso a dados externos e interoperabilidade com outros serviços e aplicativos, consulte Conceder permissões adicionais para operações de servidor específicas 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. Atribuir permissões ao grupo de segurança é consistente com versões anteriores do Analysis Services. Além disso, as contas de logon podem ser alteradas 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, isso torna o grupo de segurança, em vez da conta de logon, uma opção melhor para manter permissões. Sempre que você conceder manualmente direitos à instância de serviço, seja permissões do sistema de arquivos ou privilégios do Windows, conceda permissões ao grupo de segurança local criado para a instância de 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 fornecido durante a configuração.

Você pode ver esse grupo de segurança nas configurações de segurança local:

  • Executar compmgmt.msc | Usuários e Grupos | LocaisGrupos | SQLServerMSASUser$<nome>$MSSQLSERVER do servidor (para uma instância padrão).

  • Clique duas vezes no grupo de segurança para exibir seus membros.

O único membro do grupo é o SID por serviço. Ao lado dela está a conta de logon. O nome da conta de logon é cosmético, está lá para fornecer contexto ao SID específico de cada serviço. Se você alterar posteriormente a conta de logon e retornar a esta página, observará que o grupo de segurança e o SID por serviço não são alterados, mas 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 de serviço e para solicitar recursos do sistema. Os requisitos variam de acordo com o modo de servidor e se a instância está clusterizado. Se você não estiver familiarizado com privilégios do Windows, consulte Privilégios e Constantes de Privilégios (Windows) para obter detalhes.

Todas as instâncias do Analysis Services requerem o privilégio Log on 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 em execução no modo Multidimensional e de Mineração de Dados, esse é o único privilégio do Windows exigido pela conta de serviço do Analysis Services em instalações autônomas de servidor, e é o único privilégio configurado pelo processo de configuração para o Analysis Services. Para instâncias clusterizados e tabulares, privilégios adicionais do Windows devem ser adicionados manualmente.

As instâncias de cluster de failover, em modo Tabular ou Multidimensional, devem ter Aumento da 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.

Aumentar o conjunto de memória 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 em log: "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 cotas de memória para um processo (SeIncreaseQuotaSizePrivilege) 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 é desativada por completo. 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 estão bloqueadas, permitindo que o Windows pagine conforme necessário. Como a paginação está sendo usada, não é necessário bloquear páginas na memória. Portanto, para a configuração padrão (em que VertiPaqPagingPolicy = 1), você não precisa conceder o privilégio 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 de bloquear páginas na memória seja concedido à instância tabular. Dada a configuração e o privilégio de bloquear páginas na memória, o Windows não pode paginar as alocações de memória feitas para o 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 para impor VertiPaqPagingPolicy = 0. Observe que não é recomendável desativar a paginação do Windows. Isso aumentará a taxa de erros de memória insuficiente para operações que poderiam ter êxito 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

  1. Executar GPEDIT.msc | Política de Computador Local | Configuração do computador | Configurações do Windows | Configurações de segurança | Políticas locais | Atribuições de direitos do usuário.

  2. Examine as políticas existentes que incluem SQLServerMSASUser$. Este é um grupo de segurança local encontrado em computadores com uma instalação do Analysis Services. Privilégios do Windows e permissões de pastas de arquivos são concedidos a este grupo de segurança. Clique duas vezes em Fazer logon como um serviço para ver como o grupo de segurança é especificado em 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.

  3. Para adicionar privilégios de conta no GPEDIT, clique com o botão direito do mouse em Aumentar um conjunto de trabalho do processo e selecione Propriedades.

  4. Clique em Adicionar Usuário ou Grupo.

  5. Insira o grupo de usuários 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 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 um computador chamado "SQL01-WIN12", em que o nome do computador é o domínio local.

    • SQL01-WIN12\SQL01-WIN12$SQLServerMSASUser$MSSQLSERVER

    • SQL01-WIN12\SQL01-WIN12$SQLServerMSASUser$TABULAR

  6. 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

Versões anteriores do Setup 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 desnecessária ao grupo. Como a conta de serviço do Analysis Services não requer associação no 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 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 titular da permissão em arquivos de dados, executáveis de arquivo 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 que você instala. O grupo de segurança tem o nome da 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 diretório \MSAS12.MSSQLSERVER\OLAP\BIN, você verá que o grupo de segurança (não a conta de serviço ou seu SID específico 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 Analysis Services. A instalação adiciona o SID de serviço ao grupo de segurança local. O uso de um grupo de segurança local, com sua associação de SID, é uma diferença pequena, mas perceptí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:

  1. Use a ferramenta de linha de comando do Controle de Serviço (sc.exe) para obter o SID de uma instância de serviço padrão.

    SC showsid MSSqlServerOlapService

    Para uma instância nomeada (em que o nome da instância é Tabular), use esta sintaxe:

    SC showsid MSOlap$Tabular

  2. Use 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 de cada serviço da etapa 1.

  3. Use Windows Explorer | Arquivos de 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 https://support.microsoft.com/kb/2620201.

Mais sobre SIDs por serviço

Cada conta do Windows tem um SID associado, mas os serviços também podem ter SIDs, portanto chamados de SIDs por serviço. Um SID para cada serviço é criado quando a instância do serviço é instalada, como um componente exclusivo e permanente do serviço. O SID por serviço é um SID local no nível do computador gerado a partir do nome do serviço. Em uma instância padrão, seu nome amigável é NT SERVICE\MSSQLServerOLAPService.

O benefício 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. Embora a conta de logon seja compartilhada, cada instância de serviço terá um SID exclusivo por serviço. Esse SID é diferente 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 diferentes finalidades.

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 de servidor específicas

O Analysis Services executa algumas tarefas no contexto de segurança da conta de serviço (ou conta de logon) usada para iniciar o Analysis Services e executa outras tarefas no contexto de segurança do usuário que está solicitando a tarefa.

A tabela a seguir descreve permissões adicionais necessárias para dar suporte a tarefas executadas como a conta de serviço.

Operação do servidor Item de Trabalho Justificativa
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 é posteriormente carregado em um banco de dados do Analysis Services. Uma das opções de credencial para recuperar dados externos é usar a conta de serviço. Essa opção de credencial só funcionará 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 obter mais informações sobre como a opção de conta de serviço é usada para essa tarefa. Da mesma forma, se ROLAP for usado como 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 de tabela 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 mais adequado 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 logon 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 obter mais informações sobre como a opção de conta de serviço é usada para essa tarefa. Como alternativa, as credenciais do usuário atual podem ser usadas para recuperar dados. Na maioria das vezes, essa opção envolve uma conexão dupla. Portanto, certifique-se de configurar a conta de serviço para delegação restrita Kerberos, para que a conta de serviço possa delegar identidades a um servidor subsequente. Consulte Configurar o Analysis Services para delegação restrita pelo Kerberos para obter mais informações.
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 Partições remotas e referenciar objetos vinculados em outras instâncias remotas do Analysis Services são recursos do sistema que exigem permissões em um computador ou dispositivo remoto. Quando uma pessoa cria e popula partições remotas ou configura um objeto vinculado, essa operação é executada no contexto de segurança do usuário atual. Se você automatizar essas operações posteriormente, o 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 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 exige 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 write-back estiver habilitado em qualquer dimensão ou cubo, a conta de serviço do Analysis Services deverá ter permissões de gravação para a tabela de write-back no banco 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 Analysis Services também deverá ter permissões de criação de tabela no banco de dados designado do SQL Server.
Gravar em uma tabela de log de consultas em um banco de dados relacional do SQL Server Criar um login de banco de dados para a conta de serviço e atribuir permissões de gravação na tabela de log de consultas 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 Analysis Services deve ter permissão de escrita na tabela de log de consultas no banco de dados designado do SQL Server. Se essa tabela ainda não existir e precisar ser criada, a conta de logon do Analysis Services também deverá ter permissões de criação de tabela no banco de dados designado do SQL Server. Para mais informações, consulte Melhorar o desempenho dos Serviços de Análise do SQL Server com o Assistente de Otimização Baseada no Uso (Blog) e Registro de Consultas nos Serviços de Análise (Blog).

Consulte Também

Configurar contas de serviço e permissões do Windows
Conta de Serviço do SQL Server e SID Per-Service (Blog)
O SQL Server usa um SID de serviço para fornecer isolamento de serviço (artigo KB)
Token de Acesso (MSDN)
Identificadores de segurança (MSDN)
Token de Acesso (Wikipédia)
Listas de controle de acesso (Wikipédia)