Technology Blog Posts by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
KABATA_Kimikazu
Product and Topic Expert
Product and Topic Expert
1,156

本ブログでは、SAP Datasphere( 以下、「Datasphere」) のデータアクセス制御について解説します。

Datasphere のデータ(テーブルやビューなど)へのアクセス制御は、基本的にスペース単位でオブジェクトを管理して、そのスペースにユーザを追加 (厳密にはロールを付与)します。

ただし、スペース単位ではなく、データの内容によってアクセス制御を行いたいケースがあります。いわゆる「行(レコード)レベルのアクセス制御」です。

例えば、図のようにKABATA さんには、全地域の売上ではなく、アジア地域の売上データのみアクセスさせたいケースなどです。

01.png

このようなアクセス制御を実装するために、「権限テーブル」を利用することによって、ユーザー毎に参照できるデータ定義し、きめ細やかなアクセス制御を行うことが可能です。

この「権限テーブル」のデータをメンテナンスすることにより、スキーマ構造やレポート、アプリケーションを変更する必要がないので、運用上もメンテナンス作業負荷が軽減する可能性があります。

アクセス制御を実装する際には、その設定はトランザクションデータに対してではなく、マスターデータに対して実装した方が効率的で、アクセス管理も容易になります。

今回の例では「顧客マスターディメンションビュー」に対して「地域アクセス権限テーブル」を関連付ける方法を例にその設定方法について解説します。

02.png

データアクセス制御の設定の流れは下記の通りです。

1. 権限テーブルの作成

2. アクセス制御定義の作成 (権限テーブルの結合キー列の指定)

3. 権限テーブルとディメンションの関連付け

今回は下記のブログで作成したディメンションビューを利用して、KABATAさんが「アジア地域」のみアクセス可能なデータアクセス制御を実装します。

はじめてのSAP Datasphere : モデリング

また、設定にあたっては下記のマニュアルも参考にしてください。

"単一値" データアクセス制御の作成

 

1. 権限テーブルの作成

まず、権限テーブルを作成します。

05_1.png

 

こちらのサイトからCSVファイルをダウンロードしてください。

P_REGIONO.csv : 地域アクセス権限テーブル用のデータ

03.png

ダウンロードしたCSVファイルを利用してデータを修正します。特定の列の値に対して、ご自身のメールアドレス(Datasphere のログインID)に修正してください。

例では、「xxxxxxxxkabata@sap.com」ユーザが「地域 ID: 5 (Asia PAC)」のみアクセス可能な権限データに修正しています。

04.png

※ 地域IDの意味が分かり易いように、地域名もテーブルに含めています。

それでは、CSVデータを元にデータをアップロードして権限テーブルを作成します。

データビルダでCSVファイルをインポートします。

05.png

 

先程ダウンロードしたCSVファイルを選択し、デプロイします。

06.png

 

テーブル名には任意のビジネス名と技術名を付けます。

07.png

 

2. アクセス制御定義の作成 

作成した「権限テーブル」に対して、「アクセス制御の定義情報」を追加します。

左メニューの「データアクセス制御」を選択し、「新規データアクセス制御」をクリックします。

※ 2024/5/22から「データアクセス制御」のメニューは「データビルダ」に統合されました。

08.png

 

データアクセス定義情報に任意のビジネス名、技術名を付けて、「構造」には「単一値」を指定します。

続いて「権限エンティティ」フィールドをクリックして、先ほど作成した権限テーブル「地域 (権限テーブル) 」を選択します。

09.png

 

10.png

 

 続いて「ID列」には「ログインユーザー名」が格納されている列を選択します。

11.png

11_1.png

 

続いて、「顧客マスターディメンションビュー」と関連付ける列、今回は「REGIONID(地域ID)列」の指定を行います。

13.png

13_1.png

※ 図は簡略化しています

設定が終わったら、「保存」ボタン、「デプロイ」ボタンの順番にクリックし、設定を有効化します。

14.png

 15.png

 

3. 権限テーブルとディメンションの関連付け

左メニューの「データビルダ」から 顧客マスターディメンションビューを選択します。

16.png

 

プロパティの設定画面から「データアクセス制御制限」 の「+」ボタンをクリックします。

17.png

 

ここでは先ほど作成した「地域のデータアクセス制御」の定義情報を選択します。

18.png

 

続いて、顧客マスターディメンションと権限テーブル(アクセス制御の情報)を関連付けます

「顧客マスターディメンションビュー」の「地域ID」列「アクセス制御情報」の「REGIONID」列に対してDrag & Dropします。

19.png

 

関連付けされて、「顧客マスタディメンションビュー」の「データビューア」を確認すると、権限テーブルの「REGIONID」列に設定されている値の「5 (Asia PAC)」のデータしか参照できないことが確認できます。

20.png

 

確認後、「保存」ボタン、「デプロイ」ボタンの順番にクリックし、ディメンションビューを有効化します。

 

4. アクセス制御の確認

それではSAP Analytics Cloud のストーリーで前回作成したグラフを使ってデータを参照してみましょう。

アクセスすると地域は「Asia PAC (アジアパシフィック) 」の売上データしか参照できないことが確認できたかと思います。

21.png

 

設定は以上です。