26
1 第2章 接続認証 概要 接続認証の使用 認証エラー例

MQv8 2 ڑ F 1028.pptx)public.dhe.ibm.com/software/dw/jp/websphere/wmq/mq80_ws/... · 2014. 11. 17. · 6 ①ユーザー ポジトリの˙˝ には、 mq のユーザー+,ポジトリを

  • Upload
    others

  • View
    28

  • Download
    0

Embed Size (px)

Citation preview

  • 1

    第2章 接続認証

    �概要

    �接続認証の使用

    �認証エラー例

  • 2

    概要

  • 3

    MQの接続認証

    MQでは、これまで認証は実施していなかった

    OSやフロント側の他製品(Webサーバーなど)でユーザー認証が実施されている前提で、

    MQは渡されたユーザーIDを利用

    MQで認証が必要な場合は、チャネルExitを開発して実現

    �製品機能としての提供はない(一部のOSを除く)

    ローカル接続のユーザー認証機能はなく、OSのユーザー認証で代替

    SSL/TLSを利用して、証明書チェックにより代替

    MQ V8.0の接続認証機能

    MQ接続(クライアント / ローカル)時に

    アプリケーションがユーザーID / パスワードを提供

    キュー・マネージャー側で、ユーザーID /

    パスワードに従って動作するように構成可能

    リポジトリを使用してユーザーID / パスワードの

    組み合わせをチェック

    MQ運用端末の接続制限が主な目的

    MQエクスプローラーやMQSCコマンドで接続認証を使用可能

    �V8よりMQSCコマンド時のユーザーID指定が可能

  • 4

    接続認証の使用

  • 5

    接続認証を使用する際の主な検討項目

    ① ユーザー・リポジトリーの準備

    ② ローカル接続で認証を行うかどうかを決定

    ③ クライアント接続で認証を

    行うかどうかを決定

    ④ 接続認証に使用したユーザーIDを

    アプリケーション・ユーザーIDとして

    利用するかどうかを決定

    ⑤ 上記を反映したAUTHINFO

    オブジェクトを定義し、

    キュー・マネージャーに設定

    ⑥ アプリケーション側の対応

    a) コーディングで指定

    b) MQクライアントExitを使用

    ⑦ パスワードの保護

    QMGRCONNAUTH(AUTHINFO)MQCONNX・MQCSP

    Server 1

    MQCONNX・MQCSPServer A

    • ユーザIDリポジトリを指定• ローカル・バインディング接続で認証要否• クライアント接続で認証要否• 認証ユーザーをアプリケーションユーザーとして使用するかどうか

    AUTHINFOAUTHINFOAUTHINFOAUTHINFO

    MQCONN(X)Server BMQCCREDExit mqccred.iniUser1/password1

    User2/password2

    User3/password3mqclient.ini

    qm.ini ①②

    ③ ③

    OAM/RACF認証設定④

    ⑥a)

    ⑥a)

    ⑥ b)⑦

    mqclient.ini

    ユーザーリポジトリ

    CCDT

  • 6

    ① ユーザー・リポジトリの準備

    接続認証には、MQ外部のユーザー・リポジトリを使用

    全プラットフォームで、OS(ローカル)のユーザー・リポジトリが使用可能

    �分散系:OSに定義されたユーザーID

    �z/OS: RACFまたは外部セキュリティマネージャーに定義されたユーザーID

    分散プラットフォームでは、LDAPサーバへのアクセスも可能

    �OSから独立したユーザー・リポジトリが使用可能

    使用するユーザー・リポジトリをAUTHINFOオブジェクトのAUTHTYPEに設定する

    AUTHTYPEの採用値

    LDAPを使用する場合には、LDAP接続用のAUTHINFOの属性を設定

    �AUTHTYPE(IDPWLDAP)の属性はP20参照

    値値値値 説明説明説明説明

    IDPWOS OSのリポジトリを使用

    IDPWLDAP LDAPサーバーを使用 ※z/OS版は指定不可

  • 7

    ② ローカル接続認証

    ローカル接続認証を行うかどうかを決定し、認証方法をAUTHINFOオブジェクトの

    CHKLOCL属性に指定

    制御方法は以下の4種類

    値値値値 説明説明説明説明

    REQUIRED ユーザーIDとパスワードの提供が必須

    REQDADM 特権ユーザーのみユーザーIDとパスワードの提供が必須、それ以外のユーザーはOPTIONALと同様(※z/OSは指定不可)

    OPTIONAL ユーザーIDとパスワードの提供はオプションユーザーIDとパスワードが提供される場合は検証され、未提供なら検証されないデフォルト値

    NONE ユーザーIDとパスワードの提供の有無に関わらず検証なし

  • 8

    ② ローカル接続認証使用時の注意(分散系)

    CHECKLOCLが”REQUIRED”または”REQDADM”の時、

    一部のコマンドで認証が行われる

    認証対象のコマンドは以下の通り

    コマンドの実行時、引数にユーザーIDを指定する必要あり

    �コマンドに”-u ”オプションを付加

    �その後、プロンプトでパスワードの入力が求められる

    �コマンドを自動実行する場合、パスワードはechoなどで入力

    コマンドコマンドコマンドコマンド 用途用途用途用途

    runmqsc MQSCコマンド・インターフェースの開始

    runmqdlq デッドレター・キュー・ハンドラーの開始

    runmqtrm トリガー・モニターの開始

    dspmqrte メッセージの経路の表示

    dmpmqcfg MQ構成情報のダンプ

    runmqsc –u mqadmin QM1

    echo password | runmqsc –u mqadmin QM1

    例1) 対話式での実行時

    例2) 自動実行時

  • 9

    ② ローカル接続認証使用時の注意点(z/OS版)

    CHCKLOCLの設定は、バッチ・アプリケーションからの接続に有効

    CICS、IMSとの接続時には無効

    CHCKLOCLが”REQUIRED”の場合、CSQUTILなどの製品提供のユーティリティ・プログラムでも接続認証が行われる

    ユーティリティ・プログラムではユーザーID / パスワードが提供できないので、

    MQRC=2035(MQRC_NOT_AUTHORIZED)でエラーとなる

    ユーティリティ・プログラムのエラー回避のためには、 RACFのMQCONNクラスを併用

    �下記RACF定義で、ユーティリティプログラム実行時とアプリケーション実行時のローカル接続認証の使い分けが可能

    �バッチ接続プロファイルに

    –UPDATE権限あり:ローカル接続認証が行われない

    –READ権限あり:ローカル接続認証が行われる

    ** CONN CLASSを定義

    RDEFINE MQADMIN MQM1.YES.CONNECT.CHECKS

    ** バッチ接続のプロファイルを定義

    RDEFINE MQCONN MQM1.BATCH UACC(NONE)

    ** MQユーティリティを実行する管理者用ユーザーIDにプロファイルのUPDATE権限を付与

    PERMIT MQM1.BATCH CLASS(MQCONN) ID(MQMUSER) ACCESS(UPDATE)

    ** アプリの実行ユーザーIDにプロファイルのREAD権限を付与

    PERMIT MQM1.BATCH CLASS(MQCONN) ID(MQMAPPL) ACCESS(READ)

  • 10

    ③ クライアント接続認証

    クライアント接続認証を行うかどうかを決定し、認証方法をAUTHINFOオブジェクトの

    CHCKCLNT属性に指定

    制御方法は以下の4種類

    ※分散系では、ローカル接続認証とクライアント接続認証のデフォルト値が異なるので注意

    値値値値 説明説明説明説明

    REQUIRED ユーザーIDとパスワードの提供が必須

    REQDADM 特権ユーザーのみユーザーIDとパスワードの提供が必須、それ以外のユーザーはOPTIONALと同様分散系のデフォルト値(※z/OSは指定不可)

    OPTIONAL ユーザーIDとパスワードの提供はオプションユーザーIDとパスワードが提供される場合は検証され、未提供なら検証されないz/OS版のデフォルト

    NONE ユーザーIDとパスワードの提供の有無に関わらず検証なし

  • 11

    ④接続認証ユーザーとアプリケーション・ユーザー

    接続認証で使用するユーザーIDとアプリケーションの実行ユーザーIDを

    分離することが可能

    接続認証で使用するユーザーIDをアプリケーションのコンテキストとするかどうか(その後のMQアプリケーションのセキュリティ・チェックに使用するかどうか) を

    AUTHINFOのADOPTCTX属性に指定

    採用値は以下の通り

    注意:

    OAMの権限チェックはアプリケーション・ユーザーIDに対して行われる。

    接続認証用ユーザー・リポジトリをてLDAPとし、LDAPにのみ存在するユーザーIDで接続認証を

    行っている場合には設定に注意すること。

    値値値値 説明説明説明説明

    YES 接続認証で使用したユーザーIDをアプリケーションのコンテキストとする。OAM/RACFチェックのユーザーIDとなる

    NO 接続認証で使用したユーザーIDをアプリケーションのコンテキストとして使用しない。OAM/RACFチェックのユーザーIDとしては使用しないデフォルト値

  • 12

    ⑤ AUTHINFOオブジェクトをキュー・マネージャーに設定

    ①~④にて検討した内容を含むAUTHINFOオブジェクトを定義

    AUTHTYPE別の属性詳細は、P19~20を参照

    定義したAUTHINFOオブジェクトをキュー・マネージャーに設定

    QMGRにCONNAUTH属性が追加、AUTHINFOオブジェクト名を指定

    CONNAUTHの採用値は以下の通り

    新規作成のキュー・マネージャーではデフォルトで接続認証が有効となっているので注意が必要

    �接続認証を行わない場合には CONNAUTH属性をブランクに変更すること

    CONNAUTH設定値を変更後は、設定反映のためのセキュリティのリフレッシュを実施

    値値値値 説明説明説明説明

    SYSTEM.DEFAULT.AUTHINFO.IDPWOS

    (新規作成したQMGRのデフォルト)OSのリポジトリを使用して認証する

    ブランク(マイグレーションしたQMGRのデフォルト)

    認証を行わない

    (AUTHINFOオブジェクト名) 定義したAUTHINFO設定に従い認証する

    ALTER QMGR CONNAUTH(authinfo_object_name)

    REFRESH SECURITY TYPE(CONNAUTH)

    DEFINE AUTHINFO(name) AUTHTYPE(IDPWOS | IDPWLDAP) [他属性]

  • 13

    ⑥ a) 接続認証のためのアプリケーション・プログラミング

    接続認証を行うにはアプリケーションで、ユーザーIDとパスワードを提供する必要がある

    アプリケーションのMQCONNXコールでMQCSPを指定

    MQCSP(MQ Connection Security Parameter)は、V6.0から提供

    �ユーザーID / パスワードを指定し、値をOAM(分散)やセキュリティExitに渡す

    V8.0から接続認証を行う際にも使用

    �AuthenticationTypeを”MQCSP_AUTH_USER_ID_AND_PWD”に設定すると認証を行う

    �MQCSP構造体のフィールド一覧

    フィールド名フィールド名フィールド名フィールド名 データ・タイプデータ・タイプデータ・タイプデータ・タイプ 初期値初期値初期値初期値 内容内容内容内容

    StrucId MQCHAR4 MQCSPSTRUC_ID 構造体ID

    Version MQLONG MQCSP_VERSION_1 構造体バージョン

    AuthenticationType MQLONG MQCSP_AUTH_NONE 認証のタイプ

    Reserved1 MQBYTE4 null IBM i 用の予約フィールド

    CSPUserIdPtr MQPTR 認証に使われるユーザーIDのバイトのアドレス

    CSPUserIdOffset MQLONG 0 認証に使われるユーザーIDのバイトのオフセット

    CSPUserIdLength MQLONG 0 認証に使われるユーザーIDの長さ

    Reserved2 MQBYTE8 null IBM i 用の予約フィールド

    CSPPasswordPtr MQPTR 認証に使われるパスワードのバイトのアドレス

    CSPPasswordOffset MQLONG 0 認証に使われるパスワードのバイトのオフセット

    CSPPasswordLength MQLONG 0 認証に使われるパスワードの長さ

  • 14

    ⑥ a) MQCONNX / MQCSPの使用方法

    MQCONNX / MQCSPの指定

    Cの場合

    JMSの場合

    オブジェクト指向言語でMQEnvironmentに指定する場合(BaseJava、.NET等)

    char *QMName = “QM1”;

    char *Userid = “rbmqid1”;

    char *Password = “passw0rd”;

    MQCNO cno = {MQCNO_DEFAULT};

    MQCSP csp = {MQCSP_DEFAULT};

    ...

    cno.SecurityParmsPtr = &csp;

    cno.Version = MQCNO_VERSION_5;

    csp.AuthenticationType = MQCSP_AUTH_USER_ID_AND_PWD;

    csp.CSPuser IDPtr = Userid;

    csp.CSPuser IDLength = strlen(Userid);

    csp.CSPPasswordPtr = Password;

    csp.CSPPasswordLength = strlen(csp.CSPPasswordPtr);

    MQCONNX(QMName, &cno, &Hcon, &CompCode, &CReason);

    connectionFactory.CreateConnection(Userid,Password)

    String QMNAme = “QM1”;

    String Userid = “rbmqid1”;

    String Password = “passw0rd”;

    Hashtable h = new Hashtable();

    h.put(MQConstants.USER_ID_PROPERTY, Userid);

    h.put(MQConstants.PASSWORD_PROPERTY, Password);

    h.put(MQConstants.USE_MQCSP_AUTHENTICATION_PROPERTY, true);

    MQQueueManager qMgr = new MQQueueManager(QMName,h);

  • 15

    ⑥ b) 接続認証用クライアントExit

    V8.0からユーザーID / パスワードをキュー・マネージャーに渡すための

    クライアントExit :MQCCREDを提供

    MQクライアント接続では、アプリケーションの修正を行わずに、接続認証を使用可能

    MQCCREDは、実行モジュールと構成ファイルで機能

    クライアントExitの使用方法

    MQCCRED構成ファイルの準備

    �MQクライアント接続に使用するユーザーIDとパスワードは、mqccred.iniファイルに記載する

    –Windows:¥Tools¥c¥Samples¥mqccred

    –Unix:/samp/mqccred

    �構成ファイルは、限られたユーザーのみがアクセスできるディレクトリに保管すること

    MQCCRED構成ファイルの難読化

    �構成ファイルの難読化コマンド(runmqcred)が提供されている

    -f: 処理する構成ファイル-p: 構成ファイルの保護が十分ではないときのエラーを無視

    �難読化後の構成ファイルをMQCCRED環境変数に設定

    MQクライアント側のチャネル定義テーブルにMQCCRED exitを指定する

    �SVRCONNチャネルの設定、アプリケーションは変更なしで使用可能

    runmqccred [-f file] [-p]

    ALTER CHANNEL(channel_name) CHLTYPE(CLNTCONN) SCYEXIT(‘mqccred(ChlExit)’)

  • 16

    ⑥ b) mqccred.iniファイル

    runmqcredコマンド実行

    AllQueueManagers:

    Password=passw0rd

    User=mquser

    QueueManager:

    Name=QMA

    User=user2

    Password=passw0rd2

    QueueManager:

    Name=QMB

    User=user3

    Password=passw0rd3

    Force=TRUE

    【変換前】

    AllQueueManagers:

    OPW=177573C8F49CC5338AF6C040072F388D

    User=mquser

    QueueManager:

    OPW=0D2E29AF57BCF1B74BAFBD3109153D12

    Name=QMA

    User=user2

    QueueManager:

    OPW=0D2E29AF57BCF1B732420A8ACDE7CAC9

    Name=QMB

    User=user3

    Force=TRUE

    ※”Password”パラメータは変換後、”OPW”パラメータで表される

    ※MQCCRED構成ファイル名は変換後も”mqccred.ini”のまま変わらない

    【変換後】

  • 17

    ⑦ ネットワーク上のパスワードの保護

    V8.0より、MQCSP構造体で提供したパスワードを保護可能

    キュー・マネージャー、クライアントともにV8.0以降であれば、MQ機能で

    MQCSP構造体で提供されたパスワード保護が可能(非SSL/TLS環境)

    mqclient.ini、qm.iniのChannels:スタンザに、PasswordProtection属性を指定

    キュー・マネージャーおよびクライアントのバージョン、SSL/TLSの使用有無でパスワード

    保護設定の有効性が変わるので、詳細は、Knowledge Centerの以下のページを参照

    �WebSphere MQ 8.0.0>WebSphere MQ>Security>Security overview>WebSphere MQ security mechanisms>Security protocols in WebSphere MQ>MQCSP password protection

    “WebSphere MQCSP password protection”http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.sec.doc/q118710_.htm

    設定値設定値設定値設定値 意味意味意味意味

    compatible(デフォルト)/ optional (*)

    保護が可能な場合には保護して送信。それ以外は平文で送信

    always パスワード保護が不可の場合には、接続不可

    (*) compatibleとoptionalは、SSL/TLSを併用した場合に動作が異なる

  • 18

    MQ提供サンプルプログラムの変更

    サンプルプログラム(分散系)は接続認証を行うオプションが追加

    amqsput / amqsputc

    amqsget / amqsgetc

    amqsbcg / amqsbcgc

    環境変数:MQSAMP_USER_IDが設定されている場合、パスワードの入力を促す

    (コマンドプロンプト)

    C:¥>set MQSAMP_USER_ID=mqmuser

    C:¥>set MQSERVER=SYSTEM.DEF.SVRCONN/TCP/localhost(1460)

    C:¥Users¥IBM_ADMIN>amqsputc Q1 QMT1

    Sample AMQSPUT0 start

    Enter password: abcdefgh

    target queue is Q1

    例)Administrator権限を持つmqmuserでamqsputcを実行

    パスワードを入力

    接続認証をクリア

  • 19

    OSリポジトリ用AUTHINFOのパラメータ

    OSリポジトリー用AUTHINFOオブジェクトの属性一覧

    デフォルトのオブジェクト”SYSTEM.DEFAULT.AUTHINFO.IDPWOS”の定義内容属性属性属性属性 説明説明説明説明 指定必須?指定必須?指定必須?指定必須? デフォルト値デフォルト値デフォルト値デフォルト値AUTHINFO 認証情報の名前 はい なしAUTHTYPE 認証情報のタイプ はい IDPWOSADOPTCTX アプリケーションのコンテキストに指定されたユーザーIDを使用するか(ユーザーIDは権限チェックにも使用) いいえ NOCHCKCLNT クライアント接続するアプリケーションを認証するか いいえ REQDADM

    z/OS版:OPTIONALCHCKLOCL ローカル接続するアプリケーションを認証するか いいえ OPTIONALDESCR プレーン・テキストのコメント いいえ ブランクFAILDLAY ユーザーIDかパスワードが正しくない時にアプリケーションへの応答を遅延する時間

    (秒) いいえ 1

  • 20

    LDAP用AUTHINFOのパラメータ

    LDAP用AUTHINFOオブジェクトの属性一覧

    デフォルトのオブジェクト”SYSTEM.DEFAULT.AUTHINFO.IDPWLDAP”の定義内容属性属性属性属性 説明説明説明説明 指定必須?指定必須?指定必須?指定必須? デフォルト値デフォルト値デフォルト値デフォルト値AUTHINFO 認証情報の名前 はい なしAUTHTYPE 認証情報のタイプ はい IDPWLDAPADOPTCTX アプリケーションのコンテキストに指定されたユーザーIDを使用するか(ユーザーIDは権限チェックにも使用) いいえ NOBASEDNU LDAPサーバーでユーザー・レコードの検索に使われる基本DN いいえ ブランクCHCKCLNT クライアント接続するアプリケーションを認証するか いいえ REQUIREDCHCKLOCL ローカル接続するアプリケーションを認証するか いいえ OPTIONALCLASSUSR LDAPでユーザー・レコードに使われるオブジェクト・クラス いいえ ブランク(未指定時は”inetOrgPerson”を使用)CONNAME LDAPサーバーのホスト名かIPアドレス はい なしDESCR プレーン・テキストのコメント いいえ ブランクFAILDLAY ユーザーIDかパスワードが正しくない時にアプリケーションへの応答を遅延する時間(秒) いいえ 1LDAPPWD LDAPサーバーにアクセスするユーザーのDNに関連付けられるパスワード いいえ ブランクLDAPUSER LDAPサーバーにアクセスするユーザーのDN いいえ ブランクSECCOMM LDAPサーバーへの通信にSSL/TLSを使用するか いいえ NOSHORTUSR MQでショート・ユーザーとして扱われるユーザー・レコードのフィールド(12文字以内) はい なしUSRFIELD アプリケーションから提供されるユーザー ID を LDAP ユーザー・レコードのフィールドとして識別するための接頭詞 いいえ ブランク

  • 21

    認証エラー例

  • 22

    認証エラー(MQRC=2035)への対処

    接続認証が不成功の場合には、MQクライアントには

    MQRC=2035(MQRC_NOT_AUTHRIZED)が返される

    MQRC=2035が返される原因は様々だが、クライアント側にはエラーの詳細情報は返されない

    (例)

    エラー原因はキュー・マネージャーのログ、認証イベントメッセージで確認し対応

    不足している権限や認証情報を追加してエラーを解消

    発生元機能発生元機能発生元機能発生元機能 該当設定該当設定該当設定該当設定 エラーの発生状況例エラーの発生状況例エラーの発生状況例エラーの発生状況例 対処方法対処方法対処方法対処方法接続認証 V8.0以降でデフォルトのCONNAUTH(SYSTEM.DEFAULT.AUTHINFO.IDP

    WOS)を使用 ・特権ユーザーでクライアント接続する場合にパスワードを提供していない ・キュー・マネージャーのCONNAUTH属性をブランクに変更する・特権ユーザーのパスワードを提供するようアプリケーションを改修するか、非特権ユーザーへ変更するチャネル認証 V7.1以降でデフォルトのCHLAUTH(ENABLED)を使用 ・mqmユーザーでクライアント接続している・チャネル名を明示指定しないか、

    SYSTEM.DEF.SVRCONNを使いクライアント接続している ・mqm以外のユーザーで新規に作成したSVRCONNチャネルを使い接続する・キュー・マネージャーのCHLAUTH属性をDISABLEDに変更するOAM ・mqm以外のユーザーから新規作成したキューにPUTできない・新規作成したユーザーから

    QMGRに接続できない ・ユーザーに必要な権限を付与するRACF RACFセキュリティが有効になっている ・ユーザーに必要な権限を付与する・NO.SUBSYS.SECURITYプロファイルを定義し、RACFセキュリティを無効化する

  • 23

    C:¥>set

    MQSERVER=SYSTEM.DEF.SVRCONN/TCP/localhost(1460)

    C:¥>amqsputc Q1 QMT1

    Sample AMQSPUT0 start

    MQCONNX ended with reason code 2035

    説明:ユーザー ID 'mqmuser' は特権ユーザー ID であり、キュー・マネージャーの接続権限(CONNAUTH) 構成が CHCKCLNT(REQDADM) を持つ'SYSTEM.DEFAULT.AUTHINFO.IDPWOS' という名前の認証情報(AUTHINFO) オブジェクトを参照しているため、ユーザー ID およびそのパスワードが確認されました。ユーザー ID およびパスワードの確認の理由を明らかにするため、前のエラーに付随してこのメッセージが出されます。処置:詳しくは、前のエラーを参照してください。クライアント・アプリケーションによってパスワードが指定されていること、およびそれがユーザー ID の正しいパスワードであることを確認してください。キュー・マネージャー接続の認証構成により、ユーザー ID のリポジトリーが決まります。例えば、ローカル・オペレーティング・システム・ユーザー・データベースまたはLDAP サーバーなどです。認証確認を回避するには、非特権ユーザー ID を使用するか、キュー・マネージャーの認証構成を修正してください。CHLAUTH レコードの CHCKCLNT 属性を修正することもできますが、一般的には、非認証リモート・アクセスを許可するべきではありません。-------------------------------------------------------------------------------

    2014/06/06 10:34:26 - Process(6788.4) User(MUSR_MQADMIN2)

    Program(amqrmppa.exe) Host(MQMUSER)

    Installation(Installation3)

    VRMF(8.0.0.0) QMgr(QMT1)

    AMQ9557: 'MQMUSER' において、キュー・マネージャーのユーザー ID 初期化が失敗しました。説明:ユーザー ID 'MQMUSER' を初期化するための呼び出しが、CompCode 2、理由 2035 で失敗しました。処置:エラーを訂正し、やり直してください。----- cmqxrsrv.c : 2199 -------------------------------------------------------

    キューマネージャーのエラーログ例①

    2014/06/06 10:34:26 - Process(7328.13)

    User(MUSR_MQADMIN2) Program(amqzlaa0.exe)

    Host(MQMUSER) Installation(Installation3)

    VRMF(8.0.0.0) QMgr(QMT1)

    AMQ5540: アプリケーション 'Sphere MQ¥bin64¥amqsputc.exe' はユーザー ID とパスワードを提供しませんでした説明:キュー・マネージャーはユーザー ID とパスワードを必要とするように構成されていますが、何も提供されませんでした。処置:アプリケーションが有効なユーザー ID とパスワードを提供するようにします。あるいはキュー・マネージャーの構成を OPTIONAL に変更して、ユーザー ID とパスワードを提供しないアプリケーションにも接続を許可します。----- amqzfuca.c : 4107 -------------------------------------------------------

    2014/06/06 10:34:26 - Process(7328.13)

    User(MUSR_MQADMIN2) Program(amqzlaa0.exe)

    Host(MQMUSER) Installation(Installation3)

    VRMF(8.0.0.0) QMgr(QMT1)

    AMQ5541: 失敗した認証確認は、キュー・マネージャー CONNAUTH CHCKCLNT(REQDADM) の構成が原因で発生しました。

    エラーの原因A

    エラーの原因Bエラーの対処A

    エラーの対処Bエラー時の設定

    右上に続く

    例)Administrator権限を持つmqmuserでamqsputcを実行

    MQRC=2035エラー時のエラーログ例 ①接続認証

  • 24

    C:¥>set

    MQSERVER=SYSTEM.DEF.SVRCONN/TCP/localhost(1460)

    C:¥>amqsputc Q1 QMT1

    Sample AMQSPUT0 start

    MQCONNX ended with reason code 2035

    キューマネージャーのエラーログ例②

    2014/07/15 23:07:56 - Process(9956.4) User(MUSR_MQADMIN2)

    Program(amqrmppa.exe) Host(MQMUSER)

    Installation(Installation3)

    VRMF(8.0.0.0) QMgr(QMT1)

    AMQ9208: ホスト MQMUSER (127.0.0.1) からの受信時にエラー。説明:TCP/IP を介して MQMUSER (127.0.0.1) からデータを受信中にエラーが起こりました。これは通信の障害が原因である可能性があります。処置:TCP/IP recv() 呼び出しからの戻りコードは 10054 (X'2746') です。これらの値を記録して、システム管理者に連絡してください。----- amqccita.c : 3888 -------------------------------------------------------

    2014/07/15 23:07:56 - Process(9956.4) User(MUSR_MQADMIN2)

    Program(amqrmppa.exe) Host(MQMUSER)

    Installation(Installation3)

    VRMF(8.0.0.0) QMgr(QMT1)

    AMQ9999: ホスト '127.0.0.1' に対するチャネル'SYSTEM.DEF.SVRCONN' が異常終了しました。説明:チャネル 'SYSTEM.DEF.SVRCONN' のプロセス ID 9956(11048) で実行中のチャネル・プログラムが異常終了しました。ホスト名は '127.0.0.1' です。ホスト名を判別できない場合は、 '????' と表示されます。

    例)Administrator権限を持つmqmuserでamqsputcを実行 処置:エラー・ログで、このチャネル・プログラムに対する先行のエラー・メッセージを調べて、障害の原因を判別してください。 qm.ini の "QMErrorLog" スタンザにある"ExcludeMessage" 属性または "SuppressMessage" 属性を調整することにより、このメッセージを完全に除外したり、抑止したりすることができます。詳しい情報は、「システム管理ガイド」に記載されています。----- amqrmrsa.c : 925 --------------------------------------------------------

    2014/07/15 23:09:26 - Process(9956.6) User(MUSR_MQADMIN2)

    Program(amqrmppa.exe) Host(MQMUSER)

    Installation(Installation3)

    VRMF(8.0.0.0) QMgr(QMT1)

    AMQ9777: チャネルがブロックされました。説明:インバウンド・チャネル 'SYSTEM.DEF.SVRCONN' がアドレス'MQMUSER (127.0.0.1)' からブロックされました。これは、チャネルのアクティブ値が、USERSRC(NOACCESS) を使用して構成したレコードと一致したためです。チャネルのアクティブ値は'CLNTUSER(TESTADMIN) ADDRESS(MQMUSER)' でした。処置:システム管理者に連絡してください。システム管理者は、チャネル認証レコードを調べて、正しい設定が構成されるようにします。チャネル認証レコードを使用するかどうかを制御するには、 ALTER QMGR CHLAUTH スイッチを使用します。 DISPLAY CHLAUTH コマンドを使用して、チャネル認証レコードを照会することができます。----- cmqxrmsa.c : 1153 -------------------------------------------------------

    2014/07/15 23:09:26 - Process(9956.6) User(MUSR_MQADMIN2)

    Program(amqrmppa.exe) Host(MQMUSER)

    Installation(Installation3)

    VRMF(8.0.0.0) QMgr(QMT1)

    AMQ9999: ホスト '127.0.0.1' に対するチャネル'SYSTEM.DEF.SVRCONN' が異常終了しました。(以下略)

    エラーの原因エラー時の設定

    右上に続く

    エラーの対処

    MQRC=2035エラー時のエラーログ例 ②チャネル認証

  • 25

    MQRC=2035エラー時のエラーログ例 ③z/OS版接続認証

    C:¥Program Files¥IBM¥WebSphere MQ¥bin>AMQSPUTC QL.TESTQ M80BSample AMQSPUT0 startMQCONNX ended with reason code 2035例)Administrator権限を持つログインユーザーでamqsputcを実行M FFFFFFF ZOS2 14227 18:08:36.28 STC03724 00000090 +CSQX511I M80B CSQXRESP Channel M80B.CLIENT started 811 E 811 00000090 connection 9.189.208.197 M 8000000 ZOS2 14227 18:08:36.28 STC03723 00000090 CSQH045E M80B CSQHNSIG M80B.CLIENT/x.x.x.x did 812 E 812 00000090 not provide a password N FFFFFFF ZOS2 14227 18:08:37.28 STC03724 00000090 +CSQX512I M80B CSQXRESP Channel M80B.CLIENT no longer active キュー・マネージャー(z/OS)側のSYSLOG

    セキュリティ・マネージャー機能(CSQHxxxY)のログがMSTRに出力される。

    CHINIT側は、SVRCONNの開始/終了のみ。

    エラーの原因

  • 26

    Blank Page