AUTHORITY_COLLECTION ビュー
AUTHORITY_COLLECTION ビューは、オブジェクトの権限検査に関する情報を含んでいます。
次の表はビュー内の列を説明したものです。 スキーマは QSYS2 です。
列名 | システム列名 | データ・タイプ | 説明 |
---|---|---|---|
AUTHORIZATION_NAME | USER_NAME | VARCHAR(10)
NULL 可能 |
権限情報が収集されたユーザー・プロファイルの名前。 |
CHECK_TIMESTAMP | CHKTIME | TIMESTAMP
NULL 可能 |
権限検査が行われた日付と時刻。 |
SYSTEM_OBJECT_NAME | SYS_ONAME | CHAR(10) NULL 可能 |
権限が検査されたオブジェクトの名前。 このフィールドは、ライブラリー内のオブジェクトおよび文書ライブラリー・オブジェクト (*DOC および *FLR オブジェクト・タイプ) の情報を含んでいます。 このフィールド内の文書ライブラリー・オブジェクトの形式は *SYSOBJNAM です。 ファイル・システム・オブジェクトと文書ライブラリー・オブジェクトは PATH_NAME フィールドを使用します。 |
SYSTEM_OBJECT_SCHEMA | SYS_DNAME | CHAR(10) NULL 可能 |
オブジェクトが入っているライブラリーの名前。 |
SYSTEM_OBJECT_TYPE | SYS_OTYPE | CHAR(8) NULL 可能 |
オブジェクトのオブジェクト・タイプ。 |
ASP_NAME | ASP_NAME | CHAR(10) NULL 可能 |
このオブジェクト用の記憶域が割り振られている補助記憶域プールの名前。 |
ASP_NUMBER | ASP_NUMBER | DECIMAL(5,0) NULL 可能 |
このオブジェクト用の記憶域が割り振られている補助記憶域プールの番号。 値 0 は *SYSBAS を示します。 |
OBJECT_NAME | ONAME | VARCHAR(128) NULL 可能 |
オブジェクトの SQL 名。 SQL によってサポートされるオブジェクトは、IBM® i 名と同じ名前を持つこともあれば、IBM i 名とは異なる、より長い名前を持つこともあります (SYSTEM_OBJECT_NAME)。 |
OBJECT_SCHEMA | OSCHEMA | VARCHAR(128) NULL 可能 |
スキーマ (ライブラリー) の SQL 名。 SQL 内のスキーマは、IBM i 名と同じ名前を持つこともあれば、IBM i 名とは異なる、より長い名前を持つこともあります (SYSTEM_OBJECT_SCHEMA)。 |
OBJECT_TYPE | OTYPE | VARCHAR(9)
NULL 可能 |
SQL オブジェクト・タイプ。
次の値が返される可能性があります。
|
AUTHORIZATION_LIST | AUTL | CHAR(10) NULL 可能 |
オブジェクトを保護するために使用される権限リストの名前。 このフィールドは、オブジェクトが権限リストによって保護されている場合にのみデータを含みます。 |
AUTHORITY_CHECK_SUCCESSFUL | CHKSUCCESS | CHAR(1)
NULL 可能 |
権限検査の結果。 このフィールドは、「1」(権限検査に成功した場合) または「0」(権限検査に失敗した場合) に設定されます。 |
CHECK_ANY_AUTHORITY | CHKANYAUTH | CHAR(1)
NULL 可能 |
システムが行う権限検査が、DETAILED_REQUIRED_AUTHORITY フィールドにリストされた「あらゆる」権限を対象とするかどうかを示します。このフィールドは、「1」(「あらゆる」権限が検査された場合) または「0」(特定の権限が検査された場合) に設定されます。 ある種の権限検査では、現在実行中のジョブと関連付けられているユーザーが DETAILED_REQUIRED_AUTHORITY フィールドにリストされた権限のうち 1 つ以上を持っている場合に当該機能は完了することができます。 「あらゆる」権限検査を行う一般的機能の 1 つは、多くのシステム・コマンド、API、およびサービスが使用するシステム・ロック命令です。 |
CACHED_AUTHORITY | CACHEAUTH | CHAR(1)
NULL 可能 |
オペレーティング・システム (OS) とライセンス内部コード (LIC) には、ユーザーがオブジェクトに対して現在持っている権限をキャッシュし、その権限を将来の権限検査のために使用することができる機能があります。このフィールドは、「1」(権限がキャッシュされた場合) または「0」(権限がキャッシュされなかった場合) に設定されます。 パフォーマンス上の理由から、権限収集コードは、キャッシュされた権限が初めて保管される最初の権限検査を、権限収集リポジトリーに記録します。キャッシュされた権限を使用する後続の権限検査は権限収集リポジトリーに記録されません。 ただし、後続の権限検査で、最初にキャッシュされた権限以上の権限を必要とする場合は、その権限検査の権限収集項目が記録されます。さらに、このフィールドが「1」に設定された権限収集項目で、必要な権限情報の正確な表示が常に提供されるとは限りません。システム・コードが、オブジェクトに対してジョブの現行ユーザーが持っている最大の権限をキャッシュするが、この権限のサブセットのみで後続の権限検査に合格できるようにすることも可能であるためです。これは OS および LIC 内ではまれな事例ですが、時にはこれが実行されることもあります。 |
REQUIRED_AUTHORITY | REQAUTH | VARCHAR(7)
NULL 可能 |
システムがオブジェクトにアクセスする際に必要とする権限。 DETAILED_REQUIRED_AUTHORITY フィールドがシステム定義オブジェクト権限レベルにマップされなければ、このフィールドはブランクになります。 権限フィールドの値を参照してください。 |
DETAILED_REQUIRED_AUTHORITY | DTLREQAUTH | VARCHAR(90) NULL 可能 |
システムがオブジェクトにアクセスする際に必要とする詳細個別権限値。 これは権限収集データ内の重要な情報です。 この詳細必要権限は、権限検査に合格するようにオブジェクトに対して設定できる権限を判別するために使用されるものです。オブジェクトの権限収集項目をすべて分析することにより、そのオブジェクトに対してどのような権限値を設定すれば、権限の観点からアプリケーションを正常に実行できるかが分かります。詳細権限フィールドの値を参照してください。 |
CURRENT_AUTHORITY | CURAUTH | VARCHAR(8)
NULL 可能 |
ユーザーがオブジェクトに対して現在持っている権限。 オブジェクトに対するユーザーの権限が見つかった場所を判別するには、AUTHORITY_SOURCE フィールドも評価する必要があります。 DETAILED_CURRENT_AUTHORITY フィールドがシステム定義オブジェクト権限レベルにマップされなければ、このフィールドはブランクになります。 権限フィールドの値を参照してください。 |
DETAILED_CURRENT_AUTHORITY | DTLCURAUTH | VARCHAR(99) NULL 可能 |
ユーザーがオブジェクトに対して現在持っている詳細権限値。 オブジェクトに対するユーザーの権限が見つかった場所を判別するには、AUTHORITY_SOURCE フィールドも評価する必要があります。 詳細権限フィールドの値を参照してください。 |
AUTHORITY_SOURCE | AUTHSRC | VARCHAR(50)
NULL 可能 |
権限検査に合格したか、または権限検査で不合格となった権限をシステムが見つけた場所。
|
GROUP_NAME | GROUP_NAME | CHAR(10) NULL 可能 |
権限検査を満たすために使用された権限を持つグループ・プロファイルの名前。 複数のグループ・プロファイルが、オブジェクトの累積現行権限に寄与した場合は、最後に寄与したグループがこのフィールドに入れられ、MULTIPLE_GROUPS_USED フィールドが「1」に設定されます。ユーザー・プロファイルにあるグループ・プロファイルおよび補足グループ・プロファイル・リスト内の順序に基づいて、グループ・プロファイルが権限の有無について検査されます。 |
MULTIPLE_GROUPS_USED | MLTGRPUSED | CHAR(1)
NULL 可能 |
複数のグループ・プロファイルがオブジェクトの DETAILED_CURRENT_AUTHORITY に寄与したかどうかを示します。 このフィールドは、「1」(複数のグループ・プロファイルが寄与した場合) または「0」(どのグループ・プロファイルの権限も使用されないか、1 つのみのグループ・プロファイルの権限が使用される場合) に設定されます。 |
ADOPT_AUTHORITY_USED | ADOPTUSED | CHAR(1)
NULL 可能 |
権限検査を満たすために借用権限が使用されるかどうかを示します。 このフィールドは、権限検査を満たすために借用側プログラム所有者の権限が使用される場合に「1」に設定されます。このフィールドは、権限検査を満たすために借用権限が使用されなかった場合には「0」に設定されます。さらに、このフィールドが「0」に設定されると、スレッドのプログラム呼び出しスタックに入っている特定のプログラムの名前が ADOPTING_PROGRAM_NAME フィールドに入ることがあります。 プログラムがリストされていれば、スレッド内の別の権限ソースから権限を入手できなかった場合に、そのプログラムは所有者の権限を借用し、権限検査を満たします。つまり、過度な権限が除去され、借用権限が使用された可能性があります。 プログラム名が ADOPTING_PROGRAM_NAME フィールドにリストされなければ、これは、呼び出しスタック内のどのプログラムもオブジェクトに対する権限検査を満たしていないことを示します。 |
MULTIPLE_ADOPTING_ |
MLTADOPTPG | CHAR(1)
NULL 可能 |
借用側の複数のプログラムの所有者が、結合された DETAILED_CURRENT_ADOPTED_AUTHORITY フィールドに権限を提供するかどうかを示します。 このフィールドは、「1」(借用側の複数のプログラムが寄与した場合) または「0」(借用側のどのプログラムも使用されないか、借用側のプログラムが 1 つのみ使用される場合) に設定されます。 |
ADOPTING_PROGRAM_NAME | ADOPTPGM | CHAR(10) NULL 可能 |
所有者の権限を借用するプログラムの名前。 複数の借用側プログラムが、オブジェクトの累積された DETAILED_CURRENT_ADOPTED_AUTHORITY に寄与した場合は、最後に寄与したプログラムがリストされ、MULTIPLE_ADOPTING_PROGRAMS_USED フィールドが「1」に設定されます。 プログラム呼び出しスタック上の最新の呼び出しから最も古い呼び出しの順に、借用側プログラムが権限の有無について検査されます。 |
ADOPTING_PROGRAM_SCHEMA | ADOPTLIB | CHAR(10) NULL 可能 |
借用側プログラムが入っているライブラリーの名前。 |
ADOPTING_PROCEDURE_NAME | ADOPTPRC | VARCHAR(256)
NULL 可能 |
借用側の統合言語環境 (ILE) プログラム・プロシージャーの名前。 |
ADOPTING_PROGRAM_TYPE | ADOPTPGMT | CHAR(8) NULL 可能 |
借用側プログラムのオブジェクト・タイプ。 |
ADOPTING_PROGRAM_ |
ADOPTPGMA | CHAR(10) NULL 可能 |
借用側プログラム用の記憶域が割り振られている補助記憶域プールの名前。 |
ADOPTING_PROGRAM_ |
ADOPTPGMAN | DECIMAL(5,0) NULL 可能 |
借用側プログラム用の記憶域が割り振られている補助記憶域プールの番号。 値 0 は *SYSBAS を示します。 |
ADOPTING_PROGRAM_ |
ADOPTPGMSN | DECIMAL(10,0) NULL 可能 |
借用側プログラムのステートメント番号。 |
ADOPTING_PROGRAM_OWNER | ADOPTPGMOW | CHAR(10) NULL 可能 |
借用側プログラム所有者の名前。
ADOPTING_PROGRAM_NAME フィールド内のプログラムがプログラム呼び出しスタック上に存在すると、借用側プログラム所有者の権限がシステムの権限検査アルゴリズムに組み込まれます。
注: プログラムの「借用権限使用」属性を使用して、以前の呼び出しからの借用権限をブロックすることができます。この属性は、プログラム変更 (CHGPGM) コマンドを使用して変更できます。
プログラムで「借用権限使用」値 *NO が設定されると、以前の呼び出しからの借用権限がシステムの権限検査アルゴリズムに組み込まれなくなります。
|
CURRENT_ADOPTED_AUTHORITY | CURADPT | VARCHAR(8)
NULL 可能 |
借用側プログラム所有者がオブジェクトに対して現在持っている権限値。 オブジェクトに対する借用側プログラム所有者の権限が見つかった場所を判別するためには、ADOPTED_AUTHORITY_SOURCE フィールドも評価する必要があります。 DETAILED_CURRENT_ADOPTED_AUTHORITY フィールドがシステム定義オブジェクト権限レベルにマップされなければ、このフィールドはブランクになります。 権限フィールドの値を参照してください。 |
DETAILED_CURRENT_ADOPTED_ |
DTLCURADPT | VARCHAR(99) NULL 可能 |
借用側プログラム所有者がオブジェクトに対して現在持っている詳細権限値。 オブジェクトに対する借用側プログラム所有者の権限が見つかった場所を判別するためには、ADOPTED_AUTHORITY_SOURCE フィールドも評価する必要があります。 詳細権限フィールドの値を参照してください。 |
ADOPTED_AUTHORITY_SOURCE | ADOPTAUTSR | VARCHAR(50)
NULL 可能 |
権限検査に合格したか、または権限検査で不合格となった借用権限をシステムが見つけた場所。
|
MOST_RECENT_ |
PGMINV | CHAR(10) NULL 可能 |
権限検査が行われたときにプログラム呼び出しスタック上にあった最新のプログラムの名前。 |
MOST_RECENT_ |
PGMLIBINV | CHAR(10) NULL 可能 |
最後に呼び出されたプログラムが入っているライブラリーの名前。 |
MOST_RECENT_ |
MODINV | VARCHAR (30)
NULL 可能 |
最後に呼び出された ILE プログラム内のバインド済みモジュールの名前。 |
MOST_RECENT_ |
PGMPRC | VARCHAR(256)
NULL 可能 |
最後に呼び出された ILE プログラム・プロシージャーの名前。 |
MOST_RECENT_ |
PGMTYP | CHAR(8) NULL 可能 |
最後に呼び出されたプログラムのオブジェクト・タイプ。 |
MOST_RECENT_ |
PGMASP | CHAR(10) NULL 可能 |
最新のプログラム用の記憶域が割り振られている補助記憶域プールの名前。 |
MOST_RECENT_ |
PGMASPN | DECIMAL(5,0) NULL 可能 |
最新のプログラム用の記憶域が割り振られている補助記憶域プールの番号。 値 0 は *SYSBAS を示します。 |
MOST_RECENT_ |
PGMSTMN | DECIMAL(10,0) NULL 可能 |
最新のプログラムのステートメント番号。 |
MOST_RECENT_USER_STATE_ |
USTPGM | CHAR(10) NULL 可能 |
権限検査が行われたときにプログラム呼び出しスタック上にあった最新のユーザー状態プログラムの名前。 ユーザー状態プログラムとは、IBM i OS の「システム状態」部分にも IBM プロダクトの「システム状態」部分にも属していないプログラムです。 顧客が作成したプログラム、アプリケーション・プロバイダーが作成したプログラム、および IBM 提供の多くのプロダクトはユーザー状態で実行されます。 |
MOST_RECENT_USER_STATE_ |
USTLIB | CHAR(10) NULL 可能 |
最後に呼び出されたユーザー状態プログラムが入っているライブラリーの名前。 |
MOST_RECENT_USER_STATE_ |
USTMOD | VARCHAR (30)
NULL 可能 |
最後に呼び出されたユーザー状態 ILE プログラム内のバインド済みモジュールの名前。 |
MOST_RECENT_USER_STATE_ |
USTPGMPRC | VARCHAR(256)
NULL 可能 |
最後に呼び出されたユーザー状態 ILE プログラム・プロシージャーの名前。 |
MOST_RECENT_USER_STATE_ |
USTPGMTYP | CHAR(8) NULL 可能 |
最後に呼び出されたユーザー状態プログラムのオブジェクト・タイプ。 |
MOST_RECENT_USER_STATE_ |
USTPGMASP | CHAR(10) NULL 可能 |
最新のユーザー状態プログラム用の記憶域が割り振られている補助記憶域プールの名前。 |
MOST_RECENT_USER_STATE_ |
USTPGMASPN | DECIMAL(5,0) NULL 可能 |
最新のユーザー状態プログラム用の記憶域が割り振られている補助記憶域プールの番号。 値 0 は *SYSBAS を示します。 |
MOST_RECENT_USER_STATE_ |
USTPGMSN | DECIMAL(10,0) NULL 可能 |
最新のユーザー状態プログラムのステートメント番号。 |
JOB_NAME | JOB_NAME | CHAR(10) NULL 可能 |
権限検査が行われたジョブのジョブ名。 |
JOB_USER | JOB_USER | CHAR(10) NULL 可能 |
権限検査が行われたジョブのジョブ・ユーザー。 |
JOB_NUMBER | JOBNBR | CHAR(6) NULL 可能 |
権限検査が行われたジョブのジョブ番号。 |
THREAD_ID | THREAD_ID | BIGINT NULL 可能 |
権限検査が行われたジョブの現在実行中のスレッドのスレッド ID。 |
CURRENT_USER | CURUSR | CHAR(10) NULL 可能 |
権限検査が行われたジョブのスレッドと関連付けられている現行ユーザー。 |
OBJECT_FILE_ID | OFILEID | BINARY(16) NULL 可能 |
パス名のファイル ID。 |
OBJECT_ASP_NAME | OASP | VARCHAR(10)
NULL 可能 |
パス名内のオブジェクト用の記憶域が割り振られている補助記憶域プールの名前。 |
OBJECT_ASP_NUMBER | OASPN | DECIMAL(5,0) NULL 可能 |
パス名内のオブジェクト用の記憶域が割り振られている補助記憶域プールの番号。 値 0 は *SYSBAS を示します。 |
PATH_NAME | PATH_NAME | DBCLOB(16M) NULL 可能 |
権限が検査されたオブジェクトのパス。 このフィールドには、文書ライブラリー・オブジェクト (*DOC および *FLR オブジェクト・タイプ)、「ルート」(/) 内のオブジェクト、QOpenSys 内のオブジェクト、およびユーザー定義ファイル・システム内のオブジェクトの情報が含まれています。このフィールドには、ライブラリー内のオブジェクトの情報は含まれません。 |
PATH_REGION | PATHREGION | CHAR(2) NULL 可能 |
パス名の国識別コード。 |
PATH_LANGUAGE | PATHLANG | CHAR(3) NULL 可能 |
パス名の言語 ID。 |
ABSOLUTE_PATH_INDICATOR | ABSPATHIND | CHAR(1)
NULL 可能 |
オブジェクトのパス名が絶対パスであるか相対パスであるかを示します。 このフィールドは、オブジェクトのパス名が区切り文字で始まっている場合に「Y」に設定されます (パス名の解決は「ルート」(/) ディレクトリーから開始されます)。このフィールドは、オブジェクトのパス名に相対パス名が含まれている場合には「N」に設定されます。さらに、このフィールドに「N」が入っている場合、RELATIVE_DIRECTORY_FILE_ID フィールドには、絶対パス名を形成するために使用される相対パスの親ディレクトリーのファイル ID が含まれます。 |
RELATIVE_DIRECTORY_FILE_ID | RELDIRID | BINARY(16) NULL 可能 |
PATH_NAME フィールド内のオブジェクトが入っている親ディレクトリーの相対ディレクトリー・ファイル ID。 このフィールドは、ABSOLUTE_PATH_INDICATOR フィールドが「N」のときに設定されます。 |
権限フィールドの値
- *ALL - 当該オブジェクトに対するすべての操作 (ただし、所有者に限定されている操作や権限リスト管理権限によって制御される操作を除く) を許可します。 この値は、詳細権限値 *OBJEXIST、*OBJMGT、*OBJOPR、*OBJALTER、*OBJREF、*READ、*ADD、*DLT、*UPD、*EXECUTE で構成されます。
- *CHANGE - 当該オブジェクトに対するすべての操作 (ただし、所有者に限定されている操作や、オブジェクト存在権限 、オブジェクト変更権限、オブジェクト参照権限、およびオブジェクト管理権限によって制御される操作を除く) を許可します。 この値は、詳細権限値 *OBJOPR、*READ、*ADD、*DLT、*UPD、*EXECUTE で構成されます。
- *USE - オブジェクト属性へのアクセスおよび当該オブジェクトの使用を許可します。 ユーザーはオブジェクトを変更できません。 この値は、詳細権限値 *OBJOPR、*READ、*EXECUTE で構成されます。
- *EXCLUDE - 当該オブジェクトに対するすべての操作が禁止されます。
詳細権限フィールドの値
- *OBJALTER: オブジェクト変更 - オブジェクトの属性を変更する (例えば、データベース・ファイルについてトリガーを追加したり除去したり、メンバーを追加したりする) 権限を提供します。
- *OBJEXIST: オブジェクト存在 - オブジェクトの存在および所有権を制御する権限を提供します。
- *OBJMGT: オブジェクト管理 - オブジェクトがデータベース・ファイルの場合に、セキュリティーの指定、オブジェクトの移動または名前変更、およびメンバーの追加を行う権限を提供します。
- *OBJOPR: オブジェクト操作可能 - オブジェクトの属性を調べたり、ユーザーがオブジェクトに対して持っているデータ権限によって指定されたとおりにオブジェクトを使用したりする権限を提供します。
- *OBJREF: オブジェクト参照 - オブジェクトを参照制約内の第 1 レベルとして指定する権限を提供します。
- *ADD: 追加 - オブジェクトに項目を追加する権限を提供します。
- *DLT: 削除 - オブジェクトから項目を除去する権限を提供します。
- *EXECUTE: 実行 - プログラムを実行したり、ライブラリーやディレクトリーを検索したりする権限を提供します。
- *READ: 読み取り - オブジェクトの内容にアクセスする権限を提供します。
- *UPD: 更新 - オブジェクト内の既存の項目の内容を変更する権限を提供します。
- *EXCLUDE: 除外 - オブジェクトに対するすべての操作が禁止されます。
- *AUTLMGT: 権限リスト管理 – 権限リスト・オブジェクトに対してユーザーとその権限の追加、変更、または除去を行うために必要な権限。
- *OWNER: 所有権 – ユーザーはオブジェクトを所有し、すべてのオブジェクト権限とデータ権限を持っています。