ローカル アカウント/グループで実行されている WebSphere MQ は、Active Directory ユーザーのグループ メンバーシップを読み取ることができません。回避策または代替解決策はありますか?

ローカル アカウント/グループで実行されている WebSphere MQ は、Active Directory ユーザーのグループ メンバーシップを読み取ることができません。回避策または代替解決策はありますか?

WebSphere MQ v6.0 を使用するアプリケーションを開発しています。現在、次の問題により WebSphere MQ は動作していません。

  • WebSphere MQ サービスは、ローカル グループ "mqm" のローカル ユーザー "MUSR_MQADMIN" で実行されます。
  • 私は自分のアカウントBIZ\noahzを使用してサービスを利用しようとします
  • MUSR_MQADMIN は、BIZ\noahz がローカル グループ "mqm" にあるかどうかを確認する必要があります。
  • MUSR_MQADMIN には、BIZ\noahz の Active Directory グループ メンバーシップを読み取る権限がありません。
  • MQ ログ ファイルに次のエラーが表示されます。

----- amqzfubn.c : 3582 -------------------------------------------------------

2011 年 1 月 31 日 18:51:32 - プロセス (704.1105) ユーザー (MUSR_MQADMIN) プログラム (amqzlaa0.exe) AMQ8079: ユーザー 'noahz@biz' のグループ メンバーシップ情報を取得しようとしたときにアクセスが拒否されました。

説明: ユーザー 'musr_mqadmin@noahz-biz' の権限で実行されている WebSphere MQ は、指定されたユーザーのグループ メンバーシップ情報を取得できませんでした。アクション: Active Directory のアクセス許可によって、ユーザー 'musr_mqadmin@noahz-biz' がユーザー 'noahz@biz' のグループ メンバーシップを読み取れるようにしてください。ドメイン ユーザーのグループ メンバーシップ情報を取得するには、MQ をドメイン ユーザーの権限で実行する必要があります。

----- amqzfubn.c : 3582 -------------------------------------------------------

IBM の Web サイトにさらに詳しい情報が記載されています。 http://publib.boulder.ibm.com/infocenter/wmqv7/v7r0/index.jsp?topic=/com.ibm.mq.amqtac.doc/wq10830_.htm

Windows マシンの Active Directory 管理者権限を持っていないので、質問は次のとおりです。

この問題を解決 (または回避) して、WebSphere MQ を再び動作させるために他にできることはありますか? たとえば、WebSphere MQ でこのセキュリティ チェックを無効にすることはできますか?

アップデートIBM サポートから受け取った回答は次のとおりです。

通常、これらのエラーは、dcom で MQ サービスが実行されるように構成されているユーザー ID に問題があることを示しています。このユーザー ID が不明な場合は、次の方法で確認できます。

コマンド プロンプトを開き、dcomcnfg と入力します。コンポーネント サービス MMC が開いたら、「コンポーネント サービス」をダブルクリックし、「コンピューター」をダブルクリックし、「マイ コンピューター」をダブルクリックし、「DCOM 構成」をダブ​​ルクリックします。ウィンドウで、「IBM MQSeries サービス」を探し、右クリックしてプロパティを選択します。「ID」タブをクリックします。「このユーザー」の後に ID が表示されます。

MQ サービス ID (上記の [ID] タブから) にローカルで必要な権限があることを確認してください。次の不足している権限を付与します。

[スタート] -> [プログラム] -> [管理ツール] -> [ローカル セキュリティ設定] を開きます。

ローカル ポリシーを開いて、ユーザー権利の割り当てをダブルクリックし、次の権利が設定されていることを確認します:
- バッチ ジョブとしてログオン
- サービスとしてログオン
- システムをシャットダウン
- プログラムをデバッグ
- クォータを増やす
- オペレーティング システムの一部として動作 -
走査チェックをバイパス
- プロセス レベル トークンを置き換える

