Symfoware(R) Server RDBユーザーズガイド データベース定義編 - FUJITSU - |
目次 索引 |
権限情報定義は、GRANT文で行います。資源の定義時には、その資源の定義者のみが、その資源に対するすべての権限を保持しています。したがって、定義者以外がその資源をアクセスするためには、権限情報の定義を行います。GRANT文では、資源に対して、誰にどんな権限を与えるかを指定することができます。在庫管理データベースに権限情報を設定する例を以下に示します。スキーマSTOCKSに属する在庫表の権限情報を定義するものとします。
例
在庫表に対する参照、格納および更新権を付与する例
GRANT SELECT, INSERT, UPDATE ON 在庫表 ↑ ↑ 権限 対象名 TO SATO, SUZUKI, TANAKA ↑ 権限受領者
また、権限の定義では、ある業務で必要な権限をまとめて設定したいという要件があります。このような権限の付与には、ロールを利用すると便利です。
ロールとは、1つの業務で必要な権限をグループ化したものです。ある業務で必要な権限をまとめて設定する場合は、ロールを定義します。ロールを定義すると、その業務を行うすべての利用者にそのロールの権限を付与することができ、権限管理の効率化を図ることができます。
ロール機能を利用した権限付与の手順を以下に示します。
ロール機能の概要を以下に示します。
ロールの定義は、CREATE ROLE文で行います。
ロール“STOCKS_A2”を定義する例を以下に示します。
例
CREATE ROLE STOCKS_A2 ↑ ロール名
ロールに権限を付与するには、GRANT文を利用します。定義したロールに対して、データベース内の表をアクセスするための権限を付与します。
ロールに対してGRANT文で付与できる権限について、以下の表に示します。
権限 |
操作の意味 |
---|---|
SELECT権 |
データベース内の表のデータを参照する権限 |
UPDATE権 |
データベース内の表のデータを更新する権限 |
DELETE権 |
データベース内の表のデータを削除する権限 |
INSERT権 |
データベース内の表のデータを挿入する権限 |
EXECUTE権 |
データベース内のプロシジャルーチン、またはファンクションルーチンを実行する権限 |
TRIGGER権 |
表にトリガを定義する権限 |
CREATE権 |
スキーマに、表、ビュー表、プロシジャルーチン、ファンクションルーチンまたは順序を定義する権限 |
ALLOCATE権 |
DSI定義で、データベーススペースに表の領域を割り付ける権限 |
DROP権 |
スキーマ、表、ビュー表、プロシジャルーチン、ファンクションルーチン、トリガまたは順序を削除する権限 |
ALTER権 |
表定義を更新する権限 |
INDEX権 |
表にインデックスを定義する権限 |
ロール“STOCKS_A2”に対して、各表における権限を付与する例を以下に示します。
例
GRANT SELECT ON STOCKS.在庫表 TO ROLE STOCKS_A2 ↑ ↑ ↑ 権限 対象名 ロール名 GRANT SELECT,INSERT,UPDATE ON STOCKS.発注表 TO ROLE STOCKS_A2 GRANT SELECT,UPDATE,INSERT,DELETE ON STOCKS.会社表 TO ROLE STOCKS_A2
権限が付与されたロールを、利用者に対して付与します。
利用者へのロールの権限の付与は、GRANT文で行います。
ロール“STOCKS_A2”の権限を、利用者“SATO,SUZUKI,TANAKA”に付与する例を以下に示します。
例
GRANT STOCKS_A2 TO SATO,SUZUKI,TANAKA ↑ ↑ ロール名 権限受領者
定義したロールに対して、GRANT文で付与した権限を有効にするには、応用プログラムでSET ROLE文を実行しなければなりません。応用プログラムでSET ROLE文を実行する方法については、“RDBユーザーズガイド 応用プログラム開発編”を参照してください。
権限情報の定義でロールを作成した場合、デフォルトロールを設定することができます。デフォルトロールとは、応用プログラム中でSET ROLE文を実行しなくても有効となるロールを、環境構築時にあらかじめ設定しておくものです。
デフォルトロールの設定は、ALTER USER文で行います。
利用者“SATO,SUZUKI,TANAKA”にデフォルトロール“STOCKS_A2”を設定する例を以下に示します。
例
ALTER USER SATO DEFAULT_ROLE=STOCKS_A2 ALTER USER SUZUKI DEFAULT_ROLE=STOCKS_A2 ALTER USER TANAKA DEFAULT_ROLE=STOCKS_A2
目次 索引 |