Technology Blogs 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
Advisor
Advisor
0 Kudos
本ブログでは、SAP HANA Cloud (以下、「HANA Cloud」) を初めて使われる方を対象に、Free Trial 環境を使用した操作手順を解説します。

本内容は「DBエンジニア」向けの内容になります。

今回は「権限ロールを作成し、一般ユーザーに付与する」方法についてご紹介します。

全体の流れは下記の通りです。

(1) 権限ロールの作成

(2) 一般ユーザーの作成と権限付与

 

ロールの作成


「ロール」とは「権限をまとめたオブジェクト」です。テーブルやビューに対するアクセス権限を各DBユーザーにそれぞれ付与するのではなく、ロールに対して複数のテーブルやビューに対するアクセス権限を付与して、そのロールを各DBユーザーに付与する運用が一般的です。

それでは、ロールを作成します。

画面上部メニューの「View」から「Find Command…」を選択します。

検索ボックスで表示されたリストの中から「SAP HANA Create SAP HANA Database Artifact」を選択します。



 

Artifact Typeのリストから「hdbrole」を選択してください。検索ボックスに「role」と入力するとリスト表示されます。


 

ロール名は「第一営業部向けのアクセス権限ロール」を想定して、「SALES01_access_role」とします。


 

ファイルを選択して、「Object Privileges」タブを選択し、オブジェクトを選択します。

今回はHANA Viewの「V_ORDERS」だけを検索(SELECT)できるための権限とします。




 

ファイルを選択し、デプロイのアイコンをクリックします。


 

一般ユーザーの作成と権限付与


HDI コンテナーはアクセス権限が厳格なため、API (プロシージャ) を用いた権限付与を行うことが通常ですが、SQL文での権限管理に慣れたDBエンジニアが多いと思いますので、ここではDB管理者(DBADMIN)が権限ロールをSQL文で一般DBユーザーにロール管理できる手順について解説します。

※ DB管理者とDBアクセス権限管理者を分離することも可能ですが、今回はその手順は割愛します。

 

まずは一般DBユーザーを作成します。

SAP HANA CockpitにDBADMINでログインし、「User Management」のリンクをクリックします。


 

下記画面のように「」ボタンをクリックして「Create User」を選択します。


 

ユーザー名には任意のユーザー名を入力して、画面の通りに設定します。

・Creation of Objects in Own Schema : No (自身のスキーマを作成しない)

・PUBLIC role : Yes (システムのカタログ情報を検索できるようにする)

・Disable ODBC/JDBC Access : No (ODBC/JDBCでのアクセスを許可する)


 

パスワードのチェックを入れて、英数字で大文字/小文字を含めた8文字以上の複雑なパスワードを指定してください。

また、この一般ユーザーが初回にDBログインする際にパスワード変更を求めないようにするため、「Force Password Change on Next Logon」には「No」を指定します。


 

ユーザー作成後、ロールを付与します。

一般DBユーザーを選択後、「Assign Roles」をクリックします。


 

下記の手順通り、ロールを付与します。

ロールは「GLOBAL_DWH」スキーマ内にある「SALE01_access_role」です。

ここで重要なのは、「HDI Container API」を「NO」に設定することです。これでDB内でのロール管理が可能になります。





 

ロールの付与が完了しました。

それでは、一般DBユーザーでログインして、V_ORDERSビューにアクセスできるか確認しましょう。

SAP HANA Cockpitの「Change Authentication」をクリックし、一般DBユーザーでログイン後、SQL Consoleでアクセスします。


 


 


 

DBにアクセスできたら、リストから「Column Views」を選択し、GLOBAL_DWHスキーマ内のV_ORDERSビューのデータが検索できるか確認します。



 

また、リストから「Tables」を選択し、テーブルに対してアクセスが不可であることも確認してください。


 

いかがでしたでしょうか ?

 

今までと同様のDB管理者が慣れ親しんだ権限付与が行えたかと思います。

 

それでは、次はSAP Analytics Cloudとの連携について確認していきましょう。

 

次回 : SACとのSSOの設定

 

参考 : SAP Analytics CloudとSAP HANA Cloudとの連携
1 Comment