Especificar informações de credenciais e de conexão para fontes de dados de relatório

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

Um servidor de relatórios também usa credenciais para autenticar os usuários que os acessam. As informações sobre como autenticar os usuários para um servidor de relatório são fornecidas em outro tópico.

A conexão com uma fonte de dados externa é definida quando você cria o relatório. Ela pode ser gerenciada separadamente depois que o relatório for publicado. 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, confira Criar cadeias de conexão de dados – Construtor de Relatórios e SSRS.

Como o Construtor de Relatórios usa credenciais

No Report Builder, o servidor de relatórios geralmente usa credenciais quando você se conecta. O servidor de relatórios também usa credenciais para tarefas relacionadas a dados, como a criação de uma fonte de dados incorporada, a execução de uma consulta de conjunto de dados ou a visualização de um relatório. As credenciais não são armazenadas no relatório. O servidor de relatórios e o cliente local gerenciam as credenciais separadamente. A lista a seguir descreve os tipos de credenciais que você pode precisar fornecer, onde o servidor de relatórios as armazena e como o servidor de relatórios as utiliza:

  • 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 navegar em um servidor de relatório ou site do SharePoint pela primeira vez, talvez seja necessário inserir suas credenciais. As credenciais inseridas são usadas até a sessão do Construtor de Relatórios terminar. Se você optar por salvar as credenciais, o servidor de relatórios ou o site do SharePoint as armazenará de forma segura com as 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.

    O servidor de relatórios usa essas credenciais para fazer uma conexão de dados com a fonte de dados externa. Para alguns tipos de fontes de dados, o servidor de relatórios pode armazenar essas credenciais de forma segura. 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.

    O servidor de relatórios usa essas credenciais para fazer uma conexão de dados do Report Builder com a fonte de dados externa ou para visualizar um relatório configurado para 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.

Usar 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. Você deverá abrir as portas 1433 e 1434 no computador externo se:

    • Você está acessando bancos de dados relacionais do SQL Server em computadores externos.
    • O banco de dados do servidor de relatório está em uma instância externa do SQL Server

Observação

Certifique-se de reinicializar o servidor depois de abrir as portas. Para obter mais informações, veja Configurar um Firewall do Windows para acesso ao Mecanismo de Banco de Dados.

  • Conexões remotas estiverem 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 relatórios estão muitas vezes hospedadas em servidores remotos. Para recuperar dados de um relatório, um servidor de relatório deve se conectar ao servidor usando um conjunto de credenciais fornecido antecipadamente ou obtido no momento da 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. Essa conexão falhará se você tiver especificado a conexão para usar a segurança integrada quando a delegação não estiver habilitada.

Várias conexões

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.

  • Ative os recursos de personificação e delegação em seu domínio para que o servidor de relatórios possa delegar credenciais a outros computadores sem limites.
  • 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 as credenciais do Windows ao conectar-se à fonte de dados. 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. Nesse caso, não é solicitado que o usuário digite um nome de usuário ou 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. Como não há contexto de usuário, o servidor de relatório deve obter informações de credencial do banco de dados do servidor de relatório para conectar-se à 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.

Conceder permissões "Permitir logon localmente" a contas de usuário de domínio

Se você usar credenciais armazenadas para conectar-se a 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 conceder esta permissão:

  1. No computador do servidor de relatório, em Ferramentas Administrativas, abra Política de Segurança Local.

  2. Em Configurações de Segurança, expanda Políticas Locais e selecione Atribuição de Direitos de Usuário.

  3. No painel de detalhes, clique com o botão direito do mouse em Permitir logon localmente e clique com o botão direito do mouse em Propriedades.

  4. Selecione Adicionar Usuário ou Grupo.

  5. Selecione Locais, especifique um domínio ou outro local que você deseja pesquisar e selecione OK.

  6. Digite a conta do Windows para a qual você quer permitir o início de sessão interativo e, então, selecione OK.

  7. Na caixa de diálogo Propriedades de permitir logon localmente, selecione OK.

  8. Verifique se a conta que você selecionou não tem também permissões negadas:

    1. Clique com o botão direito em Negar logon localmente e clique com o botão direito do mouse em Propriedades.

    2. Se a conta estiver listada, selecione-a e clique em Remover.

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 personificação usam 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. A Microsoft recomenda que você sempre use credenciais para acessar fontes de dados; evite o uso de nenhuma credencial. 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, o que é 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).

Outros métodos

  • Login com 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.
  • Definição de credenciais de forma programática: Você pode definir credenciais em seu código para controlar o acesso aos relatórios e ao servidor de relatórios. Para obter mais informações, consulte Fontes de dados e métodos de conexã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, consulte Especificar conexões para extensões de processamento de dados personalizados.

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, ODBC e OLE DB: conecte usando a conta do 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á.