これは、そのスレッドに長い投稿を送信できないため、 Reporting Services 認証のアドバイスを求めた投稿の延長です(管理者に申し訳ありません)。
基本的に、Windows 認証を使用するようにレポート サービスのローカル インストールを構成しています (ネットワーク上でこの認証を実装することを最終的な目的としています)。
私の現在の設定:
IIS (5.1): ASP.NET v2.0.50727 を使用する「ReportServer」という名前のアプリケーションを作成しました。このアプリケーションのセキュリティは「統合 Windows 認証」に設定されています。「匿名アクセス」チェックボックスをオフにしました。これにより、IIS への匿名アクセス (つまり、IIS の ReportServer アプリケーションへのアクセス) のみが防止されると考えてよろしいですか? したがって、ユーザーはログインの詳細を求められ、Windows/AD に対して検証されますか?
レポート: データベースが別のサーバーに存在する共有データ ソースを作成し、データ ソースが "Windows 認証" (SQL Server 認証ではない) を使用するように構成したところ、接続を正常にテストできました。BIDS でレポートを実行することにより、簡単なレポートを作成してテストすることもできます。
レポートを展開すると、ログインを求めるプロンプトが表示されません (問題ありません)。これは、IIS のアプリケーション ディレクトリが、ログインした PC ユーザー アカウントを使用する「統合 Windows 認証」を使用するように構成されているためだと思います (正しいですか?)。
ブラウザからレポート サービスをロードすると、Windows ドメインのユーザー名とパスワードの入力を求めるプロンプトが正しく表示されますが、それはローカル PC からレポートを実行した場合のみです。認証されると、自分に該当するすべてのレポートを表示できます。同僚が私の PC のレポート インスタンスに接続しようとすると、ログインしなくても許可されます。どうしてこれなの?!
しかし、デプロイされたレポートをブラウザーで実行すると、「レポートの処理中にエラーが発生しました。データ ソースへの接続を作成できません。ユーザー '(null)' のログインに失敗しました。理由: 信頼済みに関連付けられていません」というエラーが表示されます。 SQL サーバー接続。」SQL Server 認証を使用するようにデータ ソースを変更し、SQL Server に存在するログインを指定すると、ブラウザーでレポートを正常に実行できます。
私が実装したい理想的なソリューションは次のとおりです。
- ユーザーは、レポート サーバーの URL をブラウザーに読み込みます。
- ユーザーは、Windows/AD 資格情報 (ドメイン プレフィックスを含む) の入力を求められます。
- バックグラウンドで、ユーザーはレポート サーバーにアクセスできます。
- ユーザーは、閲覧が許可されているレポート フォルダとレポートのみを閲覧できます。これは、許可された AD グループ/ユーザーをレポート フォルダーとレポートに追加することによって制御されます (私はこの方法を少し知っています)。別の SQL Server ユーザー アカウントを維持する必要はありません。
つまり、レポート サーバーに接続すると、レポート サーバーへのアクセスを許可する前に、ユーザーに Windows 資格情報の入力を求めるプロンプトが表示されます。
誰か教えてください:
a) ブラウザーを介してローカルでレポートにアクセスすると Windows ログインを求められるのに、別の Windows ユーザーがブラウザー ウィンドウを介してレポート サーバーにリモート アクセスする場合、ログインを求められないのはなぜですか?
b) より良い全体的な解決策を実装する必要がある場合は、アドバイスまたは関連するリソースを教えてください。
c) 将来的に問題を引き起こす可能性がある現在のセットアップで注意すべきことはありますか?
よろしくお願いします。
JFB