SAP HANAユーザーに権限を付与するUser & Roleの設定

作成者:花木 敏久投稿日:2013年10月17日

  • このエントリーをはてなブックマークに追加

こんにちは。SAPジャパンの花木です。前回は、SAP HANA クライアントを設定する方法を説明しました。 今回は、UserとRoleについて説明します。適切な権限を持ったUserの作成は認証の基礎ですが、実際には管理者権限ユーザーで日々のオペレーションを行ってしまうケースも少なくないようです。SAP HANAでもsystemという管理者用ユーザーがデフォルトで用意されていますが、不用意な失敗やデータ喪失を招かないように必要最小限の Userは用意し、オペレーションに合ったUserを使うようにしましょう。

SAP HANAの認証の概念

SAP HANAの認証には、User、Privilege、Roleを理解する必要があります。

Userは、SAP HANAへのログインIDであり、データベースオブジェクトに対する権限設定はこのUserに対して行うことになります。権限を与えられるということは、特定のオブジェクトに対して特定の操作が許されることを意味します。Userには、実際の使用者に割り当てられるdatabase userとインストール時に組み込まれたtechnical database userの2種類があります。後者には、SYS、_SYS_REPOなどがあります。

Privilegeは権限そのものです。HANA Studioで’New User’または‘New Role’を実行すると、System Privilege、Object Privilege、Analytic Privilege、Package Privilege、Application Privilegeの5種類について設定することができます。

Picture2

Roleは、Privilegeの集合体です。ある役割のユーザーが業務を遂行する上で必要な複数のPrivilegeをRoleとして定義し、Userに対して必要な権限を一括して付与することができます。

以上より、UserへのPrivilegeの与え方は以下の2パターンがあります。

  1. Privilegeを直接、Userに付与する
  2. PrivilegeをRoleに登録し、RoleをUserに付与する

上記1. 「Privilegeを直接、Userに付与する」のやり方を説明しているのが、以下のビデオです。このビデオでは、stsreadという新しいUserを作成し、Object Privilegeとしてstsスキーマに対するselect を許可しています。従って、stsreadユーザーは、stsスキーマ内に存在するテーブルやビューなどを参照することだけが可能であり、変更したり削除したりすることはできません。

SQL文で書くと以下のようになります。

CREATE SCHEMA sts;
CREATE TABLE sts.test_table (a varchar(256), b varchar(256));
CREATE USER stsread_user PASSWORD mypassword;
CREATE ROLE sts_read_role;
GRANT SELECT ON SCHEMA sts TO sts_read_role;
GRANT sts_read_role TO stsread_user;

また、上記2. 「PrivilegeをRoleに登録し、RoleをUserに付与する」の説明は、以下のビデオで行います。このビデオでは、sts_read_roleというRoleを作成し、これに対して、1. と同様にstsスキーマへのselect権を設定しています。Sts_read_roleというRoleは、stsread_userに付与され、結果として 1. と同様の効果を生じます。

SQL文で書くと以下のようになります。

CREATE SCHEMA sts;
CREATE TABLE sts.test_table (a varchar(256), b varchar(256));
CREATE USER stsread_user PASSWORD mypassword;
CREATE ROLE sts_read_role;
GRANT SELECT ON SCHEMA sts TO sts_read_role;
GRANT sts_read_role TO stsread_user;

次回は、初期データの投入時などに欠かせない、csvファイルなど外部ファイルからSAP HANAにデータロードを行う方法について説明します。

ご質問はチャットWebからも受け付けております。お気軽にお問い合わせください。

●お問い合わせ先
チャットで質問する
Web問い合わせフォーム
電話: 0120-554-881(受付時間:平日 9:00~18:00)

  • このエントリーをはてなブックマークに追加

連記事

SAPからのご案内

着記事お知らせメール登録

ブログ記事の情報をメール配信しています。

以下にご指定のメールアドレスを入力し「登録する」ボタンをクリックすると、確認メールが送信されます。そのメールに記載されているURLをクリックすることで登録が確定されます。また、登録の解除も以下からお願いします。


メールアドレス