IBM RACF Advanced ConnectorのReconciliation AgentおよびProvisioning Agentコンポーネントをメインフレームにインストールする必要があります。次の各項では、これらのエージェントのインストールと構成について説明します。
次の表には、Reconciliation AgentおよびProvisioning Agentをインストールするための、ハードウェア、ソフトウェアおよび認可の前提条件を示します。
Reconciliation AgentとProvisioning Agentは両方とも、メインフレーム・システムでIBM RACFシステム・コマンドを実行するために必要な権限を持つサービス・アカウントと初期タスクが必要です。
また、これらのエージェントは、メインフレーム・システムのユーザー・アカウントで機能します。このユーザー・アカウントは、エージェントをデプロイする前にシステム・プログラマが作成しておく必要があります。
|
注意: Reconciliation AgentおよびProvisioning Agentのどちらのユーザー・アカウントも、管理APF認可ライブラリに配置する必要があります。これらのユーザー・アカウントには、少なくともメインフレームのSystemAdministratorsグループの権限が必要です。これらのユーザー・アカウントには、読取り、書込み、実行および変更権限を含む、メインフレームの通常の管理者を超える権限があります。 |
メインフレームで次の要件が満たされていることを確認します。
Reconciliation AgentおよびProvisioning Agentはそれぞれメモリー・サブプールを使用して最大負荷状態を管理します。これらのサブプールでは、操作用にメインフレームのメモリーが1.5〜2.0 MB必要です。これはReconciliation AgentとProvisioning Agentをインストールする際に構成します。
プログラム自体に加え、プログラムの実行元のユーザー・アカウントにも、ホスト・プラットフォームのサブプールにアクセスするための認可が必要です。これは、システム・プログラマが構成する必要があります。
メッセージ・トランスポート・レイヤーにMQ Seriesを使用している場合、MQ管理者は、コネクタに付属のスクリプトによってMQキューの作成を認可される必要があります。
Oracle Identity Managerには、送信キュー、受信キューおよびReconciliation Agent用の通信キューの3つが必要です。これらのキューはMQ管理者により作成され、通常はシステムで使用されているネーミング規則に基づいて名前が付けられます。これらの名前は、Reconciliation AgentおよびProvisioning Agentの起動のジョブ制御言語(JCL)プログラムに自動的に挿入されます。JCLプログラムは、メインフレーム・エージェントを起動するときにシステム・パラメータを構成する起動スクリプトです。
メッセージ・トランスポート・レイヤーにTCP/IPを使用している場合、管理者には、セキュリティ認可を指定するだけでなく、メインフレームにポートを作成するための認可も必要です。
Reconciliation Agentは、メインフレームのオペレーティング・システム外で、ユーザーのexitテクノロジを使用して動作します。つまり、オペレーティング・システムとは異なるLPARで稼働します。
特定のパスワード書式を維持することは、カスタムexitを使用する目的の1つです。Oracle Identity Managerのexitは、既存のexitが通常に機能できるよう、最後に呼び出されるexitとして開発されています。LPAR内のexitを編集した後には、LPARの初期プログラム・ロード(IPL)が必要な場合があります。
Reconciliation AgentおよびProvisioning Agentをデプロイするには、次のようにします。
インストール・メディアの次のファイルの内容を、任意のコンピュータの一時ディレクトリに抽出します。
etc/Provisioning and Reconciliation Connector/Mainframe_RACF.zip
jcl.xmiおよびlinklib.xmiファイルをメインフレーム宛に転送するかFTPでアップロードします。このとき、それぞれのファイルで、RECFM=FB、LRECL=80、BLKSIZE=3120およびDSORG=PSと指定します。
メインフレームのTSO環境にログインします。
CNTLデータセットを開き、ISPFコマンドラインから次のコマンドを実行します。
TSO RECEIVE INDA('IDF.CNTL.XMIT')
リストア・パラメータを指定するよう要求された場合には、次のように入力します。
DA('IDF.CNTL')
LINKLIBデータセットを開くには、ISPFコマンドラインから次のコマンドを実行します。
TSO RECEIVE INDA('IDF.LINKLIB.XMIT')
リストア・パラメータを入力するよう要求された場合には、次のように入力します。
DA('IDF.LINKLIB')
インストールを完了するには、Reconciliation AgentのIDF.CNTLメンバー#INSTVOY、およびProvisioning Agentのメンバー#INSTPIOの手順に従います。
exitは、初期プログラム・ロード(IPL)の際に定義されるz/OSの記憶域であるlinklistにあります。LDAP Gatewayでイベントをすべて取得するためには、IBM RACF認証リポジトリを共有する各LPARに、Reconciliation Agentおよびexitがインストールされている必要があります。
Reconciliation Agentのexitをインストールするには、次のようにします。
|
注意: 次のステップに示すコンソール・コマンドで、XXは、メインフレームを起動するために使用されるライブラリの1つであるSYS1.PARMLIBのメンバーのPROG接尾辞です。 |
動的exit機能を使用して、共通コマンドexitであるLOGRIX02、LOGPWX01およびLOGEVX01をインストールします。LOGRIX02、LOGOWX01およびLOGEVX01は、IBM RACFデータの操作または取得のための標準アセンブリ言語exitです。
|
関連項目: LOGRIX02、LOGOWX01およびLOGEVX01 exitの詳細は、IBM Security Serverのドキュメントを参照してください。 |
テスト用に、SYS1.PARMLIB(または同等のライブラリ)内にexitの動的アクティブ化のためのPROGxxメンバーを1つ以上設定し、必要な場合にはexitを簡単に削除できるようにすることをお薦めします。
SYS1.PARMLIBに、次の動的exit定義を含むメンバーを作成します。
EXIT ADD EXITNAME(ICHRIX02) MODULE(LOGRIX02) EXIT ADD EXITNAME(ICHPWX01) MODULE(LOGPWX01) EXIT ADD EXITNAME(IRREVX01) MODULE(LOGEVX01)
LOGRIX02、LOGOWX01およびLOGEVX01 exitをシステムのPARMLIBデータセットにコピーします。
コンソール・コマンドSET PROG=XXを使用して、LOGPWX01をICHPWX01 exitポイントとしてアクティブ化します。
コンソール・コマンドSET PROG=XXを使用して、LOGRIX02をICHRIX02 exitポイントとしてアクティブ化します。
コンソール・コマンドSET PROG=XXを使用して、LOGEVX01をIRREVX01 exitポイントとしてアクティブ化します。
製品のexitがロード・ライブラリに含まれるlinklistにインストールされている場合は、SDSFを介したISPFで、またはz/OSマスター・コンソールから、次のコマンドを実行してlinklistルックアサイド領域(LLA)をリフレッシュします。
/F LLA,REFRESH
z/OSマスター・コンソールまたはISPF - SDSFから、次のコマンドを入力して、製品がインストールされているロード・ライブラリがAPF認可であることを確認します。
/D PROG,APF
デフォルトでは、インストール・ロード・ライブラリがlinklistにある場合はAPF認可です。次のコマンドをIPLライブラリから実行すると、インストール・ロード・ライブラリがlinklistにあるかどうかをIPLの際に判別することができます。
SYS1.PARMLIB, member = IEASYSxx
ここで、xxはSYS1.PARMIB内のz/OS起動メンバーに対するユーザー接尾辞です。
exitのロードを確認するコマンドとサンプル出力を次に示します。
D PROG,EXIT,EXITNAME=ICHPWX01 CSV461I 14.42.10 PROG,EXIT DISPLAY 398 EXIT MODULE STATE MODULE STATE MODULE STATE ICHPWX01 LOGPWX01 A D PROG,EXIT,EXITNAME=ICHRIX02 CSV461I 14.43.56 PROG,EXIT DISPLAY 400 EXIT MODULE STATE MODULE STATE MODULE STATE ICHRIX02 LOGRIX02 A D PROG,EXIT,EXITNAME=IRREVX01 CSV461I 14.46.59 PROG,EXIT DISPLAY 414 EXIT MODULE STATE MODULE STATE MODULE STATE IRREVX01 LOGEVX01 A
Reconciliation Agent exitをアンインストールする場合は、次のいずれかの方法を使用します。
exitごとにSET PROG=XXコンソール・コマンドを実行します。このコマンドでは、XXを、SYS1.PARMLIB内のexit(メンバー)に対するPROG接尾辞で置換します。
次のコマンドを実行します。
EXIT DELETE EXITNAME(ICHRIX02) MODULE(LOGRIX02) EXIT DELETE EXITNAME(ICHPWX01) MODULE(LOGPWX01) EXIT DELETE EXITNAME(IRREVX01) MODULE(LOGEVX01)
この項では、次に示す、TCP/IPおよびMQ Seriesに対するメッセージ・トランスポート・レイヤーの構成タスクを説明します。
|
注意: メッセージ・トランスポート・レイヤー・プロトコルとしてTCP/IPとMQ Seriesのいずれかを構成する必要があります。この項では、使用するプロトコルに対応するステップのみを実行してください。 |
この項では、メッセージ・トランスポート・レイヤーとしてTCP/IPを構成する方法を説明します。TCP/IPの使用方法の詳細はシステム・プログラマに確認してください。メッセージのプーリング、およびメインフレームやLDAP Gatewayサーバーの両方の負荷を大幅に減らすことができる、ステートフル接続の確立を目的とします。TCP/IP接続をLDAP Gatewayに対して確立するには、次のようにします。
Provisioning Agent初期タスクを開始します。このタスクも、指定されたIPアドレスおよびポート番号のLDAP Gatewayに対してTCP/IP接続を確立するよう事前に設定されています。
Reconciliation Agentにも同様の手順を適用します。LDAP Gatewayを起動し、Reconciliation Agent初期タスクを開始します。
TCP/IPをメッセージ・トランスポート・レイヤーとして使用するには、次のIPアドレスが必要です。
メインフレームで使用されるIPアドレス
ルーター用のIPアドレス
ドメイン・ネーム・サーバー用のIPアドレス
|
注意: TCP/IPをメッセージ・トランスポート・レイヤーとして使用する場合、データ構造のセキュリティ認可の指定だけでなく、メインフレームへのポートの作成のためにシステム・プログラマのサポートが必要な場合もあります。 |
Reconciliation AgentおよびProvisioning Agent JCLを編集するには、次のようにします。
インストール認証のジョブ・カードを挿入します。
PARM ='TCPN=TCPIP'の値を実行中のTCP/IP初期タスクの名前に変更します。
IPアドレスを、LPAR(Provisioning Agentを起動するz/OSシステム)のアドレスに変更します。
ポート番号を、LPAR(Provisioning Agentを起動するz/OSシステム)に割り当てられたポートに変更します。
インストールにバッチ適用が必要な場合には、適切なVSAMGETU文を挿入します。次のコードに、IBM RACF ACIDユーザーIDのバッチ・ロードを示します。
//USR98S01 JOB (,xxxxxxxx,,'PROVISIONING AGENT UPLOAD PROCESS FOR ACIDS'), // 'UPLOAD CATS TO XELLTE', // REGION=2M,CLASS=6,MSGCLASS=Q, // USER=RACF_USER_ID,TIME=1440, // NOTIFY=&SYSUID,TYPRUN=HOLD //* /*ROUTE PRINT CLE //* //PIONEERX EXEC PGM=PIONEERX,REGION=0M,TIME=1440, // PARM=('TCPN=TCPIP', // 'IPAD=HOST_IP_ADDRESS_OF_IBM_RACF', // 'PORT=6500', // 'DEBUG=Y') //STEPLIB DD DISP=SHR,DSN=PPRD.IDF.LINKLIB // DD DISP=SHR,DSN=SYS2.TCPACCES.V60.LINK // DD DISP=SHR,DSN=TCPIP.SEZATCP //SYSOUT DD SYSOUT=* //SYSPRINT DD SYSOUT=* //SYSDBOUT DD SYSOUT=* //SYSABOUT DD SYSOUT=* //ABENDAID DD SYSOUT=* //SYSUDUMP DD SYSOUT=* //VSAMGETU DD DISP=SHR,DSN=LXT99S.FEEDFILE.SORTED //*
Reconciliation Agentの場合、ジョブ制御は実行カードの例外と同じです。次に例を示します。
//STEP1 EXEC PGM=VOYAGERX,REGION=0M,TIME=1440,
// PARM=('TCPN=TCPIP',
// 'IPAD=&SERVER',
// 'PORT=&PORT',
// 'DEBUG=Y',
// 'ESIZE=16',
// 'DELAY=00',
// 'STARTDELAY=10',
// 'PRTNCODE=SHUTRC')
各要素の意味は次のとおりです。
ESIZE=16はAES暗号化を示すために使用されます。
DELAYはこのコネクタでは使用されません。このプロパティのデフォルト値(00)を変更しないでください。
STARTDELAY=10は推奨値です(秒単位)。
PRTNCODE=SHUTRCを指定すると、Reconciliation Agentが停止した後ですべてのMVS条件コードが表示されます。
PRTNCODE=TERMRCを指定すると、Reconciliation Agentが停止した後でMVS条件コード0000(正常終了を示す)が表示されます。
DEBUGにはReconciliation AgentとProvisioning Agentの両方に対して次のいずれかを指定できます。
デバッグ内容を出力しない場合はN
デバッグ内容を出力する場合はY
詳しいデバッグ内容を出力する場合はZ
|
注意: メンバーの編集を試行した際に、「データセットは使用中です」というメッセージが表示された場合には、[F1]キーを2回押して、編集対象のメンバーを表示します。例外の原因になったジョブの名前が表示されます。z/OSコンソールで、pまたはcコマンドを使用してジョブを削除することができます。 |
Reconciliation Agentを操作する際には、次のガイドラインを適用してください。
Reconciliation Agentを起動する前に、サブプール(RUNSTART.JCL)を起動する必要があります。サブプールは、メッセージ作成のためのメモリー内記憶域として使用されます。
TCP/IPを使用しているため、LDAP Gatewayを最初に起動する必要があります。Reconciliation Agentを最初に起動すると、LDAP Gatewayが使用できないためにRETCODE=-01およびERRORNO=61のエラーがスローされます。
この項では、Provisioning AgentおよびReconciliation Agentのインストール、およびIBM MQ Seriesを使用できるようそれらを構成する方法を説明します。
Provisioning Agentでは、MQインストールの次のメンバーが使用されます。
Provisioning Agentを構成するには、次のようにします。
QMGR PARMフィールドのQMGRをキュー・マネージャの名前に変更します。キュー・マネージャ名は、システムのMQキュー・マネージャに指定された実際のタスク名です。
必要な場合には、DebugオプションをYに設定してデバッグ・オプションを有効化します。
|
注意: この設定により、大量の出力が生成されます。テスト目的でのみ実行してください。 |
Idf.LinklibをOracle Identity Manager Authorized Load Module Libraryに指定した名前に変更します。
インストール認証のジョブ・カードを挿入します。
IDF.CNTLをOracle Identity Manager Control Libraryに指定した名前に変更します。IDF.CNTLの詳細は、「手順2: Reconciliation AgentおよびProvisioning Agentのデプロイ」を参照してください。
SYS1.PROCLIBを、使用するJES2 PROCLIBの名前に変更します。
Reconciliation Agent初期タスクを、初期タスクとして開始するよう変更します。
PIOCOPYを発行します。選択したJES2 PROCLIBにメンバーVOYAGERが存在することを確認します。
すべてのQMGRをキュー・マネージャの名前に変更します。キュー・マネージャ名は、システムのMQキュー・マネージャに指定された実際のタスク名です。
すべてのSTGCLASSを、2つのProvisioning Agentキューの記憶域クラスの名前に変更します。
|
注意: パフォーマンス上の理由から、2つのProvisioning Agentキューを異なる記憶域クラスに割り当てる必要がある場合があります。Reconciliation Agentも使用している場合には、Reconciliation Agentキューに別の記憶域クラスを使用する場合もあります。 |
インストール認証のジョブ・カードを挿入します。
PARMのQMGRをキュー・マネージャの名前に変更します。
MQMHLQを、MQシステム・データセットの上位レベルの修飾子に変更します。
IDF.CNTLをOracle Identity Manager Control Libraryに指定した名前に変更します。
|
注意: セキュリティ環境によっては、Provisioning Agentを初期タスクとして定義し、データセットおよびMQリソースへのアクセス権を付与する必要がある場合もあります。 |
Provisioning Agentを起動できます。
|
注意: Provisioning AgentはMQ Seriesに依存しているため、Provisioning Agentを開始する前にキュー・マネージャがアクティブであることを確認する必要があります。 |
Provisioning Agentが初期タスクの場合には、コンソールからS PIONEERを実行してProvisioning Agentを起動します。Provisioning Agentがバッチ・タスクの場合には、PIONEER JCLを発行します。
Control LibraryのReconciliation Agentインストールのメンバーは次のとおりです。
Reconciliation Agentを構成するには、次のようにします。
QMGR PARMフィールドのQMGRをキュー・マネージャの名前に変更します。キュー・マネージャ名は、システムのMQキュー・マネージャに指定された実際のタスク名です。
必要な場合には、DebugオプションをYに設定してデバッグ・オプションを有効化します。
|
注意: この設定により、大量の出力が生成されます。テスト目的でのみ実行してください。 |
IDF.LINKLIBをOracle Identity Manager Authorized Load Module Libraryに指定した名前に変更します。
メンバーVOYINIT、VOYKILLおよびVOYSTOPを編集します。
IDF.LINKLIBをOracle Identity Manager Authorized Load Module Libraryに指定した名前に変更します。
インストール認証のジョブ・カードを挿入します。
IDF.CNTLをOracle Identity Manager Control Libraryに指定した名前に変更します。
SYS1PROCLIBを、VOYAGERを初期タスクとして起動するJES2 PROCLIBの名前に変更します。
|
注意: 選択したJES2 PROCLIBにメンバーVOYAGER、VOYINIT、VOYKILLおよびVOYSTOPが存在することを確認します。 |
MQ Seriesのインストールでは、メンバーVOYMQを編集します。
すべてのQMGRをキュー・マネージャの名前に変更します。キュー・マネージャ名は、システムのMQキュー・マネージャに指定された実際のタスク名です。
すべての+STGCLASS+を、Reconciliation Agentキューの記憶域クラスの名前に変更します。
|
注意: Reconciliation Agentを、Provisioning Agentキューで使用しているのとは異なる記憶域クラスに割り当てることが必要な場合もあります。 |
インストール認証のジョブ・カードを挿入します。
パラメータのQMGRをキュー・マネージャの名前に変更します。キュー・マネージャ名は、システムのMQキュー・マネージャに指定された実際のタスク名です。
+MQMHLQ+を、MQシステム・データセットの上位レベルの修飾子に変更します。
IDF.CNTLをOracle Identity Manager Control Libraryに指定した名前に変更します。
|
注意:
|
Reconciliation Agentを起動できます。
Reconciliation Agentの起動プロセス
Reconciliation Agentを起動するには、次のようにします。
コンソールからS VOYINITを実行してサブプールを作成することで、VOYINITタスクを開始します。
|
注意: VOYKILLが実行されないかぎり、これを実行する必要があるのは1回のみです。 |
VOYINITが終了したら、コンソールからS VOYAGERを実行してReconciliation Agentを起動します。
サブプールをそのままの状態で維持しながらVOYAGERを一時停止するには、コンソールからS VOYSTOPを実行してVOYSTOPを開始します。Reconciliation Agentを一時停止してサブプールを破棄するには、コンソールからS VOYKILLを実行してVOYKILLを開始します。VOYKILLを使用すると、サブプールに保存されているメッセージがすべて失われます。
IBM RACFでは、サロゲート・ユーザーは、パスワードを知ることなく別のユーザーのかわりに操作を行うことが許可されます。Reconciliation AgentおよびProvisioning Agentでサロゲート・ユーザーIDのRACFアクセスを有効にするには、次のようにします。
IBM RACFコマンドの実行およびIBM RACFデータベースの変更に必要な認可のあるユーザー・アカウントを使用して、TSOにログインします。たとえば、IBMUSERには通常その認可があります。
TSOコマンドライン(またはISPFのオプション6)から、次のIBM RACFコマンドを実行します。
RDEFINE FACILITY IRR.RADMIN.* UACC(NONE)
このコマンドにより、FACILITYクラスのIRR.RADMIN.*という名前のIBM RACFリソースが定義されます。
TSOコマンドライン(またはISPFのオプション6)から、次のIBM RACFコマンドを実行します。
PERMIT IRR.RADMIN.* CLASS(FACILITY) ID(STARTER) ACCESS(READ)
このコマンドにより、ユーザー・アカウントSTARTER(初期タスクのユーザー・アカウントの例)にリソースIRR.RADMIN.*への読取りアクセス権が付与されます。これにより、初期タスクがRACFコマンドを実行できるようになります。
TSOコマンドライン(またはISPFのオプション6)から、次のIBM RACFコマンドを実行します。
ALTUSER STARTER SPECIAL
このコマンドにより、ユーザー・アカウントSTARTERにSPECIAL属性が付与され、初期タスクによるIBM RACFユーザー・プロファイルへのアクセスおよび変更が可能になります。
TSOコマンドライン(またはISPFのオプション6)から次のコマンドを実行します。
SETROPTS RACLIST(FACILITY) REFRESH
このコマンドにより、IBM RACFの記憶域内の表が更新され、作成した定義がすぐにアクティブ化されます。
ISPFを終了します。
Reconciliation AgentおよびProvisioning Agentの設定と実行には、2つの異なるJCLがあります。エージェントごとに1つのJCLメンバーがあります。RUNPIONXおよびRUNVOYAXは、初期タスクを設定する顧客のためのサンプルです。
RUNPIONXのパラメータ:
TCPN: TCPプロセスの名前
IPAD: Provisioning Agentが稼働しているコンピュータのIPアドレス
PORT: Provisioning Agentの着信接続ポート
DEBUG: 診断出力を表示するためのデバッグ・スイッチ
RUNVOYAXのパラメータ:
TCPN: TCPプロセスの名前
IPAD: Reconciliation Agentが接続しているコンピュータのIPアドレス
PORT: Reconciliation Agentの発信接続ポート
DEBUG: 診断出力を表示するためのデバッグ・スイッチ
各プログラムのソース・コードは次のとおりです。
RUNPIONX:
//ADCDMPPT JOB SYSTEMS,MSGLEVEL=(1,1),MSGCLASS=X,CLASS=A,PRTY=8,
// NOTIFY=&SYSUID,REGION=4096K
//PIONEERX EXEC PGM=PIONEERX,REGION=0M,TIME=1440,
// PARM=('TCPN=TCPIP',
// 'IPAD=HOST_IP_ADDRESS_OF_IBM_RACF_SYSTEM',
// 'PORT=5790',
// 'DEBUG=Y')
//STEPLIB DD DISP=SHR,DSN=IDF.LINKLIB
// DD DISP=SHR,DSN=TCPIP.SEZATCP
//SYSPRINT DD SYSOUT=X
//SYSUDUMP DD SYSOUT=X
//
RUNVOYAX:
//VOYAGER JOB SYSTEMS,MSGLEVEL=(1,1),MSGCLASS=X,CLASS=A,PRTY=8,
// NOTIFY=&SYSUID,REGION=4096K
//STEP1 EXEC PGM=VOYAGERX,REGION=0M,TIME=1440,
// PARM=('TCPN=TCPIP',
// 'IPAD=LDAP_GATEWAY_IP_ADDRESS',
// 'PORT=5190',
// 'DEBUG=Y',
// 'ESIZE=16',
// 'DELAY=00',
// 'STARTDELAY=10',
// 'PRTNCODE=SHUTRC')
//STEPLIB DD DSN=IDF.LINKLIB,DISP=SHR
//CACHESAV DD DSN=ADCDM.CACHESAV,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*