Configurar o acesso HTTP ao Analysis Services no IIS (Serviços de Informações da Internet 7.0
Você pode habilitar o acesso HTTP ao Analysis Services configurando o MSMDPUMP.dll, uma extensão de ISAPI que é executada no IIS (Serviços de Informações da Internet) e bombeia dados entre os aplicativos cliente e um servidor do Analysis Services. Esta abordagem oferece um meio alternativo de se conectar ao Analysis Services quando sua solução de BI requer os seguintes recursos:
O acesso de cliente está em conexões via Internet ou extranet, com restrições quanto às portas a serem habilitadas.
As conexões de cliente são provenientes de domínios não confiáveis na mesma rede.
O aplicativo cliente é executado em um ambiente de rede que permite conexões HTTP, mas não TCP/IP.
São necessários métodos de autenticação que não sejam a segurança integrada do Windows. Especificamente, você pode usar conexões anônimas e a autenticação Básica ao configurar o Analysis Services para acesso HTTP. Não há suporte para a autenticação Digest, de formulário e ASP. NET.
Os aplicativos cliente não podem usar as bibliotecas de cliente do Analysis Services (por exemplo, um aplicativo Java executado em um servidor UNIX). Se você não puder usar as bibliotecas de cliente do Analysis Services para acessar dados, poderá usar o SOAP e o XML/A em uma conexão HTTP direta a uma instância do Analysis Services.
Este tópico explica como configurar o acesso de HTTP a uma instância do Analysis Services usando o IIS 7.0. Estas instruções são válidas para qualquer versão com suporte ou edição de uma instância do Analysis Services que execute a interface com o IIS 7.0, inclusive o SQL Server 2012, SQL Server 2008 R2, o SQL Server 2008 e o SQL Server 2005. O acesso HTTP tem suporte para os servidores no modo tabular e no modo multidimensional.
Observação |
---|
O suporte às metodologias de autenticação varia de acordo com os aplicativos cliente e de servidor na pilha de BI. Para obter mais informações sobre os cenários habilitados através do acesso HTTP ao Analysis Services, consulte Autenticação do Microsoft BI e delegação de identidade. |
Este tópico inclui as seguintes seções:
Visão geral
Pré-requisitos
Copiar o MSMDPUMP.dll em uma pasta no servidor Web.
Criar um pool de aplicativos e um diretório virtual no IIS
Configurar a autenticação de IIS e adicionar a extensão
Editar o arquivo MSMDPUMP.INI para definir o servidor de destino
Testar sua configuração
Visão geral
O MSMDPUMP é uma extensão de ISAPI que é carregada no IIS e fornece redirecionamento a uma instância do Analysis Services que está no mesmo computador ou em um computador remoto dentro do mesmo domínio. Ao configurar essa extensão ISAPI, você cria um ponto de extremidade HTTP para uma instância do Analysis Services.
Você deve criar e configurar um diretório virtual para cada ponto de extremidade HTTP. Cada ponto de extremidade precisará ter seu próprio conjunto de arquivos MSMDPUMP, para cada instância do Analysis Services à qual você deseja se conectar. Um arquivo de configuração nesse conjunto de arquivos especifica o nome da instância do Analysis Services usado para cada ponto de extremidade HTTP.
No IIS, o MSMDPUMP se conecta ao Analysis Services usando o provedor OLE DB do Analysis Services no TCP/IP. O Analysis Services e o IIS devem estar no mesmo domínio ou em domínios confiáveis para que a conexão nativa tenha êxito.
Quando o MSMDPUMP se conecta ao Analysis Services, ele utiliza uma identidade de usuário do Windows. Esta conta será a conta Anônima se você tiver configurado o diretório virtual para conexões anônimas, ou uma conta de usuário do Windows. A conta deve ter os direitos de acesso a dados apropriados no servidor e banco de dados do Analysis Services.
Observação |
---|
Lembre-se de desbloquear as portas no Firewall do Windows para permitir conexões de cliente a um servidor remoto do Analysis Services. Para obter mais informações, consulte Configurar o Firewall do Windows para permitir o acesso ao Analysis Services. |
A tabela a seguir lista considerações adicionais quando você habilita o acesso de HTTP para cenários diferentes.
Cenário |
Configuração |
---|---|
O IIS e o Analysis Services no mesmo computador |
Esta é a configuração mais simples porque permite usar a configuração padrão (onde o nome de servidor é localhost), o provedor local OLE DB do Analysis Services e a segurança avançada do Windows com NTLM. Assumindo que o cliente também está no mesmo domínio, a autenticação será transparente para o usuário, sem trabalho adicional de sua parte. |
O IIS e o Analysis Services em computadores diferentes |
Para esta topologia, instale o provedor OLE DB do Analysis Services no servidor Web. Você também precisa editar o arquivo msmdpump.ini para especificar o local da instância do Analysis Services no computador remoto. Esta topologia adiciona uma etapa de autenticação de salto duplo, em que credenciais devem fluir do cliente para o servidor Web, e para o servidor back-end do Analysis Services. Se você estiver usando credenciais do Windows e o NTLM, obterá um erro porque o NTLM não permite a delegação de credenciais de cliente a um segundo servidor. A solução mais comum é usar a autenticação Básica com o protocolo SSL, mas isso exige que usuários forneçam um nome de usuário e uma senha quando acessam o diretório virtual de MSMDPUMP. Uma abordagem mais simples poderia ser a habilitação do Kerberos e a configuração da delegação restrita do Analysis Services para permitir que usuários acessem o Analysis Services de forma transparente. Avalie quais portas devem ser desbloqueadas no Firewall do Windows. Você precisará desbloquear portas em ambos os servidores para permitir o acesso ao aplicativo Web no IIS, e ao Analysis Services em um servidor remoto. |
Conexões de cliente são de um domínio não confiável ou de uma conexão de extranet |
Conexões de cliente de um domínio não confiável apresentam restrições adicionais na autenticação. Por padrão, o Analysis Services utiliza a autenticação integrada do Windows; ela exige que os usuários estejam no mesmo domínio que o servidor. Se você tiver usuários de Extranet que se conectam ao IIS de fora do domínio, esses usuários obterão um erro de conexão se o servidor for configurado para usar as configurações padrão. Soluções alternativas incluem a conexão de usuários Extranet através de um VPN usando credenciais de domínio. Porém, talvez melhor opção seja habilitar a autenticação Básica e o SSL em seu site do IIS. |
Pré-requisitos
No servidor Web IIS, certifique-se de instalar o provedor OLE DB do Analysis Services (MSOLAP) para SQL Server 2012. Você pode baixar o provedor no SQL Server 2012 Feature Pack.
Etapa 1: Copiar os arquivos MSMDPUMP para uma pasta no servidor Web
Cada ponto de extremidade HTTP criado deve ter seu próprio conjunto de arquivos MSMDPUMP. Nesta etapa, você copia o executável do MSMDPUMP, o arquivo de configuração e os arquivos de recurso das pastas de programas do Analysis Services para uma nova pasta de diretório virtual que será criada no sistema de arquivos do computador que está executando o IIS.
A unidade deve ser formatada para o sistema de arquivos NTFS. O caminho para a pasta que você cria não deve conter espaços.
Encontre os arquivos que você precisa copiar: MSMDPUMP.DLL, MSMDPUMP.INI e uma pasta Resources contendo arquivos de recursos de linguagens. Esses arquivos estão em <unidade>:\Arquivos de Programas\Microsoft SQL Server \<instância>\OLAP\bin\isapi.
Observação Observe que o formato do nome de instância foi alterado nas últimas versões do SQL Server. Se você estiver usando o SQL Server 2012, o nome da instância padrão será MSAS11.MSSQLSERVER.
Copie todos os arquivos para a pasta \OLAP\bin\isapi, incluindo o conteúdo da subpasta Resources.
Crie uma nova pasta no servidor Web: <unidade>:\inetpub\wwwroot\OLAP
Cole os arquivos que você copiou anteriormente para essa nova pasta.
Verifique se a pasta \inetpub\wwwroot\OLAP no servidor Web contém o seguinte: MSMDPUMP.DLL, MSMDPUMP.INI e uma pasta Resources. A estrutura de pastas deve ter a seguinte aparência:
<unidade>:\inetpub\wwwroot\OLAP\MSMDPUMP.dll
<unidade>:\inetpub\wwwroot\OLAP\MSMDPUMP.ini
<unidade>:\inetpub\wwwroot\OLAP\Resources
Etapa 2: Criar um pool de aplicativos e um diretório virtual no IIS
Em seguida, crie um pool de aplicativos e um diretório virtual que forneça um ponto de extremidade à bomba.
Criar um pool de aplicativos
Inicie o Gerenciador IIS. Clique em Iniciar, aponte para Executar e digite Inetmgr.
Clique com o botão direito do mouse em Pools de Aplicativos e clique em Adicionar Pool de Aplicativos. Crie um pool de aplicativos denominado OLAP, usando .NET Framework v2.0.50727, com o modo de pipeline Gerenciado definido como Clássico.
Por padrão, o IIS cria pools de aplicativos que usam o Serviço de Rede como a identidade de segurança. Para alterar a identidade do pool de aplicativos recém-criado, clique com o botão direito do mouse em OLAP e selecione Configurações Avançadas.
Em Identidade, clique na conta interna que o IIS especificou. Dependendo da versão do Windows utilizada, ela será Serviço de Rede (mostrado no instantâneo) ou ApplicationPoolIdentity. Clique no botão Alterar para que esta propriedade substitua a conta interna pela conta personalizada a ser usada.
Por padrão, em um sistema operacional de 64 bits, o IIS define a propriedade Enable 32-bit Applications como false. Se você copiou msmdpump.dll de uma instalação de 64 bits do Analysis Services, esta será a configuração correta para a extensão MSMDPUMP em um servidor IIS de 64 bits. Se você copiou os binários de MSMDPUMP de uma instalação de 32 bits, defina-a como true. Verifique se a propriedade foi definida corretamente.
Criar um diretório virtual
Em Gerenciador do IIS, abra Sites, clique com o botão direito do mouse em Site Padrão da Web (ou qualquer site usado para acessar a bomba) e clique em Adicionar Diretório virtual.
Em Alias, digite OLAP.
Em Caminho Físico, clique no botão Procurar e navegue até C:\inetpub\wwwroot\OLAP. Clique em OK.
Clique com o botão direito do mouse no diretório virtual OLAP recém-criado e clique em Converter em Aplicativo.
Na caixa de diálogo Adicionar Aplicativo, ao lado de Pool de Aplicativos, clique em Selecionar e escolha o pool de aplicativos OLAP que você criou na seção anterior.
Clique em OK duas vezes para aceitar as alterações e converter o aplicativo.
Etapa 3: Configurar a autenticação de IIS e adicionar a extensão
Nesta etapa, você configura mais o diretório virtual do SSAS recém-criado. Você especificará um método de autenticação e depois adicionará um mapa de script. Estes são métodos de autenticação com suporte para o Analysis Services sobre HTTP:
Autenticação do Windows (Kerberos ou NTLM)
Autenticação anônima
Autenticação Básica
A Autenticação anônima é frequentemente usada durante o teste inicial porque a facilidade de configuração ajuda a validar rapidamente a conectividade HTTP com o Analysis Services. Em apenas algumas etapas, você pode atribuir uma conta de usuário exclusiva como identidade, conceder essas permissões de conta no Analysis Services, usar a conta para verificar o acesso aos dados em um aplicativo cliente e, em seguida, desabilitar a autenticação Anônima quando o teste for concluído.
Você também poderá usar a autenticação Anônima em um ambiente de produção se os usuários não tiverem contas de usuário do Windows, mas siga as práticas recomendadas bloqueando as permissões no sistema host, conforme destacado neste artigo: Habilitar a autenticação Anônima (IIS 7). Verifique se a autenticação está definida no diretório virtual, e não no site pai, a fim de reduzir ainda mais o nível da conta de acesso.
Quando a opção Anônima for habilitada, qualquer conexão de usuário com o ponto de extremidade HTTP será permitida como usuário anônimo. Não será possível fazer a auditoria de cada conexão de usuário nem usar a identidade do usuário para selecionar dados em um modelo. Como você pode ver, o uso da opção Anônima impacta tudo, do modelo de design ao acesso e à atualização dos dados. No entanto, se os usuários não tiverem um logon de usuário do Windows para começar, o uso da conta Anônima talvez seja sua única opção.
A Autenticação do Windows é considerada a alternativa mais segura, e aproveita a infraestrutura existente das redes que usam o Active Directory. Para usar a autenticação do Windows com eficiência, todos os navegadores, aplicativos cliente e aplicativos de servidor devem oferecer suporte a ela. Esse é o modo mais seguro e recomendado, mas requer que o IIS acesse um controlador de domínio do Windows que possa autenticar a identidade do usuário que está solicitando uma conexão.
Nas topologias que colocam o Analysis Services e o IIS em computadores diferentes, você precisará solucionar os problemas de salto duplo que ocorrem quando uma identidade de usuário precisa ser delegada a um segundo serviço em um computador remoto, normalmente habilitando o Analysis Services para delegação restrita de Kerberos. Para obter mais informações, consulte Configurar o Analysis Services para delegação restrita de Kerberos.
A Autenticação Básica é usada quando você tem identidades do Windows, mas as conexões de usuário são provenientes de domínios não confiáveis, proibindo o uso de conexões representadas ou delegadas. A autenticação Básica permite especificar uma identidade de usuário e uma senha em uma cadeia de conexão. Em vez de usar o contexto de segurança do usuário atual, as credenciais na cadeia de conexão são usadas para estabelecer a conexão com o Analysis Services. Como o Analysis Services oferece suporte apenas à autenticação do Windows, quaisquer credenciais passadas para ele devem ser um usuário ou grupo do Windows que seja membro do domínio em que o Analysis Services está hospedado.
Definir o tipo de autenticação e adicionar um mapa de script
No Gerenciador do IIS, abra Sites, abra Site Padrão da Web e selecione o diretório virtual OLAP.
Clique duas vezes em Autenticação na seção de IIS da página principal.
Habilite Autenticação do Windows se estiver usando a segurança integrada do Windows.
Se desejar, habilite Autenticação Básica se os aplicativos cliente e de servidor estiverem em domínios diferentes. Este modo exige que o usuário insira um nome de usuário e uma senha. O nome de usuário e a senha são transmitidos na conexão HTTP para IIS. O IIS tentará representar o usuário usando as credenciais fornecidas ao conectar-se ao MSMDPUMP, mas as credenciais não serão delegadas ao Analysis Services. Em vez disso, você precisará passar um nome de usuário e uma senha válidos em uma conexão, conforme descrito na Etapa 6 deste documento.
Observação sobre segurança Observe que é imperativo para qualquer pessoa que esteja compilando um sistema onde a senha é transmitida que encontre formas de proteger o canal de comunicação. O IIS fornece um conjunto de ferramentas que o ajudam a proteger o canal. Para obter mais informações, consulte Como configurar o SSL no IIS 7.
Desabilite Autenticação Anônima se estiver usando a autenticação Básica ou do Windows. Quando a autenticação Anônima for habilitada, o IIS sempre a usará primeiro, mesmo se outros métodos de autenticação estiverem habilitados.
Na autenticação Anônima, a bomba (msmdpump.dll) é executada como a conta de usuário estabelecida para o usuário anônimo. Não há distinção entre o usuário que está se conectando o IIS e o usuário que está se conectando ao Analysis Services. Por padrão, o IIS usa a conta IUSR, mas é possível transformá-la em uma conta de usuário de domínio que tenha permissões de rede. Você precisará desse recurso se o IIS e o Analysis Services estiverem em computadores diferentes.
Para obter instruções sobre como configurar credenciais para a autenticação Anônima, consulte Autenticação Anônima.
Observação sobre segurança A autenticação Anônima é mais utilizada em um ambiente extremamente controlado, onde o acesso é concedido ou negado aos usuários através de listas de controle de acesso no sistema de arquivos. Para obter as práticas recomendadas, consulte Habilitar a autenticação Anônima (IIS 7).
Clique no diretório virtual OLAP para abrir a página principal. Clique duas vezes em Mapeamentos do Manipulador.
Clique com o botão direito do mouse em qualquer ponto da página e selecione Adicionar Mapa de Script. Na caixa de diálogo Adicionar Mapa de Script, especifique *.dll como o caminho de solicitação, especifique c:\inetpub\wwwroot\OLAP\msmdpump.dll como o executável e digite OLAP como o nome.
Clique em Restrições de Solicitação.
Na guia Verbos, verifique se Todos os verbos está selecionado. Clique em OK e clique em OK novamente para concluir a adição dos mapeamentos de script.
Quando for solicitado a permitir a extensão ISAPI, clique em Sim.
Etapa 4: Editar o arquivo MSMDPUMP.INI para definir o servidor de destino
O arquivo MSMDPUMP.INI especifica a instância do Analysis Services ao qual o MSMDPUMP.DLL se conecta. A instância pode ser local ou remota, instalada como padrão ou como uma instância nomeada.
Abra o arquivo msmdpump.ini localizado na pasta C:\inetpub\wwwroot\OLAP e verifique o conteúdo desse arquivo. Ele deve ter esta aparência:
<ConfigurationSettings>
<ServerName>localhost</ServerName>
<SessionTimeout>3600</SessionTimeout>
<ConnectionPoolSize>100</ConnectionPoolSize>
</ConfigurationSettings>
Se a instância do Analysis Services para a qual você está configurando o acesso de HTTP estiver localizada no computador local e instala como uma instância padrão, não haverá razão para alterar esta configuração. Caso contrário, especifique o nome de servidor (por exemplo, <ServerName>ADWRKS-SRV01</ServerName>). Para um servidor que está instalado como uma instância nomeada, acrescente o nome de instância (por exemplo, <NomeDoServidor>ADWRKS-SRV01\Tabular</NomeDoServidor>).
Por padrão, o Analysis Services escuta na porta TCP/IP 2383. Se você instalou o Analysis Services como a instância padrão, não será necessário especificar uma porta em <ServerName> porque o Analysis Services escuta na porta 2383 automaticamente. Porém, você precisa permitir conexões de entrada a essa porta no Firewall do Windows. Para obter mais informações, consulte Configurar o Firewall do Windows para permitir o acesso ao Analysis Services.
Se você tiver configurado uma instância nomeada ou padrão do Analysis Services para realizar a escuta em uma porta fixa, adicione o número da porta ao nome do servidor (por exemplo, <NomeDoServidor>AW-SRV01:55555</NomeDoServidor>) e permita conexões de entrada no Firewall do Windows nessa porta.
Etapa 5: Conceder permissões de acesso a dados
Como mencionado anteriormente, você precisará conceder permissões de acesso a dados na instância do Analysis Services. Cada objeto de banco de dados terá funções que fornecem um nível específico de permissões (leitura ou leitura/gravação), e cada função terá os membros que consistem em identidades de usuário do Windows.
Para definir permissões, você pode usar o SQL Server Management Studio. Na pasta Database | Role, você pode criar funções, especificar permissões de banco de dados, atribuir a associação às contas de grupo ou de usuário do Windows e conceder permissões de leitura ou gravação em objetos específicos. Normalmente, as permissões de Leitura em um cubo são suficientes para as conexões de cliente que usam, mas não atualizam, dados do modelo.
A atribuição de função varia dependendo de como você configurou a autenticação.
Anônima |
Adicione, à lista de associações, a conta especificada em Editar Credenciais de Autenticação Anônima no IIS. Para obter mais informações, consulte Autenticação Anônima, |
Autenticação do Windows |
Adicione, à lista de associações, as contas de grupo ou de usuário do Windows que estão solicitando dados do Analysis Services por representação ou delegação. |
Autenticação Básica |
Adicione, à lista de associações, as contas de grupo ou de usuário do Windows que serão passadas na cadeia de conexão. |
Para obter mais informações sobre como configurar permissões, consulte Autorizando o acesso a objetos e operações (Analysis Services).
Etapa 6: Testar sua configuração
A sintaxe da cadeia de conexão para MSMDPUMP é a URL para o arquivo MSMDPUMP.dll.
Se o aplicativo Web estiver escutando em uma porta fixa, acrescente o número de porta ao nome de servidor ou endereço IP (por exemplo, http://my-web-srv01:8080/OLAP/msmdpump.dll or http://123.456.789.012:8080/OLAP/msmdpump.dll.
Para testar rapidamente a conexão, você pode abrir uma conexão usando o Microsoft Excel ou SQL Server Management Studio.
Testar as conexões usando o Excel
Na guia Dados do Excel, em Obter Dados Externos, clique em De Outras Fontes e escolha Do Analysis Services para iniciar o Assistente para Conexão de Dados.
Em Nome do servidor, insira o endereço HTTP da extensão msmdpump: http://my-web-srv01/OLAP/msmdpump.dll.
Em Credenciais de logon, escolha Usar Autenticação do Windows se você estiver usando a segurança integrada do Windows ou NTLM, ou Usuário anônimo.
Para a autenticação Básica, escolha Usar a seguinte senha e nome de usuário e especifique as credenciais usadas para entrar. As credenciais fornecidas serão passadas na cadeia de conexão para o Analysis Services.
Testar conexões usando o SQL Server Management Studio
No Management Studio, na caixa de diálogo Conectar ao Servidor, selecione Analysis Services como tipo de servidor. Em Nome do servidor, insira o endereço HTTP da extensão msmdpump: http://my-web-srv01/OLAP/msmdpump.dll.
A autenticação deve ser a autenticação do Windows, e a pessoa que usa o Management Studio deve ser um administrador do Analysis Services.
Testar as conexões usando o AMO
Você pode testar o acesso HTTP usando o AMO de modo programático, substituindo a URL do ponto de extremidade do nome do servidor. Para obter detalhes, consulte Postagem do fórum (Como sincronizar bancos de dados do SSAS 2008 R2 via HTTPS além dos limites do domínio/floresta e do firewall).
Uma cadeia de conexão de exemplo que ilustra a sintaxe do acesso HTTP(S) usando a autenticação Básica:
Data Source=https://<servername>/olap/msmdpump.dll; Initial Catalog=AdventureWorksDW2012; Integrated Security=Basic; User ID=XXXX; Password=XXXXX;
Para obter mais informações sobre como configurar a conexão de modo programático, consulte Estabelecendo conexões seguras no ADOMD.NET.
Como etapa final, faça testes mais rigorosos usando um computador cliente executado no ambiente de rede no qual as conexões serão originadas.
Consulte também
Conceitos
Configurar o Firewall do Windows para permitir o acesso ao Analysis Services
Autorizando o acesso a objetos e operações (Analysis Services)
Outros recursos
Postagem do fórum (Acesso HTTP usando o msmdpump e a autenticação básica)