本ブログでは、2023年10月末に導入された、「範囲設定済みロール(Scoped Roles)」について解説します。
「ロール」という言葉はデータベース技術の中では一般的な用語で、ここで述べているロールも同様の意味ですが、端的に言いますと「権限の集合」になります。
従来の SAP Datasphere (2023.20というバージョンまで)は、ロールを割り当てられたユーザは、その権限に基づいて、各スペースに対して同じ権限で操作することができていました。
例えば、「スペース管理者」のロールを付与されたユーザは、割り当てられた全てのスペースに対して「スペース管理者」として操作が可能でした。
SAP Datasphere の前身である、SAP Data Warehouse Cloud は「ビジネスユーザでも気軽に利用できる使いやすいデータベースクラウド」をコンセプトにリリースされましたが、データマネジメントの利用シーンが拡がるにつれて、より柔軟に細かい権限設定が望まれるようになりました。
そのような多くのお客様からのご要望により、SAP Datasphere の 2023.21というバージョンから、「範囲設定済みロール(Scoped Roles)」が導入されました。
この「範囲設定済みロール」によって、より柔軟に細かい権限管理ができるようになりました。
例えば、高橋さんはスペースA、スペースB、スペースCに対して「スペース管理者」で、鈴木さんはスペースCだけ「スペース管理者」にする、ということができるようになりました。
また、高橋さんはスペースDとスペースEに対しては「スペース利用者」で、スペースDとスペースEのデータには SAP Analytics Cloud などのBIツールからアクセスできるけど、DBオブジェクトは定義情報は参照すらできない、というような設定ができるようになりました。
大きく分けると3つのロールの種類になります。
「範囲設定済みロール」は、「スペースに対しての権限設定」の仕組みになります。
レベルは下記の5段階のレベルになります。
・DW 範囲設定済みスペース管理者
ユーザが割り当てられているスペースのあらゆる側面 (ストレージ割り当ておよびワークロード管理プロパティを除く) を管理できるほか、データアクセス制御を作成できます。
各種データソースに対して「接続」を通じてデータを統合できるほか、スペース内のデータ統合を管理および監視できます。
・DW 範囲設定済みモデラ
データビルダおよびビジネスビルダでオブジェクトを作成または編集できるほか、オブジェクト内のデータを表示することができます。
・DW 範囲設定済みビューア
オブジェクトを表示できるほか、スペースで利用のために公開されているビューによるデータ出力を表示できます。
・DW 範囲設定済み利用者
SAP Analytics Cloud およびその他のツールを使用し、SAP Datasphere スペースによって公開されたデータを利用できます。このロールが割り当てられたユーザは、SAP Datasphere にログインできません。このロールは、ビジュアライゼーションのためにSAP Datasphere データを使用するものの、モデリング環境にアクセスする必要がないユーザを対象としています。
※ 詳細は下記のマニュアルもご参照ください。
それでは、実際に事前に用意されている「範囲設定済みロール」を利用したロールの割り当ての操作を解説します。
「範囲設定済みロール」の設定手順は2つの手順になります。
(1) ロールにアクセス対象のスペースを割り当てる
(2) ロールをユーザに割り当てる
左メニューから「セキュリティ」>「ロール」を選択します。
今回は、ユーザに「スペース管理者」の権限を付与する例を参考に手順を紹介します。
「範囲設定済みロール」から、「DW範囲設定済みスペース管理者」をクリックします。
画面右上の「範囲を割り当て」ボタンをクリックして、ロールに追加するスペースを選択後、保存ボタンをクリックします。
(例では、スペースA、スペースB、スペースC を選択)
続いて、画面左上のタブメニューから「ユーザ割り当て」を選択し、画面右上の「+」ボタンをクリックして「ユーザの選択」を選択します。
ロールを割り当てるユーザを選択し、さらにそのユーザがアクセス可能なスペースを選択します。
権限が付与されると、選択したユーザ毎に全てのスペースに対する「スペース管理者」の権限が付与されました。
ただ、ユーザー毎にスペース管理者の権限を細かく設定したい場合、権限を外したいユーザをこの画面でチェックして「ごみ箱(ユーザ割り当てを削除)」ボタンをクリックします。
この事前準備された「範囲設定済みロール」は、スペースに対しての操作を制限することを中心に権限設定する場合に便利です。
さらに細かいレベルで、権限運用を考えた場合は、「範囲設定済みロール」を追加で作成することも可能です。
ここでの例は、スペース単位で「範囲設定済みロール」を作成するケースを紹介します。
「範囲設定済みロール」から「新しい範囲設定済みロールを作成」をクリックします。
ロール名には任意の名前と説明を記載します。
「スペースEに対してのスペース管理者」の権限を管理するための「範囲設定済みロール」を作成します。
テンプレートを選択します。
前述した各スペース毎の5つのレベルから選択してください。ここでは「DWスペース管理者」を選択します。
画面右上の「範囲を割り当て」ボタンをクリックして、ロールに追加するスペースを選択後、保存ボタンをクリックします。(例では、スペースEを選択)
後の操作は前述と同様の操作です。
画面左上のタブメニューから「ユーザ割り当て」を選択し、画面右上の「+」ボタンをクリックして「ユーザの選択」を選択します。
ロールを割り当てるユーザを選択し、さらにそのユーザがアクセス可能なスペースを選択します。
DatasphereのシステムオーナーやDB管理者は自分自身に対して権限やロールを付与することができません。なので、DB管理者自身もDatasphereを利用してモデリングしたり、データアクセスする場合は、別のDB管理者を作成し、そのDB管理者から権限付与してもらう必要があります。
以前のDB管理者の考え方は、「DB管理者はDBの全ての操作ができて、全てのユーザーデータにアクセスできる」というものでしたが、昨今では、DB管理者とデータ管理者を分ける考え方が主流になってきています。SAP HANA の考え方は、「DB管理者はDBの管理は行うけど、ユーザーデータに対しては別のDB管理者の承認を得なければアクセスできない」という考え方です。
・Practice Recommendations: How to Effectively Implement Scoped Roles in SAP Datasphere
・SAP Datasphere Scoped Roles Examples | Scenarios