Credenciais e conexões para fontes de dados de relatórios

Um servidor de relatório usa credenciais para se conectar a fontes de dados externas que fornecem conteúdo a relatórios ou informações de destinatário para assinaturas controladas por dados. Você pode especificar credenciais que usam a Autenticação do Windows, autenticação de banco de dados, nenhuma autenticação ou autenticação personalizada. Quando o servidor de relatório envia uma solicitação de conexão pela rede, ele representa uma conta de usuário ou a conta de execução não assistida. Para obter mais informações sobre o contexto de segurança sob o qual uma solicitação de conexão é feita, consulte Configuração de fontes de dados e conexões de rede neste artigo.

Observação

As credenciais são também usadas para autenticar usuários com acesso ao servidor de relatório. Para obter mais informações sobre a autenticação de usuários para um servidor de relatório, confira Autenticação em um servidor de relatório.

A conexão com uma fonte de dados externa é definida quando você cria o relatório. Você pode gerenciar isso separadamente após a publicação do relatório. Você pode especificar uma cadeia de caracteres de conexão estática ou uma expressão que permita aos usuários selecionar uma fonte de dados a partir de uma lista dinâmica. Para obter mais informações sobre como especificar um tipo de fonte de dados e uma cadeia de conexão, consulte Criar cadeias de conexão de dados no Report Builder.

Credenciais usadas no Report Builder

No Construtor de Relatórios, as credenciais geralmente são usadas quando você se conecta a um servidor de relatório. Além disso, você usa as credenciais para tarefas relacionadas a dados, como criar uma fonte de dados incorporada, realizar a execução de uma consulta de conjunto de dados ou efetuar a preview de um relatório. As credenciais não são armazenadas no relatório. Essas credenciais são gerenciadas separadamente no servidor de relatório ou no cliente local. A lista apresentada a seguir descreve os tipos de credenciais que você pode precisar fornecer, o local em que elas são armazenadas e como são usadas:

  • As credenciais do servidor de relatório inseridas por você na caixa de diálogo Início de sessão do Reporting Services.

    Quando você salvar, publicar ou acessar, pela primeira vez, um servidor de relatório ou um site do SharePoint, pode ser necessário inserir suas credenciais. As credenciais inseridas são usadas até a sessão do Construtor de Relatórios terminar. Se você escolher salvar as credenciais, elas serão armazenadas com segurança nas configurações de usuário no seu computador. Nas sessões subsequentes do Construtor de Relatórios, as credenciais salvas são usadas para se conectar ao mesmo servidor de relatório ou site do SharePoint. O administrador do servidor de relatório ou do SharePoint especifica o tipo de credencial a ser usado.

  • As credenciais de fonte de dados inseridas na caixa de diálogo Propriedades da Fonte de Dados para uma fonte de dados integradas.

    Essas credenciais são usadas pelo servidor de relatório para fazer uma conexão de dados com a fonte de dados externa. Para alguns tipos de fontes de dados, as credenciais podem ser armazenadas com segurança no servidor de relatório. Essas credenciais permitem ao outros usuários executar o relatório sem fornecer credenciais para a conexão de dados subjacente.

  • As credenciais de fonte de dados inseridas na caixa de diálogo Inserir Credenciais da Fonte de Dados ao executar uma consulta de conjunto de dados, atualizar campos de conjuntos de dados ou visualizar o relatório.

    Essas credenciais são usadas para estabelecer uma conexão de dados do Report Builder com a fonte de dados externa ou para realizar a preview de um relatório configurado com a finalidade de solicitar credenciais. As credenciais que você insere nessa caixa de diálogo não são armazenadas no servidor de relatório e não estão disponíveis para uso de outros usuários. O Construtor de Relatórios armazena em cache as credenciais durante a sessão de edição de relatório de forma que você não precise inseri-las toda vez que executar a consulta ou visualizar o relatório.

    Para fontes de dados compartilhadas, use a opção Salvar minha senha para salvar as credenciais localmente nas configurações de usuário de seu computador. O Construtor de Relatórios usa as credenciais salvas toda vez que uma conexão é feita com a fonte de dados externa correspondente.

Para obter mais informações, consulte Visualizar relatórios no Report Builder.

Fontes de dados remotas

Se o relatório recuperar dados de um servidor de banco de dados remoto, verifique:

  • Se as credenciais fornecidas ao servidor de banco de dados são válidas. Se você usar credenciais de usuário do Windows, tenha certeza de que o usuário tem permissão para o servidor e banco de dados.

  • Se as portas usadas pelo servidor de banco de dados estão abertas. Se você estiver acessando bancos de dados relacionais do SQL Server em computadores externos, deve abrir as portas 1433 e 1434 no computador externo. Além disso, é necessário abrir essas portas se o banco de dados do servidor de relatório estiver em uma instância do SQL Server externa. Certifique-se de reinicializar o servidor depois de abrir as portas. Para obter mais informações, confira Configurar um Firewall do Windows para acesso ao Mecanismo de Banco de Dados.

  • As conexões remotas devem ser habilitadas. Se você estiver acessando bancos de dados relacionais do SQL Server em computadores externos, poderá usar a ferramenta SQL Server Configuration Manager para verificar se as conexões remotas por protocolo TCP estão habilitadas.

