IFS_OBJECT_PRIVILEGES 表関数
IFS_OBJECT_PRIVILEGES 表関数は、パス名によって識別されるオブジェクトに対して許可されたすべてのユーザーの行と、それらに関連したオブジェクトおよびデータ権限を戻します。
この情報は、権限表示 (DSPAUT) CL コマンドおよび Qp0lGetAttr()-- 属性取得 API で使用できる情報と似ています。
許可: 呼び出し側は以下を備えている必要があります。
- QSYS.LIB ファイル・システムにないオブジェクトの場合:
- オブジェクト名の前のパス名に含まれている各ディレクトリーの場合は、*X
- オブジェクトの場合は *OBJMGT
- QSYS.LIB ファイル・システム内のオブジェクトの場合:
- オブジェクト名の前のパス名に含まれている各ディレクトリーの場合は、*X
- *MBR オブジェクトの場合、*RX および *OBJMGT
- その他のすべてのオブジェクト・タイプの場合は、*OBJMGT
- パス名
- オブジェクトを識別するパス名を戻す式。 相対パス名は、現行ディレクトリーに対する相対パス名です。 絶対パス名が指定されていない場合、オブジェクトに解決するために、現行作業ディレクトリーが相対パス名と組み合わせて使用されます。 パスの最後のエレメントがシンボリック・リンクの場合、特権情報はシンボリック・リンク自体に関するものになります。
- 無視エラー
エラーの発生時に実行する内容を識別する文字ストリング式またはグラフィック・ストリング式。
- NO
エラーが戻されます。
- YES
- 警告が戻されます。
この関数の結果は、以下の表に示された形式の行を含むテーブルです。 列はすべて NULL 可能です。
| 列名 | データ・タイプ | 説明 |
|---|---|---|
| PATH_NAME | DBCLOB(16M) CCSID 1200 | オブジェクトの絶対パス名です。 |
| OBJECT_TYPE | VARCHAR(8) | オブジェクトのタイプ。 |
| OWNER | VARCHAR(10) | オブジェクトを所有しているユーザー・プロファイル。 使用可能な所有者がない場合は、NULL 値が入ります。 |
| PRIMARY_GROUP | VARCHAR(10) | オブジェクトの 1 次グループとなるユーザー・プロファイルの名前。 次の特殊値を含めることができます。
オブジェクトに 1 次グループがない場合は、NULL 値が入ります。 |
| AUTHORIZATION_LIST | VARCHAR(10) | オブジェクトが権限リストによって保護されている場合、権限リストの名前。 オブジェクトが権限リストによって保護されていない場合は、NULL 値が入ります。 |
| AUTHORIZATION_NAME | VARCHAR(10) | この行のユーザー・プロファイル名。 次の特殊値を含めることができます。
|
| DATA_AUTHORITY | VARCHAR(12) | AUTHORIZATION_NAME がオブジェクトに対して持っている操作、使用、またはアクセス。 以下のいずれかの特殊値が含まれます。
|
| OBJECT_OPERATIONAL | VARCHAR(3) | AUTHORIZATION_NAME のオブジェクト操作権限を示します。
|
| OBJECT_MANAGEMENT | VARCHAR(3) | AUTHORIZATION_NAME のオブジェクト管理権限。
|
| OBJECT_EXISTENCE | VARCHAR(3) | AUTHORIZATION_NAME のオブジェクト存在権限。
|
| OBJECT_ALTER | VARCHAR(3) | AUTHORIZATION_NAME のオブジェクト変更権限。
|
| OBJECT_REFERENCE | VARCHAR(3) | AUTHORIZATION_NAME のオブジェクト参照権限。
|
| DATA_READ | VARCHAR(3) | AUTHORIZATION_NAME のデータ読み取り権限。
|
| DATA_ADD | VARCHAR(3) | AUTHORIZATION_NAME のデータ追加権限。
|
| DATA_UPDATE | VARCHAR(3) | AUTHORIZATION_NAME のデータ更新権限。
|
| DATA_DELETE | VARCHAR(3) | AUTHORIZATION_NAME のデータ削除権限。
|
| DATA_EXECUTE | VARCHAR(3) | AUTHORIZATION_NAME のデータ実行権限。
|
例
- /usr ディレクトリー内のすべてのオブジェクトのすべての権限をリストします。
WITH OBJS AS (SELECT PATH_NAME FROM TABLE (QSYS2.IFS_OBJECT_STATISTICS(START_PATH_NAME => '/usr'))) SELECT * FROM OBJS, TABLE(QSYS2.IFS_OBJECT_PRIVILEGES(PATH_NAME));
