Oracle Identity Manager IBM RACF Advanced ConnectorのProvisioning AgentおよびReconciliation Agentコンポーネントは、メインフレームにインストールされます。この章では、次に示す項で、Provisioning AgentおよびReconciliation Agentのインストールおよび構成について説明します。
次の表には、Provisioning AgentおよびReconciliation Agentをインストールするための、ハードウェア、ソフトウェアおよび認可の前提条件を示します。
Provisioning AgentおよびReconciliation Agentはメインフレームにインストールされます。どちらにも初期タスクのインストールが必要です。また、これらのエージェントは、メインフレーム・システムのユーザーIDで機能します。このユーザーIDは、Provisioning AgentおよびReconciliation Agentのデプロイ時にメインフレームの管理者が作成する必要があります。
注意: Provisioning AgentおよびReconciliation AgentのどちらのユーザーIDも、管理APF認可ライブラリに配置する必要があります。これらのユーザーIDには、少なくともメインフレームのSystemAdministrators グループの権限が必要です。これらのユーザーIDには、読取り、書込み、実行および変更権限を含む、通常の管理者を超える権限があります。 |
IBM RACF Advanced Connectorには、次に示すメインフレーム環境要件があります。
各エージェントは、メモリー・サブプールを使用して最大負荷条件を管理します。これらのサブプールでは、操作用にメインフレームのメモリーが1.5〜2.0 MB必要です。これは、Provisioning AgentおよびReconciliation Agentのインストール時に構成されます。
プログラム自体に加え、プログラムの実行元のユーザーIDにも、ホスト・プラットフォームのサブプールにアクセスするための認可が必要です。これは、メインフレームの管理者が行う必要があります。
メッセージ・トランスポート・レイヤーにMQ Seriesを使用している場合、MQ管理者は、コネクタに付属の自動化されたスクリプトからのMQキューの作成を認可されている必要があります。
Oracle Identity Managerには、送信キュー、受信キューおよびReconciliation Agent用の通信キューの3つが必要です。これらのキューはMQ管理者により作成され、通常はシステムで使用されているネーミング規則に基づいて名前が付けられます。これらの名前は、Provisioning AgentおよびReconciliation Agentの起動のジョブ制御言語(JCL)プログラムに自動的に挿入されます。
メッセージ・トランスポート・レイヤーにTCP/IPを使用している場合、管理者には、セキュリティ認可を指定するだけでなく、メインフレームにポートを作成するための認可も必要です。
Reconciliation Agentは、メインフレームのオペレーティング・システム外で、ユーザーのexitテクノロジを使用して動作します。つまり、オペレーティング・システムとは異なるLPARで稼働します。
通常、メインフレーム製品には、特定のパスワード書式の保持用などにカスタムのexitがインストールされています。Oracle Identity Managerのexitは、既存のexitが通常に機能できるよう、最後に呼び出されるexitとして開発されています。論理パーティション(LPAR)内のexitを編集した後には、LPARの初期プログラム・ロード(IPL)が必要な場合があります。
z/OS上にIBM RACF Advanced Connectorのコンポーネントをインストールする初期ステップは、次のとおりです。
それぞれにRECFM=FB
、LRECL=80
、BLKSIZE=3120
およびDSORG=PS
と指定して、JCL.XMIT
およびLINKLIB.XMIT
をz/OSサーバーに転送するかFTPにアップロードします。
z/OSサーバーの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はLPAR内に存在するため、IPLのインストールを完了する必要があります。LDAP Gatewayでイベントをすべて取得するためには、IBM RACF認証リポジトリを共有する各LPARに、Reconciliation Agentおよびexitがインストールされている必要があります。
z/OSシステムにexitをインストールする通常の手順に従います。Reconciliation Agentのexitをインストールするには、次のようにします。
動的exit機能を使用して、共通コマンドexitであるLOGRIX02
、LOGPWX01
およびLOGEVX01
をインストールします。
テストのために、SYS1.PARMLIB
(またはその等価)にPROGxx
メンバーを1つ以上設定し、必要な場合にはexitを簡単に削除できるようにすることをお薦めします。
次のコマンドはPARMLIB
リストを構成します。これらのコマンドは、オペレータ・コンソール・コマンドで追加することも可能です。次に示すサンプル・コマンドは、Reconciliation Agentのexitを適切なIBM RACFのexitに追加するために使用されます。
EXIT ADD EXITNAME(ICHRIX02) MODULE(LOGRIX02) EXIT ADD EXITNAME(ICHPWX01) MODULE(LOGPWX01) EXIT ADD EXITNAME(IRREVX01) MODULE(LOGEVX01)
これらの3つのメンバーをシステムのPARMLIB
データセットにコピーします。
すでにPROGAD
またはPROGDL
メンバーが存在する場合には、LOG
メンバーの名前を、使用されていないPROGxx
の名前に変更します。
準備ができたら、コンソール・コマンドSET PROG=XX
を使用して、LOGPWX01
をICHPWX01
exitポイントとしてアクティブ化します。
準備ができたら、コンソール・コマンドSET PROG=XX
を使用して、LOGRIX02
をICHRIX02
exitポイントとしてアクティブ化します。
準備ができたら、コンソール・コマンドSET PROG=XX
を使用して、LOGEVX01
をIRREVX01
exitポイントとしてアクティブ化します。
永続インストールを行う場合は、次のいずれかを実行します。
PROGAD
のEXIT ADD
文を本番のPROGxx PARMLIB
メンバーに追加
IPLプロシージャ中に発行されるようにSET PROG=XX
コマンドをCONSOL00
または自動化スクリプトに追加
RACROUTE REQUEST=VERIFY(X) (RACINIT)
の後処理のexitであるICHRIX02
をインストール
注意: 既存のICHRIX02 exitがない場合には、サンプル・ライブラリのメンバーRIX0A でジョブを実行します。このジョブはSMP/E を使用して、LDXRIX02 をexit ICHRIX02 としてSYS1.LPALIB にリンク編集します。 |
exitをロードするには、次のようにします。
「Operator Log」から実行するコマンド(「ISPF」メニュー・オプション→「SDSF」→オプションの「LOG」)
/F LLA,REFRESH /T PROG=XX Where XX is the Parmlib list name created EX. PROG75 /T PROG=75
exitを表示するには、次のようにします。
/D PROG,LPA,MODNAME=ICHPWX01 /D PROG,LPA,MODNAME=ICHRIX02 /D PROG,LPA,MODNAME=IRREVX01
表示コマンドのサンプル出力
15:47:38 D PROG,LPA,MODNAME=ICHPWX01 15:47:38 CSV550I 15.47.38 LPA DISPLAY 321 15:47:38 FLAGS MODULE ENTRY PT LOAD PT LENGTH DIAG 15:47:38 P ICHPWX01 85024C68 05024C68 00000398 0DA015F8 15:47:38 D PROG,LPA,MODNAME=ICHPWX01 15:47:38 CSV550I 15.47.38 LPA DISPLAY 321 15:47:38 FLAGS MODULE ENTRY PT LOAD PT LENGTH DIAG 15:47:38 P ICHPWX01 85024C68 05024C68 00000398 0DA015F8
Reconciliation Agentのexitをアンインストールするには、SET PROG=XY
をコンソール・コマンドとして入力するか、次のコマンドを入力します。
EXIT DELETE EXITNAME(ICHRIX02) MODULE(LOGRIX02) EXIT DELETE EXITNAME(ICHPWX01) MODULE(LOGPWX01) EXIT DELETE EXITNAME(IRREVX01) MODULE(LOGEVX01)
この項では、次に示す、TCP/IPおよびMQ Seriesの両方に対するメッセージ・トランスポート・レイヤーの構成タスクを説明します。
TCP/IPの使用規則はこのマニュアルの対象範囲外ですが、起動および通信順序に影響があります。メッセージのプーリング、およびメインフレームやLDAP Gatewayサーバーの両方の負荷を大幅に減らすことができる、ステートフル接続の確立を目的とします。
最初のステップは、Oracle Identity Manager LDAP Gatewayを起動することです。指定されたIPアドレスおよびポート番号を使用して、接続できるよう事前に構成されています。
LDAP Gatewayを起動したら、Provisioning Agent初期タスクを開始します。このタスクも、指定されたIPアドレスおよびポート番号のLDAP Gatewayに対してTCP/IP接続を確立するよう事前に設定されています。
Reconciliation Agentにも同様の手順を適用します。LDAP Gatewayを起動し、Reconciliation Agent初期タスクを開始します。
TCP/IPをメッセージ・トランスポート・レイヤーとして使用するには、次のIPアドレスが必要です。
z/OSが使用するIPアドレス
ルーター用のIPアドレス
ドメイン・ネーム・サーバー用のIPアドレス
TCP/IPを使用する場合、管理者はデータ構造のセキュリティ認可の指定だけでなく、メインフレームへのポートの作成も認可されている必要があります。
Provisioning AgentおよびReconciliation Agent JCLを編集し、次の変更を行います。
インストール認証のジョブ・カードを挿入します。
PARM
=('TCPN=TCPIP
'の値を実行中のTCP/IP初期タスクの名前に変更します。
IPアドレスを、LPAR(Provisioning Agentを起動するz/OSシステム)のアドレスに変更します。
ポート番号を、LPAR(Provisioning Agentを起動するz/OSシステム)に割り当てられたポートに変更します。
インストールにバッチ適用が必要な場合には、適切なVSAMGETU
文を挿入します。次のコードに、RACF ACIDのバッチ・ロードを示します。
//USR98S01 JOB (,xxxxxxxx,,'PROVISIONING AGENT UPLOAD PROCESS FOR ACIDS'), // 'UPLOAD CATS TO XELLTE', // REGION=2M,CLASS=6,MSGCLASS=Q, // USER=XXXXXXXX,TIME=1440, // NOTIFY=&SYSUID,TYPRUN=HOLD //* /*ROUTE PRINT CLE //* //PIONEERX EXEC PGM=PIONEERX,REGION=0M,TIME=1440, // PARM=('TCPN=TCPIP', // 'IPAD=148.141.7.113', // '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の場合、ジョブ制御は実行カードの例外と同じです。次に例を示します。
//VOYAGERX EXEC PGM=VOYAGERX, // PARM=('TCPN=TCPIP', // 'IPAD=192.168.1.231', // 'PORT=5791', // 'DEBUG=Y')
Reconciliation AgentおよびProvisioning Agentのどちらの場合も、次に示すDEBUG
パラメータ・フィールドの等価を使用できます。
* VALID DEBUG PARMS ARE: N, Y, Z* N IS FOR NO DEBUGGING OUTPUT* Y IS FOR DEBUGGING OUTPUT* Z IS FOR DEBUGGING OUTPUT, BUT DO NOT WRITE TO MQ.
注意: メンバーの編集を試行した際に、「データセットは使用中です」というメッセージが表示された場合には、[F1]を使用して、編集対象のメンバーを使用しているユーザーを参照します。[F1]は2回押す必要があります。編集対象のファイルを使用しているジョブ名は、2回目に実際に表示されます。その後、z/OSコンソールに移動して、pまたはcコマンドを使用して削除します。 |
この項では、Provisioning AgentおよびReconciliation Agentのインストール、およびIBM MQ Seriesを使用できるようそれらを構成する方法を説明します。
Provisioning Agentでは、MQインストールの次のメンバーが使用されます。
Provisioning Agentをインストールするには、次のようにします。
QMGR PARM
フィールドのQMGR
をキュー・マネージャの名前に変更します。キュー・マネージャは、システムのMQキュー・マネージャに指定された実際のタスク名です。
必要な場合には、Debug=N
(デフォルト)をYに設定してデバッグ・オプションを有効化します。
注意: これにより、大量の出力が生成されます。テスト目的でのみ実行してください。 |
Idf.Linklib
をOracle Identity Manager Authorized Load Module Libraryに指定した名前に変更します。
インストール認証のジョブ・カードを挿入します。
IDF.CNTL
をOracle Identity Manager Control Libraryに指定した名前に変更します。「手順2: 初期コネクタのインストール」を参照してください。
SYS1.PROCLIB
を、使用するJES PROCLIB
の名前に変更します。
Reconciliation Agent初期タスクを、初期タスクとして開始するよう変更します。
PIOCOPY
を発行します。選択したJES 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がバッチ・タスクの場合には、Provisioning Agent JCLを発行します。 |
Control LibraryのReconciliation Agentインストールのメンバーは次のとおりです。
インストール手順:
QMGR
PARM
フィールドのQMGR
をキュー・マネージャの名前に変更します。キュー・マネージャは、システムのMQキュー・マネージャに指定された実際のタスク名です。
必要な場合には、Debug=N
を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を初期タスクとして起動するJESPROCLIB
proclibの名前に変更します。
選択したJES 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に指定した名前に変更します。
3つのオブジェクトがエラーなしで定義されていることを確認します。
注意: セキュリティ環境によっては、VOYAGER 、VOYINIT 、VOYKILL およびVOYSTOP を初期タスクとして定義し、データセットおよびMQリソースへのアクセス権を付与する必要がある場合もあります。 |
Reconciliation Agentを起動できます。
その他の注意事項
Reconciliation AgentはMQに依存しています。そのため、Reconciliation Agentを起動する前にキュー・マネージャがアクティブであることを確認してください。
コンソールからS VOYINIT
を発行してVOYINIT
タスクを開始し、サブプールを作成します(VOYKILL
が実行されている場合を除き、これを実行する必要があるのは一度のみです)。
VOYINIT
が終了したら、コンソールからS VOYAGER
を発行してReconciliation Agentを起動します。
サブプールをそのままの状態で維持しながらVOYAGER
を一時停止するには、コンソールからS VOYSTOP
を発行してVOYSTOP
を開始します。Reconciliation Agentを一時停止してサブプールを破棄するには、コンソールからS VOYKILL
を発行してVOYKILL
を開始します。VOYKILL
を使用すると、サブプールに保存されているメッセージがすべて失われます。
注意: exitテクノロジを使用してReconciliation Agentにより検出されたイベントは、メッセージに変換されてLDAP Gatewayに渡されます。メッセージ・トランスポート・レイヤーとしてMQ Seriesを使用している場合、これらのメッセージは、配信するためにMQシステム内で内部的に保護されます。 TCP/IPメッセージ・トランスポート・レイヤーを使用している場合、メッセージはGatewayに安全に送信されます。Gatewayが停止している場合には、メッセージはGatewayが再開されるまで保持されますが、メインフレームのAES暗号化ファイルにも保護されます。Gatewayが再開されると、メッセージが送信されます。 サブプールが管理者により停止されると、Provisioning Agentが停止され、送信されていないメッセージがすべて破棄されます。ただし、セキュアなAES暗号化ファイル内のメッセージには影響はなく、リカバリできます。 |
APFは、IBM許可プログラム機能を意味します。プログラムにAPF認可ステータスを付与することは、スーパーユーザー・ステータスを付与することに似ています。このプロセスにより、通常のシステム管理者への問合せの許可や、操作を妨げられることのないプログラムの実行が可能になります。メインフレーム・システムで実行されるプログラムと実行元のユーザーIDの両方が、APFで認可されている必要があります。たとえば、Provisioning AgentのユーザーIDもAPFで認可されている必要があります。
注意: 通常APF認可は、メインフレームの管理者が行います。そのようなタスクの実行に必要な認可がない場合には、これらのタスクを実行できるユーザーの協力を得られるよう手配する必要があります。 |
APF認可を実行するには、必要な定義を作成する必要があります。
IBM RACFコマンドの実行およびIBM RACFデータベースの変更に必要な認可のあるユーザーIDを使用して、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)
このコマンドにより、ユーザーID STARTER
(初期タスクのユーザーIDの例)にリソースIRR.RADMIN.*
への読取りアクセス権が付与されます。これにより、初期タスクはRACFコマンドを発行できるようになります。
TSOコマンドライン(またはISPFのオプション6)から、次のIBM RACFコマンドを発行します。
ALTUSER STARTER SPECIAL
このコマンドにより、ユーザーID STARTER
にSPECIAL
属性が付与され、初期タスクによるIBM RACFユーザー・プロファイルへのアクセスおよび変更が可能になります。
TSOコマンドライン(またはISPFのオプション6)から次のコマンドを発行します。
SETROPTS RACLIST(FACILITY) REFRESH
このコマンドにより、IBM RACFの記憶域内の表が更新され、作成した定義がすぐにアクティブ化されます。
必要なIBM RACF定義を準備したら、ISPFを終了します。
Provisioning AgentおよびReconciliation Agentの設定と実行には、2つの異なるJCLがあります。初期タスク定義のベースには、これら2つのJCLファイルを使用できます。
RUNPIONX.txt
のパラメータは次のとおりです。
TCPN
: TCPプロセスの名前
IPAD
: Provisioning Agentが稼働しているマシンのIPアドレス
PORT
: Provisioning Agentの着信接続ポート
DEBUG
: 追加の出力を表示するためのデバッグ・スイッチ
RUNVOYAX.txt
のパラメータは次のとおりです。
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=192.168.1.231', // '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: //ADCDMRVX JOB SYSTEMS,MSGLEVEL=(1,1),MSGCLASS=X,CLASS=A,PRTY=8, // NOTIFY=&SYSUID,REGION=4096K //VOYAGERX EXEC PGM=VOYAGERX,REGION=0M,TIME=1440, // PARM=('TCPN=TCPIP', // 'IPAD=192.168.1.183', // 'PORT=5190', // 'DEBUG=Y') //STEPLIB DD DISP=SHR,DSN=IDF.LINKLIB // DD DISP=SHR,DSN=TCPIP.SEZATCP //SYSPRINT DD SYSOUT=X //SYSUDUMP DD SYSOUT=X //