Especifique credenciais para conexão com fontes de dados remotas

As fontes de dados que fornecem conteúdo para os relatórios são hospedadas em servidores remotos. Para recuperar dados de um relatório, o servidor de relatório deve efetuar conexão com o servidor ao usar um conjunto de credenciais fornecidas antecipadamente ou obtidas em tempo de execução. Ao configurar uma fonte de dados, você pode especificar credenciais das seguintes maneiras:

  • Solicitar credenciais ao usuário.
  • Armazenar credenciais.
  • Usar a segurança integrada do Windows.
  • Não use nenhuma credencial.

O ambiente de rede determina os tipos de conexões com suporte. Por exemplo, se o protocolo Kerberos versão 5 for habilitado, você poderá usar os recursos de delegação e representação disponíveis na Autenticação do Windows para oferecer suporte a conexões ao longo de vários servidores. Se sua rede não oferecer suporte a esses recursos de segurança, você precisará contornar as restrições de conexão. Se a delegação e a representação não estiverem habilitadas, as credenciais do Windows poderão ser passadas por uma conexão de computador antes que ela expire. Uma conexão de usuário de um computador cliente para um servidor de relatório conta como a primeira conexão. Se o usuário abrir um relatório que recupera dados de um servidor remoto, essa entrada contará como uma segunda conexão. A conexão apresentará falhas caso você tenha especificado o uso de segurança integrada com a delegação desabilitada.

Se forem necessárias várias conexões para concluir uma viagem de ida e volta do computador cliente para uma fonte de dados de relatório externa, escolha uma das seguintes estratégias para efetuar a conexão com sucesso.

  • Habilite os recursos de representação e delegação em seu domínio de modo que as credenciais possam ser delegadas a outros computadores sem limite.

  • Use credenciais armazenadas ou credenciais de prompt para consultar fontes de dados externas para dados do relatório. As credenciais podem ser uma conta de domínio do Windows ou um início de sessão de banco de dados.

Credenciais solicitadas

Ao configurar uma conexão de fonte de dados de relatório para usar credenciais de prompt, cada usuário que acessa o relatório deve digitar um nome de usuário e senha para recuperar os dados. Essa abordagem é recomendada para relatórios que contêm dados confidenciais. As credenciais de prompt só podem ser usadas em relatórios executados sob demanda. As credenciais de prompt podem ser uma conta do Windows ou início de sessão de banco de dados. Para usar a Autenticação do Windows, você deve selecionar Usar como credenciais do Windows. Caso contrário, o servidor de relatório passa credenciais ao servidor de banco de dados para autenticação do usuário. Se o servidor de banco de dados não puder autenticar as credenciais fornecidas, a conexão falhará.

Segurança integrada do Windows

Ao usar a opção Segurança Integrada do Windows , o servidor de relatório passa o token de segurança do usuário acessando o relatório ao servidor que hospeda a fonte de dados externa. Neste caso, o usuário não será solicitado a inserir um nome de usuário ou uma senha. Essa abordagem é recomendada se os recursos de representação e delegação estiverem habilitados. Se esses recursos não estiverem habilitados, você deve usar essa aproximação apenas se todos os servidores que você deseja acessar estiverem localizados no mesmo computador.

Credenciais armazenadas

Você pode armazenar as credenciais usadas para acessar uma fonte de dados externa. As credenciais são armazenadas em criptografia reversível no banco de dados do servidor de relatório. Você pode especificar um conjunto de credenciais armazenadas para cada fonte de dados usada em um relatório. As credenciais fornecidas recuperam os mesmos dados para todo usuário que executa o relatório.

As credenciais armazenadas são recomendadas como parte de uma estratégia para acessar servidores de banco de dados remotos. As credenciais armazenadas são necessárias se você quiser oferecer suporte a assinaturas ou programar a criação de histórico de relatórios ou atualizar instantâneos de relatório. Quando um relatório é executado como um processo em segundo plano, o servidor de relatório é o agente que executa o relatório. Na ausência de um contexto de usuário, o servidor de relatório deve obter as informações de credenciais do banco de dados do servidor de relatório para efetuar a conexão com uma fonte de dados.

O nome de usuário e senha que você especifica podem ser credenciais do Windows ou um início de sessão de banco de dados. Se você especificar as credenciais do Windows, o servidor de relatório passará as credenciais ao Windows para autenticação subsequente. Caso contrário, as credenciais são passadas ao servidor de banco de dados para autenticação.

