ページの先頭行へ戻る
Symfoware Server V11.0.1 セキュリティ運用ガイド
Symfoware

4.6.6 データベースの作成

Symfoware/RDBの環境作成が完了したら、データベースを作成します。

Symfoware/RDBのデータベースの作成の流れを以下の図に示します。

図4.5 データベース環境の構築の手順

なお、データベースの作成方法には、以下があります。

データベースの作成はWebDBtoolsを使用すると簡単に行えます。

本項では、rdbddlexコマンドで定義する方法を用いて説明します。

参考

  • WebDBtoolsから定義する方法の詳細については、“WebDBtoolsヘルプ”を参照してください。“WebDBtoolsヘルプ”は、WebDBtools画面上の[ヘルプ]ボタンをクリックすることで参照できます。

  • アプリケーションから定義する方法の詳細については、“RDB運用ガイド(データベース定義編)”を参照してください。

4.6.6.1 データベーススペースの作成

データベースのための領域としてデータベーススペースを作成します。データベーススペースの作成は、CREATE DBSPACE文で行います。

注意

監査ログ用ロググループ内には、ユーザデータベースを作成することはできません。

参考

データベーススペースの作成の詳細については、“RDB運用ガイド(データベース定義編)”を参照してください。

4.6.6.2 権限の定義

権限の定義では、以下の2つを行います。

権限情報の定義

権限情報の定義は、GRANT文を用いて行います。

GRANT文では、資源に対して、誰にどんな権限を与えるかを指定します。

また、権限の定義では、ある業務で必要な権限をまとめて設定したいという要件があります。そういった権限の付与には、ロールを利用すると便利です。

ロールとは、1つの業務で必要な権限をグループ化したものです。ロールを定義し、その業務を行うすべての利用者にそのロールの権限を付与することにより、権限管理の効率化を図ることができます。

ロール機能を利用した権限の付与方法の手順を以下に示します。

  1. ローを定する

  2. ロールにを付与する

  3. ルの権を利用者に付与する

ロール機能の概要を以下に示します。

参考

ロール機能を使わない権限の付与方法については、“RDB運用ガイド(データベース定義編)”を参照してください。

1) ロールを定義する

ロールを定義します。ロールの定義は、rdbddlexコマンドのCREATE ROLE文で行います。

ロール“STOCKS_A2”を定義する例を以下に示します。

$ rdbddlex /home/rdb/DDL/crle.dat

[crle.datの例]

  CREATE ROLE STOCKS_A2; 

CREATE ROLE文の詳細については、“11.4 CREATE ROLE文(ロール定義文)”を参照してください。

2) ロールに権限を付与する

定義したロールに対して、データベース内の表をアクセスするための権限を付与します。

ロールに対してGRANT文で付与できる権限について、以下の表に示します。

権限

操作の意味

SELECT権

データベース内の表のデータを参照する。
データベース内の順序を参照する。

UPDATE権

データベース内の表のデータを更新する。

DELETE権

データベース内の表のデータを削除する。

INSERT権

データベース内の表のデータを挿入する。

EXECUTE権

データベース内のルーチンを実行する。

ロールの権限の付与はrdbddlexコマンドのGRANT文で行います。

ロール“STOCKS_A2”に権限を付与する例を以下に示します。

$ rdbddlex -d RDBDB /home/rdb/DDL/grnt.dat

[grnt.datの例]

  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文の詳細については、“11.8 GRANT文”を参照してください。

3) ロールの権限を利用者に付与する

権限を付与したロールに対して、利用者に付与します。

利用者への付与は、rdbddlexコマンドのGRANT文で行います。

ロール“STOCKS_A2”の権限を、利用者“SATO,SUZUKI,TANAKA”に付与する例を以下に示します。

$ rdbddlex /home/rdb/DDL/grnr.dat

[grnr.datの例]

  GRANT STOCKS_A2 TO SATO,SUZUKI,TANAKA;

GRANT文の詳細については、“11.8 GRANT文”を参照してください。 定義したロールに対して、GRANT文で付与した権限を有効にするには、アプリケーションでSET ROLE文を実行しなければなりません。アプリケーションでSET ROLE文を実行する方法については、“12.3.1 ロールの有効化”を参照してください。

また、各コマンドで必要な権限を含むロールが付与されている利用者が、運用系コマンド(rdbfmt、rdbsaloader、rdbsloader、rdbsuloader、rdbunl、rdbunlx)を実行するには、セキュリティパラメタのROLE_RANGEにLEVEL1を設定します。ただし、標準運用時のみ有効です。ROLE_RANGEの詳細については“11.12 SET SYSTEM PARAMETER文”を参照してください。

また、アプリケーション中でSET ROLE文を実行せずに有効となるロールを、環境構築時にあらかじめ設定しておくこともできます。詳細については、“デフォルトロールの設定”を参照してください。

デフォルトロールの設定

権限情報の定義でロールを作成した場合、デフォルトロールを設定することができます。

デフォルトロールとは、アプリケーション中でSET ROLE文を実行せずに有効となるロールを、環境構築時にあらかじめ設定しておくものです。

デフォルトロールの設定は、ALTER USER文で行います。

利用者“SATO,SUZUKI,TANAKA”にデフォルトロール“STOCKS_A2”を設定する例を以下に示します。

$ rdbddlex /home/rdb/DDL/defrl.dat

[defrl.datの例]

  ALTER USER SATO DEFAULT_ROLE=STOCKS_A2;
  ALTER USER SUZUKI DEFAULT_ROLE=STOCKS_A2;
  ALTER USER TANAKA DEFAULT_ROLE=STOCKS_A2;

ALTER USER文の詳細については、“11.2 ALTER USER文(利用者変更文)”を参照してください。

4.6.6.3 データベースの定義情報の参照

データベースの定義が終了したら、データベースの定義情報を確認します。

詳細については、“4.7 データベースの定義情報の参照”を参照してください。