• 締切済み

SQLServer(Analysis Service)のセキュリティについて

はじめまして。 SQL Server(Analysis Service)初心者ですが、よろしくお願いします。 現在、Analysis Service(SQL Serverのデータを使用)に接続し、データを表示するアプリケーションがあります。 今回、DBにログインするユーザーによって、表示データの制御が出来ないか考えています。 例えば、Analysis Service(キューブ)に都道府県毎のデータが登録されていた場合、東京のユーザーは東京のデータのみ。大阪のユーザーは大阪のデータのみ。 と言った感じで、SQLのWhere句の条件を各ユーザー毎に設定できれば と考えています。 ご存知の方、または答えらしき内容が出ているサイトを 知っている方がいましたら、教えていただけないでしょうか。 よろしくお願い致します。

みんなの回答

  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.2

特にキューブの再作成などの設定は必要ありません。 私がロールコントロールも込みでAnalysis Serviceを設定するようになったのは2005からなのですが、そもそもサーバ管理者に含まれている人は一切の制限設定がきかないです(データベースエンジンのsysadminロールと同じ)。 それくらいしか思い当たるフシはないのですが。。

cha6464
質問者

お礼

jamshid6さん、 無事データを表示することが出来ました。 色々と情報ありがとうございます。

  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.1

東京用・大阪用などのロールを作って、ディメンションデータのところでそれぞれ見せたいメンバー(都道府県)だけに絞り、それぞれのロールにユーザを割り当てればよいです。 それよりも柔軟にやる場合はMDXの知識が必要です。

cha6464
質問者

お礼

ありがとうございます。 キューブロールマネージャを利用し、ディメンジョンのルールを設定し 、キューブロールマネージャのロールテストでは設定した情報のみ表示されました。 (Analysys Service 2000を利用。) ロール内で設定するユーザーですが、Windowsのユーザーだと認識しています。 呼び出し元のアプリから、設定したユーザーでログインしデータを表示しましたが、制限がかからず全て表示されてしまいます。 キューブのロールを有効にするにあたり、何か設定などは必要なのでしょうか。 すみませんが、お気付きの点がございましたら、教えていただけないでしょうか。よろしくお願いします

関連するQ&A