Db2® カタログ表に対する SELECT アクセス権限を付与するサンプル・ジョブ
Db2® カタログ表への SELECT アクセス権限を PUBLIC に付与するための下記のジョブが FMN.SFMNSAM1 に用意されています。
- FMN2GSC2 (Db2® V12)
- FMN2GSC3 (Db2® V13)
- FMN2GVW2 (Db2® V12)
- FMN2GVW3 (Db2® V13)
- FMN2GV22 (Db2® V12)
- FMN2GV23 (Db2® V13)
新しいバージョンの Db2® をインストールするたびに、これらのメンバーの GRANT ステートメントを確認する必要があります。新しいバージョンの Db2® には、新しいカタログ表または更新されたカタログ表が含まれる場合があり、FM/Db2 はこれらの新しい表や更新された表へのアクセス権限が必要になります。
サンプル・ジョブ FMN2GSCn は、Db2® カタログ表への SELECT アクセス権限を PUBLIC に付与します。これは、FM/Db2 ユーザーが確実に Db2® カタログ表にアクセスできるようにするための最も簡単な方法です。同時に最も安全でない方法でもあります。
サンプル・ジョブ FMN2GVWn
- Db2® カタログ表に、Db2® カタログ表と同じ名前を持つ別の所有者でビューを作成します。
- 新しく作成したビューへのアクセス権限を PUBLIC に付与します。
これらのビューを使用する予定の場合は、FMN2POPI の CATOWNER パラメーターを、これらのサンプル・ジョブで指定した所有者の値と一致するように設定する必要があります。
FMN2POPI について詳しくは、FMN2POPI を参照してください。FMN2POPT でのオプションの変更については、デフォルト・オプションの変更を参照してください。
サンプル・ジョブ FMN2GV2n
- Db2® カタログ表に、Db2® カタログ表と同じ名前を持つ別の所有者でビューを作成します。
- これらのビューには、FM/Db2 が通常アクセスする Db2® カタログ表がすべて含まれています。いくつかの Db2® カタログ表は参照されず、そのため、それらの Db2® カタログ表のビューは定義されません。
- 参照される Db2® カタログ表のすべての列がビューに組み込まれるわけではありません。組み込まれる列は、FM/Db2 の正しい動作に必要なものです。追加の列を省略すると、FM/Db2 の機能に影響を与え、場合によっては製品が使用不能になる可能性があります。
- 新しく作成したビューへのアクセス権限を PUBLIC に付与します。
これらのビューを使用する予定の場合は、FMN2POPI の CATOWNER パラメーターを、これらのサンプル・ジョブで指定した所有者の値と一致するように設定する必要があります。
FMN2POPI について詳しくは、FMN2POPI を参照してください。FMN2POPT でのオプションの変更については、デフォルト・オプションの変更を参照してください。
注:
- Db2® カタログ表のビューを作成して、FMN2POPI マクロの CATOWNER パラメーターを変更する場合に FM/Db2 が Db2® カタログへのアクセスを試行する方法を下記の例にまとめます。この例では、ビューの所有者 (CATOWNER の値) が SYSIBMV であると想定しています。
- FM/Db2 は、SELECT * FROM SYSIBMV.SYSTABLES のような SQL ステートメントを生成します。
- FM/Db2 は、この SQL ステートメントの実行を試行します。
- この試行が失敗した場合、FM/Db2 は SELECT * FROM SYSIBM.SYSTABLES などを使用して Db2® カタログにアクセスしようとしません。
- まとめると、FM/Db2 は、指定された CATOWNER の値を該当カタログ表の所有者として使用して Db2® カタログへのアクセスを 1 回だけ試行します。
- Db2® カタログ表またはビューに対する SELECT アクセスをすべてのユーザー (つまり、PUBLIC) に認可したくない場合は、サンプル・ジョブ内の GRANT ステートメントをカスタマイズして、個々のユーザー ID をリストするようにすることができます。
- Db2® カタログ表の一部の情報だけしか公開したくない場合には、FM/Db2 で必要とされる Db2® カタログ表とその表内の列のみを参照するビュー (「最小サブセット」) を定義できます。これを行うサンプル・ジョブが、FMN.SFMNSAM1 に用意されています。
- FMN2GV22 (Db2® バージョン 12 サブシステム用)
- FMN2GV23 (Db2® バージョン 13 サブシステム用)
- これらのサンプル・ジョブのビュー定義は、FM/Db2 で必要とされる列のみを参照し、一部のカタログ表しか組み込まれていません。その結果、実際の Db2® カタログ表のうちの一部の列のみが組み込まれたビューを使用することになります。例えば、FM/Db2 のオプション 3.4 では、特定のカタログ表のすべての列を表示するオプションを提供しています。表示される列は、ビューの列を反映していますが、カタログ表のすべての列であるとは限らないため、製品の有用性が低下します。
- ご使用のシステムのセキュリティー基準によって SYSIBM.*AUTH 表へのアクセスが防止される場合は、これらのビューを省略するか、ビューを作成してアクセス権限を付与しないようにすることができます。このようにすると、Object Privileges utility (オブジェクト特権ユーティリティー) (オプション 3.5) が無効になります。
- 異なる Db2® サブシステムには、異なるビューを定義できます。例えば、開発システムに対しては FMN2GVW2 にビューを定義し、実動システムに対しては FMN2GV22 にビューを定義できます。ただし、使用する所有者 (CATOWNER の値) が、FM/Db2 がアクセスするすべての Db2® サブシステムで一貫していることを確認してください。
- FM/Db2 で使用する Db2® カタログ表にビューを定義する場合は、カタログ表のオブジェクト名を変更することはできず、所有者のみを変更できます。例えば、表 SYSIBM.SYSTABLES にビュー SYSIBMV.SYSTABLES を定義することは有効です。しかし、表 SYSIBM.SYSTABLES にビュー SYSIBM.TABLES を定義することは無効です。FM/Db2 で使用するために定義した、ビューのカタログ表の列を名前変更することはできません。作成するビューの所有者 (CATOWNER の値) は、各ビューで同じでなければなりません。