Symfoware Serverの機密保護とは、特定の利用者に権限を与えることによって、データベースの機密を保護することです。
機密保護には“コマンドや各種ファイルに対する機密保護”と“データベースアクセスに対する機密保護”があります。
コマンドや各種ファイルに対する機密保護では、OSにログインする利用者の認証およびコマンド実行権のチェックはOSの機能を利用して行います。OSコマンドでRDBコマンドの実行権を設定し、データベースの機密を保護します。
データベースアクセスに対する機密保護について、以下に説明します。
データベースアクセスに対する機密保護
データベースに対して接続した利用者がどのような表にアクセスできるか、どのような操作を行うことができるかのデータベースアクセスに対する機密保護は、SQL文で設定します。
なお、データベースに対して接続できる利用者の定義方法には、Symfoware Serverで利用者を管理する方法とOSで利用者を管理する方法があります。
Symfoware Serverで利用者を管理する場合、データベース定義時に権限定義を行います。権限定義についての詳細は、“3.3.10 権限”を参照してください。OSで利用者を管理する場合、OSにログイン名を登録するだけで、データベースアクセスが可能となります。
以下に、Symfoware Serverで利用者を管理する場合の各資源に対する機密保護について説明します。
参照
SQL文についての詳細は、“SQLリファレンス”を参照してください。
RDBディクショナリ創成直後、RDBディクショナリの定義者にシステムファイルへのアクセス権限を与えます。
RDBディクショナリの定義者は、GRANT文およびREVOKE文を用いて、論理構造定義時にアクセス権限を設定することができます。
スキーマや表などのデータベース資源を定義したとき、その資源の定義者にその資源に関するすべての権限を与えます。各資源の定義者は、アクセス権限を他の人に設定できます。
各資源の定義者は、GRANT文およびREVOKE文を用いて、論理構造定義時にアクセス権限を設定することができます。
対象となる利用者
Symfoware Serverで利用者を管理する運用を行っている場合は、CREATE USER文で登録した利用者に対してアクセス権限の設定を行います。これにより、1つの業務で必要な権限をグループ化して定義するロールのデフォルト値やSymfoware Serverの認証機構を利用した機密保護を行うことができます。
Symfoware Serverに利用者を登録しない運用を行っている場合は、OSの利用者に対して、アクセス権限を設定することができます。
ロールについて、以下に説明します。
権限チェックの対象
権限チェックの対象資源の種類には、データベーススペース、スキーマ、表およびルーチンがあります。また、Symfoware Server運用の利用形態には、いくつかの方法があります。その方法別に権限のチェック対象者が異なります。
利用形態と権限のチェック対象者について、以下に示します。
利用形態 | 権限のチェック対象 |
---|---|
RDBコマンド | コマンド実行者 |
アプリケーション | CONNECT文でデータベースに接続したユーザ |
プロシジャルーチン内SQL文 | プロシジャルーチンの定義者 |
プロシジャルーチンについての詳細は、“3.3.8 プロシジャルーチン”を参照してください。
各操作で必要な権限
データベースアクセスに対する機密保護機能として設定可能な権限について、以下に示します。
権限 | 意味 |
---|---|
SELECT権 | データを参照する権限 |
INSERT権 | データを格納する権限 |
UPDATE権 | データを更新する権限 |
DELETE権 | データを削除する権限 |
EXECUTE権 | ルーチンを実行する権限 |
TRIGGER権 | 表にトリガを定義する権限 |
CREATE権 | スキーマに、表、ビュー表、ルーチン、順序を定義する権限 |
ALLOCATE権 | DSI定義でデータベーススペースに表のエリアを割付ける権限 |
DROP権 | スキーマ、表、ビュー表、ルーチン、トリガ、順序を削除する権限 |
ALTER権 | 表定義を更新する権限 |
INDEX権 | 表にインデックスを定義する権限 |