2

SQL Server Reporting Services(SSRS)レポートをSQL Server 2008 R2で開発し、レポートマネージャを使用してレポートのデモンストレーションとテストを行います。私は、同じドメインのユーザーがレポートマネージャーに接続し、ユーザーがデータソースにアクセスすることを余儀なくされることなく、ブラウザー(SharePointではなく)を介してレポートを実行できるようにする方法を模索しています。私は現在、データセットとデータソースが関連付けられているデータベースのdb_ownerとしてリストされている各ユーザーを持っています。このアクセスを制限したいと思いますが、db_datareaderを試しましたが、このレベルではレポートを実行することができず、ユーザーにこのエラーが表示されます。「データソース 'DBname'への接続を作成できません。 (rsErrorOpeningConnection)」を参照してください。Report Managerデータソースのデータベースロールメンバシップの設定

Report Managerサイトにユーザーを追加する方法:「サイトの設定」の下の「セキュリティ」タブを選択し、「新しいロールの割り当て」を選択してユーザーを「システムユーザー」として追加します。ツールバーの[フォルダの設定]を選択し、再度[新しい役割の割り当て]を選択して、ユーザーを「ブラウザ」として追加します。私は 'Content Manager'としてユーザーを追加しようとしましたが、データソースに関しては同じエラーが表示されます。

データソースにユーザーを追加する方法:サーバーの[セキュリティ]タブで新しいログインを選択し、domain \ usernameを「ログイン名:」に追加し、Windows認証を使用して、デフォルトデータベースをマスターからデータベースに変更しますレポートデータソースです。次に、「ユーザーマッピング」を選択し、データソースであるデータベースの隣にチェックを入れます。 'データベースロールメンバーシップ:DBname'セクションで私はdb_ownerを選択し、publicはすでに選択されています。私は以下のスクリーンショットを含んでいます。 私の質問は、db_ownerと同じくらい広くなく、最高のセキュリティを持つSSRSとReport Managerに「データベースロールメンバーシップ」を使用することができますか? db_datareaderを試しましたが、レポートを実行するときにデータソースに接続できません。

私はこの質問を調査しましたが、私が説明したようにユーザーをdb_ownerとして追加することについての詳細は認められませんでした。 MSDNは、Report Managerの設定が、ユーザー/レポートがデータソースにアクセスできるように設定する必要があるすべての設定と同じように機能します。私は、両方の設定でレポートマネージャーの設定を使用してみましたが、データソースは共有され、運がない状態で埋め込まれています。

は通常、事前

答えて

2

にありがとう、SSRSのデータソースは、WindowsアカウントまたはSQL認証のいずれか、固定されたアカウントを使用するように設定されます。このアカウントには、データベースに最小の特権を与える必要があります。db_datareaderは一般的です。

レポートのセキュリティは、前述のようにReport Managerによって制御されます。これにより、ユーザー権限の変更によってデータベース自体のセキュリティを変更する必要がなくなります。

しかし、上記で説明したアプローチも同様に機能するはずです。ユーザーがdb_datareaderアクセス​​権を持っているときに表示されるエラーは、クエリがテーブルから選択した標準SQLクエリである場合には驚くべきことです。ストアドプロシージャを使用している場合は、それらのアクセスも許可する必要があります。 db_datareaderに設定されているテストユーザーアカウントを使用します。 SQL Server Management Studioを使用してクエリを接続して実行できるかどうかを確認してください。

セキュリティ要件に応じて、レポートからのデータベースアクセスの専用アカウント、たとえば「ReportReader」を使用します。このユーザーとしてデータベースにアクセスするレポートを開発してテストし、ユーザーが最小限のアクセス権、読み取り専用、および/または実行する必要がある表またはプロシージャのみに限定されていることを確認します。

データベースへのアクセスに使用される資格情報は、データソースのプロパティで設定されます。これは、共有データソースがよく使用され、レポートが共有データソースにリンクされている理由の1つです。 Data source properties

このスクリーンショットは、使用中のSQLサーバー認証アカウントを示しています。これは固定Active Directoryアカウントと同じように簡単です。その場合は「Windows資格情報として使用する」をチェックしてください。

+0

専用アカウントをSQL ServerデータベースのReport Managerで使用するにはどうすればよいですか。私は各レポートのためのプロシージャを保存していますが、ここで私はあなたの情報に基づいてデータソースのdb_ownerからdb_executorへのユーザアクセスレベルを変更しましたが、これはユーザにあまりにも多くのアクセスを与え、 。 – PerPlexSystem

+0

データソースの詳細で編集されます。 –

+0

あなたの情報は素晴らしいですが、私はまだ困難を抱えています。 ReportReaderユーザーがテスト接続に合格することが最も顕著です。 SQL Server Management Studioでユーザーを追加する手順:セキュリティで新しいログインを作成し、名前を入力してSQL Server認証を選択し、Report Managerと一致する単純なパスワードを入力し、DefaultデータベースをmasterまたはdatasourceDBに設定します(試行どちらも)。ユーザーマッピング:私は、ユーザーをdatasourceDB、ReportDBとReportDBTempにマップしました。db_datareader、db_owner、およびdb_executorのさまざまな組み合わせを試しました。私は何が間違っているのか分かりません。 – PerPlexSystem

関連する問題