私はSSASを初めて使用するので、私の質問に対する明らかな答えがある場合はご容赦ください。今日、多くの調査を行ったが、自分で答えを見つけることができません.
SSAS 2012 キューブに (作成した SSAS DB ロールで) ディメンション データ セキュリティを適用しようとしています。基本的に、私がしようとしているのは、私が作成したロールに割り当てられたユーザーが、特定のディメンション メンバーのデータを表示できないようにすることです。
そのため、SSDT (SQL Server Data Tools または BI アドオンを使用した Visual Studio) でキューブを編集するときは、[ロール] に移動します --> ロールを開きます --> [ディメンション データ] タブに移動します --> ディメンションを選択しますドロップダウン --> ロール内のユーザーに表示を許可しないディメンション メンバーのチェックを外します)。
これを設定したら、キューブを展開して役割をテストし、SSDT でキューブを開きます --> [ブラウザー] タブに移動します --> [ユーザーの変更] をクリックします --> 所有している役割を選択します作成した。
私のテストの結果は次のとおりです。
制限したディメンションといずれかのメジャーを選択すると、データが正しく表示されます。つまり、許可したディメンション メンバーのみが表示され、各ディメンション メンバーのメジャーの値が正しく表示されます。ただし、制限されたディメンションを選択しない場合 (たとえば、メジャーを 1 つだけ選択するなど)、メジャーの合計は正しくありません。つまり、ロールに対して非表示になっているディメンション メンバーが除外されているようには見えません。
ここで何が欠けていますか?
「動的SSASセキュリティ」について話しているオンラインの投稿/ブログを見たことがありますが、これには、個々のWindowsログオンを、表示が許可されている事実の行にマッピングすることが含まれているようです(これには、データソースに追加の非表示のテーブルを作成することが含まれます)が、できますSSASの役割もそれを行う必要がある場合、なぜ私がそれを行う必要があるのか わかりませんか?ユーザー レベルでセキュリティを定義する必要はありません。ユーザーは Active Directory グループにグループ化されているため、ロールを関連する AD グループにマップしたいのですが、それも機能するはずです。