ページの先頭行へ戻る
PRIMEFLEX for HA Database 業務開発ガイド(Native SQL編)
FUJITSU Integrated System

3.1.2 機密保護

機密保護は、利用者に権限を与えることで、データベースに対する機密を保護するための機能です。データベースの運用形態に応じて、特定の利用者に権限を付与します。

データベースアクセスに対する機密保護

データベースに対する機密保護

スキーマや表などのデータベース資源を定義したとき、その資源の定義者に対してその資源に関するすべての権限をPRIMEFLEX for HA Databaseが設定します。資源の定義者には、権限を他の人に与える権限(付与権)付きで設定します。

資源の定義者が資源をアクセスする権限を他の利用者に付与する場合は、GRANT文を用いて行うことができます。また、付与した権限を剥奪する場合は、REVOKE文を用いて行うことができます。

対象となる利用者

PRIMEFLEX for HA Databaseで利用者を管理する運用を行っている場合は、CREATE USER文で登録した利用者に対して権限の付与および剥奪を行います。これにより、ロールのデフォルト値やPRIMEFLEX for HA Databaseの認証機構を利用した機密保護を行うことができます。

データベースアクセスに対する機密保護機能のイメージを以下に示します。

3.1.2.1 権限のチェックの対象

権限チェックの対象資源の種類には、データベーススペース、スキーマ、表およびルーチンがあります。また、PRIMEFLEX for HA Databaseでデータベースを運用するときの利用形態には、いくつかの方法があります。その方法別に権限のチェック対象者が異なります。

利用形態と権限のチェック対象者を以下に示します。

利用形態

権限のチェック対象者

RDBコマンド

コマンド実行者

アプリケーション

CONNECT文でデータベースに接続したユーザ
SET SESSION AUTHORIZATION文で再定義されたユーザ

ルーチン内SQL文

ルーチンの定義者

データベースアクセスに対する機密保護機能は、データベースにアクセスする権限を認可識別子を利用してチェックします。認可識別子は、データベースにアクセスする権限を持つ利用者です。現行セションのログイン名が認可識別子となります。

データベースアクセスに対する機密保護機能が、権限チェックを行う場合の例を以下に示します。

  1. CONNECT文実行時、認可識別子により認証を行う。

  2. ログイン名(uchino)が認可識別子とみなされる。

  3. 表“STOCKS.在庫表”のデータを検索時、認可識別子のチェックを行う。

  4. uchinoにSELECT権が付与されていれば、データベースの参照が行える。

  5. SET SESSION AUTHORIZATION文実行時、認可識別子により認証を行う。

  6. 認可識別子が、ログイン名(satou)に変更される。

  7. 表“STOCKS.在庫表”のデータを検索時、認可識別子のチェックを行う。

  8. satouにSELECT権が付与されていれば、データベースの参照が行える。

参照

CONNECT文およびSET SESSION AUTHORIZATION文の詳細については、“Symfoware Server SQLリファレンス”を参照してください。

ログイン名と認可識別子についての注意事項

ログイン名は、OSの仕様により、大文字と小文字を区別して扱っています。

認可識別子は、PRIMEFLEX for HA Databaseの仕様により、大文字と小文字を等価として扱っています。

ログイン名を大文字(UCHINO)と小文字(uchino)で区別して使用している場合、認可識別子では等価として扱われるため、どちらの利用者もデータベースをアクセスすることが可能となります。したがって、このようなログイン名の設定を行っている場合は、注意してください。

3.1.2.2 各操作で必要な権限

権限の種類

データベースアクセスに対する機密保護機能として、設定可能な権限を以下に示します。

権限

意味

SELECT権

データ、順序を参照する権限

INSERT権

データを格納する権限

UPDATE権

データを更新する権限

DELETE権

データを削除する権限

EXECUTE権

ルーチンを実行する権限

対象資源と設定できる権限

資源に対し設定可能な権限を以下に示します。

資源

権限

SELECT権、INSERT権、UPDATE権、DELETE権

ビュー表

SELECT権、INSERT権、UPDATE権、DELETE権

ルーチン

EXECUTE権

順序

SELECT権

備考.資源の定義者は、その資源に対するすべての権限を持ちます。

必要な権限の一覧

各操作を行う場合に必要な権限の一覧を以下に示します。

各操作

PRIMEFLEX for HA Databaseでの権限

OS権限

備考

SQL文

OPEN

SELECT権

実行権(アプリケーション)

  

SELECT(単一)

SELECT権

INSERT

INSERT権

SELECT権

問合せ指定を含むとき

UPDATE文:探索

UPDATE権

  

SELECT権

探索条件が副問合せを含むとき

DELETE文:探索

DELETE権

  

SELECT権

探索条件が副問合せを含むとき

UPDATE文:位置づけ

UPDATE権

  

DELETE文:位置づけ

DELETE権

プロシジャ実行

EXECUTE権

カーソル宣言

なし

動的カーソル宣言

なし

表宣言

なし

埋込み例外宣言

なし

INCLUDE

なし

CLOSE

SELECT権

FETCH

SELECT権

SET TRANSACTION

なし

COMMIT

なし

ROLLBACK

なし

RELEASE TABLE

DELETE権

CONNECT

なし

SET CONNECTION

なし

DISCONNECT

なし

SET CATALOG

なし

SET SCHEMA

なし

SET SESSION
AUTHORIZATION

なし

SET USER PASSWORD

現行セションの利用者

SET ROLE

現行セションの利用者

ALLOCATE DESCRIPTOR

なし

DEALLOCATE DESCRIPTOR

なし

DESCRIPTOR取得文

なし

DESCRIPTOR設定文

なし

PREPARE

準備可能文の権限

DEALLOCATE PREPARE

なし

DESCRIBE

なし

EXECUTE

被準備文の権限

EXECUTE IMMEDIATE

準備可能文の権限

動的OPEN

SELECT権

動的FETCH

SELECT権

動的CLOSE

SELECT権

動的DELETE:位置づけ

DELETE権

動的UPDATE:位置づけ

UPDATE権

注意

データベースの定義操作および運用コマンドは、管理用のユーザーIDを使用するユーザのみ実行可能です。詳細は、“1.1.5.1 PRIMEFLEX for HA Databaseで利用可能なSQL文(データベースの定義/変更/削除)”および“1.3.3 利用可能なコマンドの一覧”を参照してください。

3.1.2.3 機密保護の運用手順

機密保護の運用手順を以下に説明します。

権限の付与

表に対するアクセス権の付与は、表の定義者が実施することができます。権限の付与は、GRANT文で行います。

参照

GRANT文の詳細については、“3.3.9 権限情報定義”および“Symfoware Server SQLリファレンス”を参照してください。

GRANT文により表の定義者が各業務のリーダに付与権付きで権限を付与し、その後、リーダが各構成員に権限を付与した場合の例を以下に示します。

権限の剥奪

付与した権限の剥奪は、REVOKE文で行います。

参照

REVOKE文の詳細については、“Symfoware Server SQLリファレンス”を参照してください。

以下に、REVOKE文の使用例を示します。

SUZUKIから参照権を剥奪する場合

REVOKE SELECT ON SCH01.TBL01 FROM SUZUKI