本ブログでは、SAP Datasphere( 以下、「Datasphere」) のデータアクセス制御について解説します。
Datasphere のデータ(テーブルやビューなど)へのアクセス制御は、基本的にスペース単位でオブジェクトを管理して、そのスペースにユーザを追加 (厳密にはロールを付与)します。
ただし、スペース単位ではなく、データの内容によってアクセス制御を行いたいケースがあります。いわゆる「行(レコード)レベルのアクセス制御」です。
例えば、図のようにKABATA さんには、全地域の売上ではなく、アジア地域の売上データのみアクセスさせたいケースなどです。
このようなアクセス制御を実装するために、「権限テーブル」を利用することによって、ユーザー毎に参照できるデータ定義し、きめ細やかなアクセス制御を行うことが可能です。
この「権限テーブル」のデータをメンテナンスすることにより、スキーマ構造やレポート、アプリケーションを変更する必要がないので、運用上もメンテナンス作業負荷が軽減する可能性があります。
アクセス制御を実装する際には、その設定はトランザクションデータに対してではなく、マスターデータに対して実装した方が効率的で、アクセス管理も容易になります。
今回の例では「顧客マスターディメンションビュー」に対して「地域アクセス権限テーブル」を関連付ける方法を例にその設定方法について解説します。
データアクセス制御の設定の流れは下記の通りです。
今回は下記のブログで作成したディメンションビューを利用して、KABATAさんが「アジア地域」のみアクセス可能なデータアクセス制御を実装します。
また、設定にあたっては下記のマニュアルも参考にしてください。
まず、権限テーブルを作成します。
こちらのサイトからCSVファイルをダウンロードしてください。
P_REGIONO.csv : 地域アクセス権限テーブル用のデータ
ダウンロードしたCSVファイルを利用してデータを修正します。特定の列の値に対して、ご自身のメールアドレス(Datasphere のログインID)に修正してください。
例では、「xxxxxxxxkabata@sap.com」ユーザが「地域 ID: 5 (Asia PAC)」のみアクセス可能な権限データに修正しています。
※ 地域IDの意味が分かり易いように、地域名もテーブルに含めています。
それでは、CSVデータを元にデータをアップロードして権限テーブルを作成します。
データビルダでCSVファイルをインポートします。
先程ダウンロードしたCSVファイルを選択し、デプロイします。
テーブル名には任意のビジネス名と技術名を付けます。
作成した「権限テーブル」に対して、「アクセス制御の定義情報」を追加します。
左メニューの「データアクセス制御」を選択し、「新規データアクセス制御」をクリックします。
※ 2024/5/22から「データアクセス制御」のメニューは「データビルダ」に統合されました。
データアクセス定義情報に任意のビジネス名、技術名を付けて、「構造」には「単一値」を指定します。
続いて「権限エンティティ」フィールドをクリックして、先ほど作成した権限テーブル「地域 (権限テーブル) 」を選択します。
続いて「ID列」には「ログインユーザー名」が格納されている列を選択します。
続いて、「顧客マスターディメンションビュー」と関連付ける列、今回は「REGIONID(地域ID)列」の指定を行います。
※ 図は簡略化しています
設定が終わったら、「保存」ボタン、「デプロイ」ボタンの順番にクリックし、設定を有効化します。
左メニューの「データビルダ」から 顧客マスターディメンションビューを選択します。
プロパティの設定画面から「データアクセス制御制限」 の「+」ボタンをクリックします。
ここでは先ほど作成した「地域のデータアクセス制御」の定義情報を選択します。
続いて、顧客マスターディメンションと権限テーブル(アクセス制御の情報)を関連付けます。
「顧客マスターディメンションビュー」の「地域ID」列を「アクセス制御情報」の「REGIONID」列に対してDrag & Dropします。
関連付けされて、「顧客マスタディメンションビュー」の「データビューア」を確認すると、権限テーブルの「REGIONID」列に設定されている値の「5 (Asia PAC)」のデータしか参照できないことが確認できます。
確認後、「保存」ボタン、「デプロイ」ボタンの順番にクリックし、ディメンションビューを有効化します。
それではSAP Analytics Cloud のストーリーで前回作成したグラフを使ってデータを参照してみましょう。
アクセスすると地域は「Asia PAC (アジアパシフィック) 」の売上データしか参照できないことが確認できたかと思います。
設定は以上です。
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
61 | |
21 | |
12 | |
11 | |
11 | |
9 | |
8 | |
8 | |
6 | |
6 |