今回も、ログインユーザーによって表示できる権限を変更する過程について述べる。
今回は、SQL Server Analysis Serverの権限設定変更と、キューブの権限設定変更について述べる。
前提条件
下記記事の、test_cubeユーザーの追加とリモートログイン許可設定が終わっていること。
やってみたこと
SQL Server Analysis Servicesの権限設定変更
既存のSQL Server Analysis Serverの権限設定は、BUILIN\Usersがサーバー管理者権限(すべての Analysis Services オブジェクトとデータに制限なくアクセスできる権限)として設定されているため、このままでは全ユーザーが全キューブにアクセスできてしまう。
今回は、test_cubeドメインユーザーには指定したキューブのみ参照権限を付与したいため、BUILIN\Users をサーバー管理者権限から削除し、test_sqlserverのみサーバー管理者権限を保有するよう、権限設定を変更する。その手順は以下の通り。
1) SQL Server Analysis Services(SSAS)プロジェクトを、SQL Server Analysis Serverにデプロイ済であるSQL Server搭載済仮想マシンに、test_sqlserverローカルユーザーでログイン
2) SQL Server Management Studio(SSMS)を利用してSQL Server Analysis Serverにログインし、下図のようにサーバー名を右クリックし、「プロパティ(Properties)」メニューを選択
3) Analysis Serverプロパティ画面が開くので、「セキュリティ(Security)」タブを選択し、「BUILIN\Users」を選択後「削除(Remove)」ボタンを押下
5) ドメイン名に「test-ad.co.jp」を選択し、test_sqlserverを指定後、「OK」を押下
6) 下図のように、test_sqlserverのドメインユーザーが表示されることを確認
7) 同様に、ローカルのtest_sqlserverユーザーも追加し、「OK」を押下し、画面を閉じる
キューブの権限設定変更
キューブに対する参照権限の設定を行う。その手順は以下の通り。
1) SQL Server Analysis ServerへのSQL Server Analysis Services(SSAS)プロジェクトのデプロイ済であるSQL Server搭載済仮想マシンに、test_sqlserverローカルユーザーでログインした状態で、下図のように、2つのキューブを持ったSSASプロジェクトを、SQL Server Analysis Serverにデプロイ
2) SQL Server Data Tools(SSDT)を開き、権限(Roles)から「新しいロール(New Role)」メニューを選択
3) 全般(General)タブは、「定義の読み取り(Read Definition)」のみ選択した状態とする
4) メンバーシップ(Membership)タブで、「追加(Add)」ボタンを押下
5) test-ad.co.jpドメインのtest_cubeユーザーを追加し、「OK」ボタンを押下
6) メンバーシップ(Membership)タブに、test-ad.co.jpドメインのtest_cubeユーザーが追加されていることを確認
7) データソース(Data Source)タブは、読み取り(Read)権限を付与
8) キューブ(Cubes)タブは、SSASCube1のみ、読み取り(Read)許可でドリルスルー権限(Drillthrough)(=キューブの集計値の元となった詳細データを表示する権限)を許可する権限を付与
9) セルデータ(Cell Data)タブは、読み取り権限を付与し、右上のMDXの編集(Edit MDX)ボタンを押下
10) メジャーである「Sales Amount」を合計する定義を追加し、「OK」ボタンを押下
上記のようにしておくと、読み取り権限のみのキューブについても、メジャーである「Sales Amount」の合計値が算出できる。
11) セルデータ(Cell Data)タブが再表示され、10)で設定した計算式が表示される
12) ディメンション(Dimensions)タブの各ディメンションは、読み取り(Read)権限を付与
13) ディメンションデータ(Dimension Data)タブはそのままの状態とする
14) マイニング構造(Mining Structures)タブもそのままの状態とし、保存ボタンを押下
16) デプロイ済のSQL Server Analysis Services(SSAS)プロジェクトを削除し、再度SQL Server Analysis Serverへデプロイする。デプロイ後の画面は下図の通り