none
Acesso a relatorio por usuário de banco de dados RRS feed

  • Pergunta

  • Bom dia

    Tenho um servidor em um data center que contem o meu BI do SQL Server instalado, (Integration/Report/Analysis), fiz um projeto no meu Report onde criei um relatorio teste, até ai tudo certo, consigo no meu servidor acessar esse relatorio, porém tenho duas duvidas/problemas:

    1 - Como faço para que eu consiga liberar X,Y e Z de relatorios feitos para um usuário de banco de dados, ou seja, crio os meus usuários e digo que eles vao ter acesso somente a tais relatorios, assim a hora que a pessoa acessar o link, vai pedir login e senha, que será de um usuário de banco de dados??

    2 - Como que faço para que esse link disponibilizado consiga ser visualizado por fora, tenho um redirecionamento no meu servidor que gera um chamado para internet, usando o IIS, porém o report nao gera nenhuma pasta nem nada, ou seja, nao tenho como acessar de fora, existe alguma maneira de fazer com o que o IIS receba esses arquivos para poder serem acessados de fora, obedecendo a primeira pergunta :D ?

    Obs: Windows Server 2008 e SQL Server 2008 R2

    Obrigado!


    quinta-feira, 1 de novembro de 2012 11:09

Todas as Respostas

  • Quanto ao acesso controlado aos relatórios ao invés de utilizar o usuário do banco para controlar, seria melhor você utilizar os usuários do Active Directory, e nas configurações de cada Pasta/Relatório incluir nas configurações de Segurança os usuários ou grupos permitidos.

    Já em relação ao acesso ao servidor de relatórios de fora da rede local eu estou tentando liberar também, se alguém souber como eu agradeço.

    quinta-feira, 1 de novembro de 2012 16:57
  • Se voce precisa fazer uma autenticacao customizada, voce deve configurar o reporting services para "Forms Authentication", onde voce precisa desenvolver o componente que faz a autorizacao. Da uma olhada nessa pagina:

    http://msdn.microsoft.com/en-us/library/cc281383.aspx


    Boreki[MSFT] - SQL Server Reporting Services

    quinta-feira, 1 de novembro de 2012 18:03
  • Boreki,

    Eu particularmente vejo este tipo de autenticação como uma dor de cabeça muito grande, pois todo o controle de segurança e permissões se torna totalmente independente do Reporting Services, o que poderá representar uma grande possibilidade de falhas de segurança.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    quinta-feira, 1 de novembro de 2012 23:11
  • Bom dia pessoal,

    Então, depois de muitos testes e formas de acesso a minha única solução que achei ate segura por sinal foi fazer a autenticação duas vezes, uma na entrada no acesso dos relatórios em geral e outra em cada relatório, se torna um pouco massante para quem vai acessar vários relatórios ter que autenticar todas as vezes.

    A primeira autenticação é feito por usuário de Sistema, ou seja, crio um usuário no meu servidor, e no meu Report Manager eu configuro DOMINIO\usuário para cada pasta, ou seja, cada usuário ao acessar vai ter somente aquelas pastas e configuradas no meu Report Manager.

    A segunda senha é a senha de usuário de banco, que vai pedir cada vez que eu acessar o meu relatório principal, os relatórios que são chamados dentro de outros relatórios que usam passagem de parametros internamente eu retiro a senha, uso isso nas configuraçoes do meu DataSet, nas credenciais, usando login e senha padrão que eu mesmo informo, ou seja, vai usar aquela autenticação automatica toda vez, sem que o usuário faça isso.

    O que eu gostaria de saber é se existe alguma forma de fazer uma pagina inicial para os relatórios finais do usuário, pq hoje aparece como se fosse um FTP, a pata, é clicada, mostra os relatorios, e clica no relatorio e executa, o que eu gostaria de saber se é possível fazer uma interface para que nao seja tao "Crua" a maneira de apresentar esses relatorios

    Alguem sabe como?

    Espero ter ajudado com o que consegui para os meus acessos.

    terça-feira, 6 de novembro de 2012 11:29
  • Uma boa alternativa é você realizar a integração com o Sharepoint.
    terça-feira, 6 de novembro de 2012 11:34
  • Essa integração que você fala do Sharepoint seria para dar uma nova cara a tela principal das pastas e relatorios do usuário?
    terça-feira, 6 de novembro de 2012 11:39
  • Integrando com o Sharepoint você pode criar listas de relatórios específicas para os sites de cada setor e até utilizar eles como webparts para exibição em forma de dashboards.

    Segue alguns exemplos:

    Você pode encontrar mais detalhes sobre a integração dessas duas ferramentas em:

    http://technet.microsoft.com/en-us/magazine/ff686706.aspx

    quinta-feira, 8 de novembro de 2012 10:30
  • Legal Marcos, obrigado pela ajuda, vou olhar e ver se consigo adaptar a minha realidade isso.

    O que gostaria de saber se é possível colocar o "botao" voltar que existe no modo de desenvolvimento entre chamadas de relatorios, por exemplo, no meu relatorio pai eu adiciono o pedido de credencial  e no meu relatorio filho eu nao peço, quando volto pelo "Voltar" do browser se for IE funciona perfeitamente, volta sem pedir credencial novamente, se usar o Chrome, ele volta e pede as credencias, ou seja, se cada item do meu relatorio pai que eu for detalhar, na hora de voltar tiver que colocar senha fica totalmente inviavel para trabalhar, e sem senha no relatorio pai nao tenho como deixar, por motivos de segurança, vou estar apresentando valores e informaçoes de clientes que também sao concorrentes.

    É possível fazer com o que o report tenha aquele botao de voltar, ou que faça um caminho entre os passos feitos, como no Report Manager, que mantem no topo da tela os passos pra voce voltar:

    Home > Pasta X > Rel1

    Obrigado!

    sexta-feira, 9 de novembro de 2012 10:59
  • Josivan,

    Uma estratégia que eu uso é colocar na parte de cima do relatório uma caixa de texto com preenchimento de imagem no fundo e adiciono ação a essa caixa de texto, dessa forma eu simulo um botão, na ação eu coloco para a caixa de texto levar a outro relatório, nesse caso o pai.

    Segue um exemplo abaixo:

    sexta-feira, 9 de novembro de 2012 11:48
  • Essa caixa de texto que voce coloca, voce consegue colocar uma ação de retorno ou voce invoca o relatorio anterio, por exemplo, Rel1 Chama Rel 2, no Rel 2 tenho a minha imagem para voltar, nessa imagem voce coloca ação para chamar invocar o Rel 1? Ou tem alguma forma de retorno, ou uma expressao, ou algo como em desenvolvimento web "history.back(1)"?

    Testei fazendo a chamada do relatorio filho para o relatorio pai, ai ele pede login e senha novamente :S

    Obrigado até então Marcos


    sexta-feira, 9 de novembro de 2012 13:11
  • Infelizmente eu desconheço se tem  essa função de voltar para o ultimo, portanto utilizo a chamada direta para o relatório pai.

    Quanto a autenticação acredito que você possa marcar a caixa de seleção para "Lembrar minha senha" e uma vez feita a autenticação para acessar o servidor de relatórios o usuário fique com seu perfil armazenado e definido qual o nível de permissão que ele tenha (Ex. "Navegador", "Gerenciador de Conteúdo") e não seja necessário ficar autenticando toda vez.

    Obs.: Relatórios secundários que você só queira exibir através de outros relatórios, você pode clicar em gerenciar e marcar a caixa de seleção "Ocultar na exibição lado a lado" dessa forma você centraliza o acesso aos relatórios secundários em um principal.

    sexta-feira, 9 de novembro de 2012 13:25
  • Pois é, até tentei ir no Google Chrome nas opçoes de Gerenciador de Conteúdo, mas nao tem nada referente a permissão pra armazenamento de credenciais.

    Achei algo parecido com o que tinha citado acima, sobre algo em javascript/desenvolvimento web: desenvolvimento

    Funciona legal no IE mas no Google Chrome volta a pedir credenciais para logar novamente. O problema que essa tala de credencial que o relatorio pede, nao fornece a opção de "Salvar Senha", ou pelo menos nao sei como forçar isso:

    Obrigado!

    sexta-feira, 9 de novembro de 2012 16:24
  • Não sei como você está fazendo o acesso aos relatórios, mas eu faço essa autenticação através do Active Directory, e nas configurações de segurança dos relatórios/pastas defino que usuários ou grupos do AD podem ter acesso e o nível do acesso.
    sexta-feira, 9 de novembro de 2012 17:45
  • Eu deixo o usuário de AD e o usuário de banco de dados pra logar no relatorio.

    Como que voce faz essa configuração por  Active Directory? Pelo Report Manager?

    Obrigado!

    sexta-feira, 9 de novembro de 2012 17:56
  • No "Gerenciador de Configuração do Reporting Services" eu coloco a "Conta de Serviço" como  "Usar conta incorporada" com a propriedade "Serviço de rede" assim as propriedades definidas ficam utilizando os usuários e grupos do AD.

    sexta-feira, 9 de novembro de 2012 18:10
  • Ahh tá legal, já achei aqui, legal isso!

    Marcos,  fazendo isso, encontrei um outro problema, eu uso pra montar o relatorio o login e senha que passei a imagem acima, pra que quando for logado com usuário X traga as informaçoes daquele usuário, pra poder fazer um relatorio somente que se adapte conforme a realidade de cada usuário. Existe alguma maneira de fazer com que pelo usuário AD (ja que crio com as mesmas configuraçoes de usuário de banco de dado) informado eu consiga alimentar algum parametro do relatorio ou algo do tipo?

    Obrigado!

    sexta-feira, 9 de novembro de 2012 19:03
  • Se é possível carregar informações do AD eu creio que não, apenas as credenciais.
    sexta-feira, 9 de novembro de 2012 19:09
  • Bom dia

    Tenho um servidor em um data center que contem o meu BI do SQL Server instalado, (Integration/Report/Analysis), fiz um projeto no meu Report onde criei um relatorio teste, até ai tudo certo, consigo no meu servidor acessar esse relatorio, porém tenho duas duvidas/problemas:

    1 - Como faço para que eu consiga liberar X,Y e Z de relatorios feitos para um usuário de banco de dados, ou seja, crio os meus usuários e digo que eles vao ter acesso somente a tais relatorios, assim a hora que a pessoa acessar o link, vai pedir login e senha, que será de um usuário de banco de dados??

    2 - Como que faço para que esse link disponibilizado consiga ser visualizado por fora, tenho um redirecionamento no meu servidor que gera um chamado para internet, usando o IIS, porém o report nao gera nenhuma pasta nem nada, ou seja, nao tenho como acessar de fora, existe alguma maneira de fazer com o que o IIS receba esses arquivos para poder serem acessados de fora, obedecendo a primeira pergunta :D ?

    Obs: Windows Server 2008 e SQL Server 2008 R2

    Obrigado!


    vc pode configurar o AD para controloar os acessos. Eu integrei no Windows 7 o AD e ai criei varios utilizadores no server. Apos isso eu configuro no SQL Server RS as roles de acesso ao RS. Posteriormente no reportingmanager configurei as pastas e dei acesso aos utilizadores que criei no AD. 
    quinta-feira, 22 de novembro de 2012 18:23
  • Josivan,

    Uma estratégia que eu uso é colocar na parte de cima do relatório uma caixa de texto com preenchimento de imagem no fundo e adiciono ação a essa caixa de texto, dessa forma eu simulo um botão, na ação eu coloco para a caixa de texto levar a outro relatório, nesse caso o pai.

    Segue um exemplo abaixo:

    OI, como é possível construir dashbords no SSRS?
    quinta-feira, 22 de novembro de 2012 18:29