AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / Perguntas / 54145
Accepted
M.Ali
M.Ali
Asked: 2013-11-29 12:50:45 +0800 CST2013-11-29 12:50:45 +0800 CST 2013-11-29 12:50:45 +0800 CST

Configuração de segurança do SSRS Reports Manager

  • 772

Acontece que estou configurando um servidor de relatórios no trabalho desde o início. Tendo muito pouca experiência em administração de servidor SQL, estou achando muito difícil definir as configurações de segurança para o Gerenciador de Relatórios.

Entendo que todos os usuários que acessarão o Gerenciador de Relatórios precisarão de permissões em Dois Níveis

1 – Permissão para acessar dados do sql server. (para o qual, após algumas pesquisas, decidi usar a função datareader.

2- Permissão para acessar o gerenciador de relatórios para o qual tenho a opção de escolher entre as funções do gerenciador de relatórios, como (navegador, gerenciador de conteúdo etc etc.)

Para o gerenciador de relatórios, criei uma nova função apenas com permissões para visualizar relatórios.

Problema

Com todos esses filtros de segurança em vigor, quando adicionei uma conta de usuário de domínio ao Gerenciador de relatórios, o usuário pode navegar em qualquer lugar no Gerenciador de relatórios (pode acessar pastas, DataSources e relatórios para os quais não tem permissão).

Não desejo que os usuários exibam fontes de dados ou quaisquer outras pastas ou relatórios para os quais não tenham permissão.

O que eu tentei até agora

1- Adicionado um usuário a uma pasta no gerenciador de relatórios, mas eles podem navegar para qualquer outra pasta no gerenciador de relatórios.

2- Adicionado um usuário a apenas um relatório, novamente eles podem navegar para qualquer outra pasta no Gerenciador de relatórios.

3- Eu estava usando uma conta virtual para SSRS Service Account, removi isso e tentei em todas as outras 3 contas integradas para conta de serviço, LocalService, LocalNetwork e LocalSystem. (Não tenho certeza se isso teria feito diferença).

Todos esses esforços em vão, pois, sempre que um usuário é adicionado a qualquer relatório ou pasta, ele pode navegar para todas as outras pastas e relatórios e pode realmente executar relatórios.

Os usuários tinham a função de leitor de dados atribuída no Sql Server e uma função personalizada no Gerenciador de relatórios, que tinha permissões apenas para exibir relatórios.

Configurei os serviços de relatórios para usar a autenticação padrão do Windows. é Sql

Serviços de relatórios do Server 2008 R2. Data Center Edição.
Por favor, qualquer conselho ou qualquer direção seria uma grande ajuda. Eu tenho lido o BOL, mas nada ajudou ainda.

sql-server sql-server-2008-r2
  • 3 3 respostas
  • 12828 Views

3 respostas

  • Voted
  1. Best Answer
    Ram
    2013-12-10T16:40:27+08:002013-12-10T16:40:27+08:00

    Normalmente, no SSRS, você usaria a interface de gerenciamento do SSRS (/ReportsManager IIRC) para definir as funções/permissões do usuário por pasta. Eles são normalmente herdados por subpastas, embora você possa substituir isso. A função 'browser' é mais apropriada para usuários finais, pois permite executar/visualizar relatórios, mas não muito mais. Se você conceder a um usuário acesso de 'navegador' para a pasta, mas não para B, ele não poderá acessar a pasta B, a menos que seja uma subpasta de A (por padrão, concedida as mesmas permissões de A) ou a menos que B seja uma subpasta -folder de outra pasta à qual o usuário tem acesso de 'Navegador'.

    Você provavelmente não deveria conceder direitos aos usuários do domínio diretamente no SQL Server. As várias contas que o próprio SQL Server usa, bem como as contas administrativas, devem ser configuradas no SQL Server. O acesso do usuário final ao SSRS é controlado pelo SSRS com base nas regras inseridas no SSRS.

    • 2
  2. Delitisco
    2013-12-11T13:20:20+08:002013-12-11T13:20:20+08:00

    1 – Permissão para acessar dados do sql server. (para o qual, após algumas pesquisas, decidi usar a função datareader.

    Ao criar seu relatório no SSRS, você deseja configurar a fonte de dados com uma conta com privilégios adequados no banco de dados para executar o relatório (em sua fonte de dados em credenciais). Normalmente, usamos uma conta de serviço para isso, a menos que seja necessária uma segurança mais alta. Eu vi onde isso cai depois de implantar um relatório no servidor de relatório, então é sempre bom verificar a fonte de dados no servidor de relatório e certificar-se de que a conta ainda está lá.

    2- Permissão para acessar o gerenciador de relatórios para o qual tenho a opção de escolher entre as funções do gerenciador de relatórios, como (navegador, gerenciador de conteúdo etc etc.)

    Então, você está adicionando o acesso do navegador à própria pasta raiz? Nesse caso, é por isso que essa conta pode exibir todas as pastas no servidor de relatórios, se cada pasta no gerenciador de relatórios está herdando permissões, é por isso que elas podem acessar mais. Eu removeria esse usuário da pasta raiz e tentaria adicionar esse usuário com permissões de navegador à pasta que você deseja que ele visualize.

    Algumas vezes, ao alterar as permissões dos usuários, as novas configurações não serão aplicadas a uma conta, a menos que eu a remova completamente e, em seguida, configure-a novamente apenas com acesso ao navegador.

    • 1
  3. db2
    2013-12-11T13:37:22+08:002013-12-11T13:37:22+08:00

    Esta não é uma resposta completa, mas não recomendo ter relatórios ativos passando as credenciais do usuário para o SQL Server.

    Suponha que um desenvolvedor de relatórios mal-intencionados crie algum tipo de relatório que faça coisas desagradáveis ​​que exigiriam privilégios de administrador do sistema (vandalismo, concessão de privilégios, qualquer coisa). Basta implantar o relatório e enganar alguém com sysadmin para executá-lo (CSRF pode ser suficiente para executar o "relatório", embora eu nunca tenha tentado), e pronto, seu código está sendo executado com direitos de sysadmin.

    A abordagem que usamos é selecionar a autenticação do Windows nas fontes de dados no Visual Studio. Os desenvolvedores podem, assim, criar relatórios com base em qualquer coisa a que tenham acesso. Todas as fontes de dados são implantadas em um único local ("/Data Sources", naturalmente) e essas cópias das fontes de dados são configuradas com credenciais estáticas. Como o Visual Studio não substitui as fontes de dados por padrão ao implantar projetos de relatório, tudo funciona bem, desde que não esqueçamos de conceder permissões à conta que acessa os dados, como sempre faço.

    Agora, de volta ao problema de permissões excessivas. Por padrão, qualquer objeto (pasta, relatório etc.) criado no Reporting Services será definido para herdar permissões de seu pai. É semelhante às permissões de arquivo do Windows, embora um pouco mais simples no geral - as permissões de um objeto devem ser todas herdadas ou definidas explicitamente. Pronto para uso, o Reporting Services tem algumas funções padrão que você pode conceder aos objetos. Se você quiser obter mais detalhes e personalizar as funções, use o Management Studio: no Pesquisador de Objetos, conecte-se ao Reporting Services e especifique a URL do serviço Web do servidor de relatório como o nome do servidor. Faça uma busca detalhada em Segurança, Funções e você poderá personalizar ou adicionar funções conforme necessário.

    • 1

relate perguntas

  • SQL Server - Como as páginas de dados são armazenadas ao usar um índice clusterizado

  • Preciso de índices separados para cada tipo de consulta ou um índice de várias colunas funcionará?

  • Quando devo usar uma restrição exclusiva em vez de um índice exclusivo?

  • Quais são as principais causas de deadlocks e podem ser evitadas?

  • Como determinar se um Índice é necessário ou necessário

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Conceder acesso a todas as tabelas para um usuário

    • 5 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    pedrosanta Listar os privilégios do banco de dados usando o psql 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve