• 検索結果がありません。

ファイル権限およびデータ権限の付与

ドキュメント内 rbafopdf.ps (ページ 109-113)

DB2 for i は、ファイルおよびデータ権限を付与するいくつかの方法を提供します。

v System i ナビゲーターを使用して、ユーザーまたはグループを許可することができます。

v 「オブジェクト権限の付与 (GRTOBJAUT)」コマンドを使用して、データベース・ファイルのデータへ アクセスするユーザーの権限を指定することができます。

v SQL GRANT ステートメントを使用できます。

関連資料:

オブジェクト権限の付与 (GRTOBJAUT) コマンド GRANT (Table or View Privileges)

System i ナビゲーターを使用した、ユーザーまたはグループの許可:

一部のユーザーはオブジェクトに対する特定権限を必要とする場合があります。ユーザーまたはグループへ の特定権限の付与は、System i ナビゲーターを使用して行うことができます。

オブジェクトに対して、ユーザーまたはグループを許可するには、以下の手順に従ってください。

1. System i ナビゲーターから、ご使用のシステム > 「データベース」を展開します。

2. 処理したいデータベースを拡張します。

3. 許可を編集する対象のオブジェクトが見えるまで、ナビゲートする。

4. 許可を追加したい対象のオブジェクトを右クリックし、「許可」をクリックする。

5. 「許可」ウィンドウで、「追加」をクリックする。

6. 「ユーザーおよびグループの追加」ウィンドウで、1 つ以上のユーザーまたはグループを指定または選 択します。

7. 「OK」をクリックして、「ユーザーおよびグループの追加」ウィンドウをクローズします。 これで、

1 つ以上のユーザーまたはグループが権限リストに追加されます。

8. 「OK」をクリックして、「許可」ウィンドウをクローズします。

注: ユーザーまたはグループには、オブジェクトに対するデフォルトの権限が付与されます。ユーザーの権 限は、システムで定義されているタイプのどれか 1 つに変更できます。あるいは、権限をカスタマイズす ることもできます。

System i ナビゲーターを使用して、権限を除去したり、カスタマイズしたりすることもできます。

オブジェクト権限のタイプ:

オブジェクト権限は、ユーザーがオブジェクト全体に対して行える処理を制御します。

オブジェクト権限のタイプは、次のとおりです。

オブジェクト操作権限

以下のことを行う場合、ユーザーにはオブジェクト操作権限が必要になります。

v ファイルを処理のためにオープンする。(データ権限も最低 1 つは持っていなければなりません。) v ファイル記述を使用するプログラムをコンパイルする。

v ファイルの活動メンバーに関する記述情報を表示する。

v Query 処理のためにファイルをオープンする。たとえば、「Query ファイルのオープン (OPNQRYF)」コ マンドは、Query 処理のためにファイルをオープンします。

注: この他にも、オープン操作で指定するオプションによって必要とされる該当のデータ権限も持っていな ければなりません。

オブジェクト存在権限

以下のことを行う場合、ユーザーにはオブジェクト存在権限が必要になります。

v ファイルを削除する。

v ファイルの記憶域を保管、復元、および解放する。オブジェクト存在権限がユーザーに明示的に付与さ れていない場合には、ユーザーは *SAVSYS 特殊ユーザー権限を使用して、ファイルの記憶域の保管、

復元、および解放を行うことができます。*SAVSYS は、オブジェクト存在権限と同じものではありませ ん。

v ファイルからメンバーを除去する。

v ファイルの所有権を移動する。

注: このような機能 (保管/復元を除く) を実行するには、ファイルに関するオブジェクト操作権限も必要で す。

オブジェクト管理権限

以下のことを行う場合、ユーザーにはオブジェクト管理権限が必要になります。

v キー順アクセス・パスを持つ論理ファイルを作成する (論理ファイルが参照する物理ファイルに対するオ ブジェクト管理権限が必要です)。

v 権限を付与/取り消しする。付与および取り消しを行うことができるのは、自分がすでに持っている権限 だけです。(ファイルに対するオブジェクト操作権限も持っていなければなりません。)

v ファイルを変更する。

v ファイルにメンバーを追加する。(ファイルの所有者が新しいメンバーの所有者となります。) v ファイルのメンバーを変更する。

v ファイルを移動する。

v ファイルの名前を変更する。

v ファイルのメンバーの名前を変更する。

v ファイルのメンバーを消去する。(データの削除権限も必要です。)

v ファイルのメンバーを初期設定する。(省略時レコードで初期設定するためにはデータの追加権限も必要 です。削除済みレコードで初期設定するためにはデータの削除権限も必要です。)

v ファイルのメンバーを再編成する。(すべてのデータ権限も必要です。) オブジェクト変更権限

ユーザーは、オブジェクト管理権限と同じ操作の大半のオブジェクト変更権限が必要になります (前項を参 照)。オブジェクト変更権限は、オブジェクト管理権限に取って代わる権限です。

オブジェクト参照権限

あるオブジェクトを別のオブジェクトから参照するには、そのオブジェクトへの操作が参照側オブジェクト による制限を受けるように、オブジェクト参照権限が必要です。

物理ファイルの参照制約を追加すると、親ファイルに対するオブジェクト管理権限またはオブジェクト参照 権限のどちらかの存在が検査されます。

関連概念:

278ページの『制約を使用したユーザーのデータベースの保全性の制御』

制約 は、レコードを追加、変更、除去してもデータベース内のデータの一貫性を保つようにするために、

データベース・ファイルに課せられる制限または限度です。

285ページの『参照制約を使用したデータの保全性の保証』

参照制約を使用して、データベースの参照保全を適用できます。参照保全は、データベースが有効なデータ のみを含むようにするためにユーザーが使用するすべてのメカニズムおよび技術を含みます。

データ権限のタイプ:

データ権限とは、データベース・ファイル内のデータに対して読み取り、追加、更新、または削除を行った り、プログラムを実行したり、またはライブラリーまたはディレクトリーを検索するための特定権限です。

データ権限のタイプは、次のとおりです。

読み取り権限

ユーザーは、ファイル内のレコードを読み取ることができます。

追加権限

ユーザーは、ファイルに新しいレコードを追加することができます。

更新権限

ユーザーは、既存のレコードを更新することができます。(更新のためにレコードを読み取るには、読み取 り権限も持っていなければなりません。)

削除権限

ユーザーは、既存のレコードを削除することができます。(削除のためにレコードを読み取るには、読み取 り権限も持っていなければなりません。)

実行権限

実行権限を使用してライブラリーを処理したり、プログラムを開始したりできます。たとえば、トリガーに 関連したファイルを変更するには、トリガー・プログラムに対する実行権限を持っていなければなりませ ん。実行権限がない場合には、システムはトリガー・プログラムを開始しません。

通常、ユーザーがファイル内のデータに対して持っている権限は、実際に入出力操作を行うまで検査されま せん。ただし、Query ファイルのオープン (OPNQRYF) コマンドとデータベース・ファイルのオープン

(OPNDBF) コマンドを使用する場合には、ファイルのオープン時にもデータ権限が検査されます。

ファイルに対するオブジェクト操作権限が付与されていないユーザーの場合、そのユーザーはファイルをオ ープンすることができません。

以下の例は、論理ファイルに対して付与された権限と、論理ファイルが使用する物理ファイルに対して付与 された権限との関係を示しています。論理ファイル LF1、LF2、および LF3 は、物理ファイル PF1 が基 礎となっています。USERA は、PF1 中のデータに対する読み取り権限 (*READ) および追加権限

(*ADD)、および LF1 と LF2 に対するオブジェクト操作権限 (*OBJOPR)、読み取り権限 (*READ) および 追加権限 (*ADD) を持っています。USERA は、PF1 に対するオブジェクト操作権限 (*OBJOPR) を持っ ていない ため、PF1 をオープンしたり、PF1 のデータを直接に使用することはできません。代わりに、

USERA は、LF1 および LF2 をオープンして、LF1 および LF2 を介して PF1 からレコードを読み取っ たり、PF1 にレコードを追加することができます。

注: このユーザーには LF3 に関する権限は与えられていないため、LF3 を使用することはできません。

関連概念:

298ページの『データベース内での自動イベントのトリガー』

トリガーは、指定したデータベース・ファイルで、指定した変更操作または読み取り操作が行われるときに 自動的に実行される一連の処置です。 IBM i オペレーティング・システムでは、一連のトリガー処置を、

サポートされているどの高水準言語でも定義できます。

ドキュメント内 rbafopdf.ps (ページ 109-113)