最終的に、私の IT 部門と InfoSec は、WebSphere MQ は「サーバー ソフトウェア」であり、個々のワークステーションでは許可されないと判断したため、上記のソリューションをテストすることすらできませんでした。

答え1

上記の DCOM エントリ (V7.1 に関連?) は見つかりませんでしたが、前述の runas-tip の助けを借りて、Active Directory にアクセスせずにローカルの Windows V7.1 Qmgr を作成、起動、接続することができました。私が行った操作は次のとおりです。

  • WindowsのlusrmgrでユーザーMUSR_MQADMINのパスワードを変更する
  • MQServiceが停止していることを確認します
  • サービスリストで、ユーザーMUSR_MQADMINのパスワードも変更します。
  • DOS ボックスを開き、次を実行します: C:> runas /user:MUSR_MQADMIN "crtmqm QMGR1" C:> runas /user:MUSR_MQADMIN "strmqm QMGR1" (各コマンドごとにパスワードを入力する必要があることに注意してください)
  • タスクバーの MQ アイコンを右クリックし、「WebSphere MQ Explorer」を選択します。
  • MQ エクスプローラーが開き、Qmgr「QMGR1」が赤い下向き矢印とともに表示されます。このアイコンを右クリックして、「開始...」を選択します。
  • ポップアップで「インタラクティブを開始」を選択し、「OK」をクリックします。
  • QMGR1 アイコンには上向きの緑色の矢印 (開始) が表示され、四角形は黄色 (接続済み) になります。
  • MQエクスプローラーでTEST1というキューを作成し、デフォルトの永続性を永続化します。
  • DOSボックスで次を実行します:
    C:> amqsput TEST1 QMGR1 メッセージを入力します...そしてサンプルプログラムを終了させるには空行を入力します
  • 次に、MQ Explorer でメッセージが存在するかどうかを確認します。

ヒント: MQの戻りコードは、コマンド「mqrc、fi C:>mqrc 2085」で簡単に確認できます。

答え2

WebSphere MQ は、そのコンポーネントを実行したり、そのリソースへのアクセスを許可しようとするすべての ID のグループ メンバーシップを常に取得する必要があります。それらの ID がローカルでない場合、MQ は ID を所有するドメインで SAM メンバーシップ検索を実行する権限を必要とします。回避策はいくつかあります。

  1. ローカル ID を使用します。MQ は管理者によってインストールされ、インストール中に適切なローカル権限が付与されているため、常にローカル SAM データベースで検索を実行できます。MUSR_MQADMIN である必要はありませんが、QMgr を実行する場合は mqm グループに属している必要があります。
  2. WMQ Explorer を使用して QMgr を起動します。WMQ Explorer の最新バージョンでは、さまざまなオプションが求められます。その 1 つは、サービスを所有する ID で QMgr を起動することです。起動すると、通常の ID を使用してキューとトピックにアクセスできます。

アップデート:
IT部門が取り締まる前に考えていればよかったのですが、オブジェクト権限マネージャを無効にすることは可能です。これはADドメインの検索を実行するコンポーネントです。これを無効にすると、ドメイン権限の問題なしに何でもQMgrに接続できるようになることはわかっています。かなり確実なこうすることで、ID で QMgr を実行するプロセスも実行できるようになります。

答え3

私も Websphere Message Broker を使用してアプリケーションを開発しています。現在、「開発者」エディションを使用しています。SAM メンバーシップ ルックアウトを無効にして MQ をインストールすることで、この問題を回避する方法を見つけました。

このため、インストール ディレクトリ (Websphere_MQ_V7.5) から「Websphere MQ Launchpad」(Windows では Setup.exe を実行) を実行しました。「ネットワーク構成」タブには、ユーザー ID 構成を無効にするオプションがあります。「いいえ」を選択してインストールを実行します。

ただし、これは本番環境や QA 環境にとって最適なオプションではない可能性があります。

答え4

一番いいのはルナスmq ユーザーとして実行するには:

runas /user:MUSR_MQADMIN "strmqm <qmgr-name>"

関連情報