当シリーズを始めた経緯や、検証環境の情報についてはこちらのindexページをご覧ください。
IFAPRDxxとは
システム上でどのソフトウェア機能の使用を許可するかを記述する使用可能化ポリシーを定義するメンバー
IFAPRDxxは、システムにインストールされているIBM製品やサードパーティ製品のライセンス管理に使用され、z/OSの製品登録サービス(Product Registration Service)と連携して機能します。
初期設定時、各製品は「自分は実行を許可されているか」を検査するための登録要求のコマンドをOSに対して発行します。OSは登録要求のコマンドを処理する際にIFAPRDxx内の定義を確認し、その製品が使用可能な状況であるかを示すReturn Codeを発行します。製品を使用可能な状態にするには、IPL時に参照されるIFAPRDxxでその製品の定義内でSTATE (ENABLED) と指定する必要があります。
「z/OS MVS Product Management」プロダクトの登録と使用可能化 プロダクト登録と使用可能化の概説
実機検証
各パラメーターの詳細についてはリンク先のマニュアルをご参照ください。
静的変更(IPL)
以下のように、使用する製品を定義します。
-
PRODUCTステートメント: 特定のソフトウェア製品や機能がそのシステムで実行可能かどうかを定義するステートメント
-
OWNER: 製品の開発元の名前
-
NAME: 製品の名称
-
ID: 製品のプログラム番号(以降: PID)
z/OS V2R1~V2R5は5650-ZOS, z/OS 3.1~は5655-ZOS -
VERSION: 製品のメジャーバージョン
-
RELEASE: 製品のリリース番号
-
MOD: 修正版
上図は5650-ZOS というPIDを持つ製品(z/OS)において、すべてのバージョン、リリースを対象とする設定 -
FEATURENAME: 有効化する機能名
-
STATE:
・ENABLED: 製品・機能の使用を許可
・DISABLED: 製品・機能の使用を禁止
・NOTDEFINED: すでにENABLEDや DISABLEDとして登録されていた製品の定義を削除
-
IEASYSxx内でIFAPRDxxのサフィックスを指定します。IPLを実行すると以下のメッセージが出力されます。
IEE252I:
メンバー member がメッセージ・テキストの parmlib データ・セット parmdsname で検出されたときに、ハードコピー・ログでのみ出される通知メッセージです。
「MVSシステム・コード」IEEメッセージ IEE252I
想定される注意点/考慮点
メンバー内の記述を誤ると、稼働を想定した製品を使用可能にすることができず、再度IPLを実行する必要がある。
導入時、IBMはオーダーした製品を有効化するためのIFAPRD00メンバーを提供します。その後追加の製品を使用したい場合は、このIFAPRD00をもとに編集・定義を追加します。この定義に誤りがあると、使用を想定した製品を有効化することができず、再度IPLが必要になります。
-
例:バージョンアップ後に既存のIFAPRDxxをコピーして使う際、PIDを変更し忘れる
PIDとは、IBMのソフトウェア製品を識別するための一意の製品番号を意味し、どの製品に対して実行許可を与えるかの判断にも使用されます。
例えば、IFAPRDxx内の記述をz/OS V2R5以前の定義(5650-ZOS)のままz/OS 3.1をIPLすると、システムはz/OS 3.1を動かす許可(5655-ZOSの定義)が見つからないと判断します。この場合、使用するIFAPRDxx内のPIDの記述を更新し、再度IPLを実行する必要があります。(参考) Upgrade Workflowに、PIDの変更に伴いIFAPRD00の定義を確認するというステップについて記載があります。
「zOS 3.1 Upgrade Workflow from zOS V2R4 - OA67445」
Step 5.2.1 :BCP: Review your IFAPRD00 member for the z/OS 3.1 program number
-
使用可能にならなかった製品をスタートすると、どのようなメッセージが出るのか
今回は検証を目的としてIFAPRDxxで特定の製品をDISABLEDと指定し、その製品のアドレス空間を立ち上げたときに出力されるメッセージを確認しています。
IFAPRDxxを編集し、STATEパラメーターをDISABLEDに変更します。
(通常の運用でDISABLEDに変更することは滅多にありませんが)今回はRACFをDISABLEDにし、IPLを実行してみます。

IFA104I:
システムは、プロダクトの登録要求を拒否した。 以下のいずれかです。
そのプロダクトはプロダクト使用可能化ポリシーで使用不可 (DISABLED) 状態である。
そのプロダクトはポリシーでは定義されていないが、登録要求ではポリシーにエントリー がない場合にはそのプロダクトは使用不可にするように指示している。
「z/OS MVS System Messages, Vol 8 (IEF-IGD)」 IFAメッセージ IFA401I
IRR418I:
このシステムでは z/OS® バージョン 1 リリース 2 以上が実行されています。 RACF の初期設定処理は、SYS1.PARMLIB の IFAPRDxx メンバーに もとづいて登録チェックを行いました。 メッセージは、以下のことを意味しています。
-RACF プロダクトが使用可能になっていなかった
-RACF の初期設定が継続されなかった
-制御が RACF コマンド・プロセッサーや RACF ユーティリティーに渡されたか、あるいは RACF サブシステム (IRRSSM00/IRRSSI00) または RACF 動的解析 (IRRDPI00) について初期設定が試みられました。
「z/OS for Security Server RACF Messages and Codes」システム・オペレーターに対するIRRメッセージ RACF処理メッセージ IRR418I
RACFは他のアドレス空間やサブシステムが開始される前の段階で有効化されるように設計されています。RACFが正常に起動されていないままTSOでログオンしようとすると以下のようなメッセージが出力されました。IRR418IとIKJ56420Iのメッセージが出力されたこの状況は、RACFが使用可能な状態にならなかったため、TSOがユーザーの権限を確認できずログオンを拒否している状態を意味します。

IKJ56420I:
LOGON コマンドで入力したユーザーIDが、UADSに見つからないか、またはTSOの使用を許可されていません
「z/OS TSO/E メッセージ」TSO/E端末メッセージ IKJ56420I
上の例のように、各製品が正常に使用可能な状態にならなかった場合はそれぞれに対応した使用不可を知らせるメッセージが出力されます。正常に製品を有効化できなかった際は、IFAPRDxxや各製品に関するエラーメッセージが出ていないかを確認します。
動的変更
IFAPRDxxは、SET PROD=xx でメンバーの動的変更が可能です。
メンバーが動的に変更がされた時点で、プロダクトの使用可能化ポリシーは修正・置換されますが、すでに実行している機能のインスタンスには影響を与えません。そのため、特定の製品(起動済み)をDISABLEDに動的に変更した場合は、該当機能を停止させる必要があります。
Displayコマンドでの確認
D PROD,STATE で現在アクティブな使用可能化ポリシーを表示することができます。IPL時にも、オペレーターが SET PROD で動的変更をした際にも、システムはIFAPRDxxパラメーターを自動的にリストはせず、このコマンドを実行する必要があります。
枠線内のカラムはポリシー内で定義されている状態(STATE)を意味し、ENABLED、DISABLEDで示されています。
「MVS System Commands」 DISPLAYコマンド 登録済み製品の表示 (PROD)
(補足)z/OS 3.1以降ではSDSFのパネルからも同じ情報を確認することができます。


終わりに
ここまでお読みいただきありがとうございました。
他のPARMLIBメンバーについてもぜひご覧ください。
PARMLIBメンバー記事indexページはこちら