Concessão de permissões “Permitir iniciar sessão localmente” para contas de usuário de domínio

Se você usar credenciais armazenadas para efetuar conexão com uma fonte de dados externa, a conta de usuário de domínio do Windows deve ter permissão para iniciar sessão localmente. Isso permite que o servidor de relatório represente o usuário no servidor de relatório e envie a solicitação à fonte de dados externa como o usuário representado.

Para realizar a concessão dessa permissão em seu servidor de relatório, acesse Ferramentas Administrativas e adicione a conta do Windows desejada para iniciar sessão de forma interativa em Política de Segurança Local>Configurações de Segurança>Políticas Locais>Atribuição de Direitos de Usuário. Certifique-se de que a conta selecionada não tenha permissões de negação configuradas.

Para obter mais informações, confira Configure security policy settings e Allow log on locally - security policy setting.

Uso de credenciais armazenadas para usurpação de identidade

Você também pode usar credenciais para representar a identidade de outro usuário. Para bancos de dados do SQL Server, as opções de usurpação de identidade definem a função SETUSER.

Importante

Não use a representação para relatórios com suporte a assinaturas ou que usam agendas para gerar o histórico de relatório ou atualizar um instantâneo de relatório.

Nenhuma credencial

Você pode configurar uma conexão de fonte de dados para não usar credenciais. É recomendável sempre usar credenciais para obter acesso a uma fonte de dados. Porém, você pode escolher executar um relatório sem credenciais nos seguintes casos:

  • A fonte de dados remota não requer credenciais.
  • As credenciais são passadas na cadeia de caracteres de conexão (recomendado somente para conexões seguras).
  • O relatório é um sub-relatório que usa as credenciais do relatório pai.

Sob essas condições, o servidor de relatório se conecta a uma fonte de dados remota usando a execução autônoma que você deve definir antecipadamente. Como o servidor de relatório não se conecta a um servidor remoto usando suas credenciais de serviço, você deve especificar uma conta que o servidor de relatório possa usar para fazer a conexão. Para obter mais informações sobre como criar essa conta, confira Configurar a conta de execução autônoma (Configuration Manager do Servidor de Relatório).

Iniciar sessão por nome de usuário e senha

Quando você seleciona Usar este nome de usuário e senha, um nome de usuário e senha devem ser fornecidos para acessar a fonte de dados. Para um banco de dados do SQL Server , as credenciais talvez sejam de um início de sessão de banco de dados. As credenciais são passadas para a fonte de dados para autenticação.

Configuração de fontes de dados e conexões de rede

A tabela a seguir mostra como são feitas conexões para combinações específicas de tipos de credencial e extensões de processamento de dados. Se você usar uma extensão de processamento de dados personalizada, confira Especificar conexões para extensões de processamento de dados personalizadas.

Tipo Contexto para conexão de rede Tipos de fonte de dados

(SQL Server, Oracle, ODBC, OLE DB, Analysis Services, XML, SAP NetWeaver BI, Hyperion Essbase)
Segurança integrada Representar o usuário atual. Para todos os tipos de fonte de dados, conecte-se usando a conta do usuário atual.
Credenciais do Windows Representar o usuário especificado. Para SQL Server, Oracle, Open Database Connectivity (ODBC) e Banco de Dados de Vinculação e Incorporação de Objeto (OLE DB, na sigla em inglês): efetue a conexão ao usar a conta de usuário representado.
Credenciais do banco de dados Representar a conta de execução autônoma ou conta de serviço

(o Reporting Services remove as permissões de administrador ao enviar a solicitação de conexão usando a identidade do serviço).
Para SQL Server, Oracle, ODBC e OLE DB:

Acrescente o nome de usuário e senha à cadeia de caracteres de conexão.

Para Serviços de análise:

A conexão será bem-sucedida se você estiver usando o protocolo TCP/IP, caso contrário ela falhará.

Para XML:

Falha na conexão com o servidor de relatório se forem usadas as credenciais do banco de dados.
Nenhum Representar a conta de execução autônoma. Para SQL Server, Oracle, ODBC e OLE DB:

Use as credenciais definidas na cadeia de caracteres de conexão. A conexão com o servidor de relatório falhará se a conta de execução autônoma estiver indefinida.

Para Serviços de análise:

A conexão sempre falhará se nenhuma credencial for especificada, mesmo se a conta de execução autônoma for definida.

Para XML:

Conecte-se como Usuário Anônimo se a conta de execução autônoma estiver definida; caso contrário, a conexão falhará.

Configuração de credenciais programaticamente

Você pode definir credenciais em seu código para controlar o acesso a relatórios e ao servidor de relatório. Para obter mais informações, consulte Fontes de dados e métodos de conexão.