
このブログでは、SAP Datasphere の"演算子と値"を用いた複雑なデータアクセス制御について解説します。
※当ブログは、こちらのブログを一通り確認された方が対象となります。
SAP Datasphere のデータアクセス制御は、基本的にスペース単位でオブジェクト(テーブルやビュー)を管理し、そのオブジェクトにアクセス可能なユーザをスペースに追加することで管理しますが、同じスペース内でもデータ内容に応じてユーザのアクセス制御を行いたいケースがあると思います。
そういった場合に、権限テーブルを用意することでログインしたユーザに応じて参照できるデータを定義し、行レベルできめ細やかなアクセス制御を行うことが可能です。
しかしながら、行レベルのアクセス制御で対応できないような複雑な条件や、複数条件を必要とするアクセス制御が必要なケースもあるかと思います。そのような場合でも、SAP Datasphere では演算子や値の組合せを用いて複雑なデータアクセス制御を作成することが可能です。
ユースケースとして、例えば以下のようなケースが考えられます。
上記のような複雑なアクセス制御を行いたい場合でも、ANDとOR条件の組合せを用いてデータアクセス制御を作成することが可能です。また、「特定の文字列を含むデータ」のようなあいまい条件でデータアクセス制御を作成することも可能です。対象ユーザに応じて細かなアクセス制御をかけることができる一方、特定ユーザには例外的に全てのレコードを参照できる権限を付与する、といった使い方もできます。
次の章では、具体的なデータアクセス制御の作成の仕方を見ていきましょう。
データアクセス制御を作成する前に、以下の列を含む権限エンティティを準備しておく必要があります。
この権限エンティティに登録したレコードがデータアクセス制御の内容となります。
以下は権限エンティティのサンプルです。
権限エンティティ例
権限ID | ユーザID | 制限 | 基準 | 演算子 | 最初の値 | 2番目の値 |
1 | hiroki.ito@sap.com | 0 | FISCYEAR | BT | 2022 | 2023 |
2 | hiroki.ito@sap.com | 0 | COUNTRYNAME | EQ | Japan | |
3 | hiroki.ito@sap.com | 1 | FISCYEAR | BT | 2022 | 2023 |
4 | hiroki.ito@sap.com | 1 | REGIONNAME | EQ | North America | |
5 | hiroki.ito@sap.com | 2 | FISCYEAR | GE | 2024 | |
6 | hiroki.ito@sap.com | 2 | CUSTOMER | CP | Sport% | |
7 | xxxxxx.yyyyyy@zzzzzz.com | 0 | CUSTOMERID | All | ||
上記の権限エンティティレコードによって、ユーザID: hiroki.ito@sap.comには以下のようなデータアクセス制御がなされます。
また、ユーザID: xxxxxx.yyyyyy@zzzzzz.com は特権ユーザとしてすべてのデータを参照できます。
このように、AND条件であれば同一制限のレコードを登録し、OR条件であれば複数制限のレコードを登録することで動作させることができます。
CSVファイルで上記のようなレコードを作成したら、サイドナビゲーション領域でデータビルダをクリックし、CSVファイルをインポートして権限エンティティを作成することも可能です。
これで権限エンティティが作成できました。
続いてデータアクセス制御を作成します。
サイドナビゲーション領域で、データアクセス制御をクリックしてから必要に応じてスペースを選択し、新規データアクセス制御をクリックしてエディタを開きます。
次に、一般セクションのプロパティを入力します。この時、構造は「演算子と値」を選択します。権限エンティティには、上記で作成した権限エンティティを選択します。また、ユーザ列にはユーザ ID が格納された列(多くの場メールアドレスの列)を選択します。
続いて基準セクションも入力します。
制限列、基準列、演算子の列、最初の値列、2番目の値列に権限エンティティで作成した列をそれぞれ選択します。
利用可能な基準すべてにチェックが入っていることを確認し、保存→デプロイします。
これでデータアクセス制御が作成できました。
いよいよビューに対して作成したデータアクセス制御を設定します。
今回は事前に作成した顧客マスタディメンションビューを使用します。このビューには、2022年から2024年までの様々な地域や国の顧客情報が登録されています。作成したデータアクセス制御を設定し、参照可能なデータに制限をかけます。現時点では、データビューアではすべてのデータが閲覧できる状態です。
まず、ビューを選択した状態で右上の詳細ボタンからModelプロパティを開き、スクロールダウンしてデータアクセス制御の領域で+ボタンを押下してデータアクセス制御を設定します。
ポップアップウインドウで作成したデータアクセス制御を選択しOKをクリックします。
Modelプロパティの結合セクションで、ビューの列をデータアクセス制御で定義された基準列にマッピングします。マッピングが完了したらビューを保存してデプロイします。
データビューアをクリックするとデータアクセス制御の設定に従って参照できるデータがフィルタリングされていることが確認できます。
これでデータアクセス制御が有効になりました。
このように、SAP Datasphere では、"演算子と値"を用いた複雑なデータアクセス制御を作成することができ、きめ細やかな管理をすることが可能です。また、対象者の権限に変更があった場合も権限エンティティの内容を変更することでタイムリーにアクセス制御に反映することができます。必要に応じてこちらの機能をご活用ください。
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
17 | |
15 | |
12 | |
12 | |
10 | |
9 | |
7 | |
6 | |
6 | |
5 |