[V9.0.1 2016 年 11 月]

ユーザーおよび役割の構成

IBM® MQ Console または REST APIを使用するには、ユーザーは mqweb サーバーに定義されているユーザー・レジストリーに対して認証を行う必要があります。

本タスクについて

認証済みユーザーは、 IBM MQ Console および REST APIの機能へのアクセスを許可するグループの 1 つのメンバーでなければなりません。 デフォルトでは、ユーザー・レジストリーにユーザーは含まれていません。ユーザーは、mqwebuser.xml ファイルを編集して追加する必要があります。

ユーザーおよびグループを構成するときは、ユーザーおよびグループを認証する際の基準となるユーザー・レジストリーをまず構成する必要があります。 このユーザー・レジストリーは、 IBM MQ ConsoleREST APIの間で共有されます。 ユーザーおよびグループの役割を構成するときに、ユーザーおよびグループが IBM MQ ConsoleREST API、またはその両方にアクセスできるかどうかを制御できます。

ユーザー・レジストリーを構成した後、ユーザーおよびグループの役割を構成して許可を付与します。 3 つの役割が使用可能であり、役割ごとに異なるレベルのアクセス権限が付与されます。 詳しくは、 IBM MQ コンソールおよび REST API での役割を参照してください。

ユーザーおよびグループの構成を簡単にするために、いくつかのサンプル XML ファイルが mqweb サーバーに付属しています。 このタスクでは、それらのサンプルを使用する方法および環境に合わせて調整する方法を説明します。

WebSphere® Application Server Liberty (WLP) でのセキュリティーの構成に精通しているユーザーは、サンプルを使用したくない場合があります。 WLP では、ここで説明する機能のほかにも、複数の承認機能を利用できます。

[V9.0.5 2018 年 3 月] MFT 役割と例については、 MFT REST API セキュリティーの構成 を参照してください。

手順

  1. 特権ユーザーであることを確認します。
  2. 以下のいずれかのパスから、いずれかのサンプル XML ファイルをコピーします。
    • [UNIX、Linux、Windows] UNIX, Linux®, and Windowsの場合: MQ_INSTALLATION_PATH /web/mq/samp/configuration
    • [z/OS] z/OS®の場合: PathPrefix /web/mq/samp/configuration

      ここで、 PathPrefixIBM MQ Unix System Services Components のインストール・パスです。

    • no_security.xml
      このサンプルは、HTTPS を使用して IBM MQ Consoleまたは REST API にアクセスする機能を含むセキュリティーを無効にします。
    • basic_registry.xml
      このサンプルは、ユーザーとグループの基本レジストリーを定義します。

      レジストリー内のユーザー名とパスワードは、 IBM MQ Console および REST APIのユーザーの認証と許可に使用されます。

    • [UNIX、Linux、Windows][V9.0.4 2017 年 10 月]
      local_os_registry.xml
      このサンプルは、ローカル・オペレーティング・システムのユーザーおよびグループの使用を構成します。

      「mqm」グループのメンバーには MQWebAdmin 役割が付与され、その他のすべての認証ユーザーには MQWebUser 役割が付与されます。

      オペレーティング・システム・レジストリー内のユーザー名とパスワードは、 IBM MQ Console および REST APIのユーザーの認証と許可に使用されます。

    • ldap_registry.xml
      このサンプルは、ユーザーとグループの情報を検索する LDAP レジストリーへの接続を定義します。

      LDAP レジストリー内のユーザー名とパスワードは、 IBM MQ Console および REST APIの使用を認証および許可するために使用されます。

      [V9.0.5 2018 年 3 月][z/OS]zos_saf_registry.xml
      このサンプルは、 z/OSでの System Authorization Facility (SAF) インターフェースの使用を構成します。

      RACF または他のセキュリティー製品のプロファイルを使用して、ユーザーとグループに役割へのアクセス権限を与えます。

      RACF データベース内のユーザー名およびパスワードは、IBM MQ Console および REST APIのユーザーを認証および許可するために使用されます。

  3. 以下のように、サンプル・ファイルを適切なディレクトリーに置きます。
    • [UNIX、Linux、Windows]

      UNIX, Linux, and Windows: MQ_DATA_DIRECTORY/web/installations/installationName/servers/mqweb

    • [z/OS]

      z/OS 上: WLP_user_directory/servers/mqweb

      ここで WLP_user_directory は、mqweb 定義を作成するために crtmqweb.sh スクリプトを実行した際に指定されたディレクトリーです。

  4. オプション: mqwebuser.xmlで構成設定を変更した場合は、それらをサンプル・ファイルにコピーします。
  5. 既存の mqwebuser.xml ファイルを削除し、サンプル・ファイルの名前を mqwebuser.xmlに変更します。
  6. 必要に応じて、新しい mqwebuser.xml ファイルを編集してユーザーとグループを追加します。
    • basic_registry.xml サンプルに基づくセキュリティー・セットアップでは、basicRegistry タグ内にユーザーおよびグループを追加します。

      MQWebUser 役割を持つすべてのユーザーは、ユーザー ID がキュー・マネージャーで実行を許可されている操作のみを実行できることに注意してください。 したがって、レジストリーに定義されているユーザー ID は、 IBM MQ がインストールされているシステム上で同一のユーザー ID を持っている必要があります。 これらのユーザー ID は大/小文字が同じである必要があります。同じでない場合、ユーザー ID 間のマッピングが失敗することがあります。

      基本ユーザー・レジストリーの構成について詳しくは、 WebSphere Application Server Liberty 資料の「 Liberty の基本ユーザー・レジストリーの構成 」を参照してください。

    • [UNIX、Linux、Windows][V9.0.4 2017 年 10 月]

      local_os_registry.xml サンプルに基づくセキュリティー・セットアップの場合、レジストリーは、パスワードの検証、ユーザーの識別、およびグループ・メンバーシップの計算のためにローカル・オペレーティング・システムにアクセスします。 このタイプのユーザー・レジストリーを有効にするには、 mqwebuser.xml ファイルの featureManager セクションに <feature>localOSAuthenticationMQ-1.0</feature> を追加します。

      ローカル OS 認証機能を使用するクライアント証明書認証の場合、ユーザー ID は、クライアント証明書の識別名 (DN) からの共通名 (CN) です。 ユーザー ID がオペレーティング・システム・ユーザーとして存在しない場合、クライアント証明書ログインは失敗し、パスワード・ベースの認証にフォールバックします。

    • ldap_registry.xml サンプルに基づくセキュリティーをセットアップする場合は、 ldapRegistry および idsLdapFilterProperties タグ内の LDAP レジストリーの設定を変更してください。

      MQWebUser 役割を持つすべてのユーザーは、ユーザー ID がキュー・マネージャーで実行を許可されている操作のみを実行できることに注意してください。 したがって、LDAP サーバー上で定義されたユーザー ID は、 IBM MQ がインストールされているシステム上で同一のユーザー ID を持っている必要があります。 これらのユーザー ID は大/小文字が同じである必要があります。同じでない場合、ユーザー ID 間のマッピングが失敗することがあります。

      LDAP レジストリーの構成について詳しくは、 WebSphere Application Server Liberty 資料の「 Liberty での LDAP ユーザー・レジストリーの構成 」を参照してください。

  7. 新しい mqwebuser.xml ファイルを編集して、ユーザーおよびグループに役割を割り当てます。

    IBM MQ Consoleおよび REST APIを使用する権限をユーザーおよびグループに付与するために使用可能な役割は 3 つあります。 各役割は別のレベルのアクセス権を付与します。 詳しくは、 IBM MQ コンソールおよび REST API での役割を参照してください。

    • 役割を割り当て、 IBM MQ Consoleへのアクセス権限を付与するには、 <enterpriseApplication id="com.ibm.mq.console"> タグ内の適切な security-role タグの間にユーザーとグループを追加します。

    • [V9.0.2 2017 年 5 月]

      役割を割り当て、 REST APIへのアクセス権限を付与するには、 <enterpriseApplication id="com.ibm.mq.rest"> タグ内の適切な security-role タグの間にユーザーとグループを追加します。

    security-role タグ内のユーザーおよびグループ情報の形式については、 を参照してください。

  8. mqwebuser.xmlでユーザーにパスワードを指定した場合は、 WebSphere Application Server Libertyによって提供される securityUtility encoding コマンドを使用して、これらのパスワードをエンコードし、セキュリティーを強化する必要があります。 詳しくは、 WebSphere Application Server Liberty 製品資料の Liberty:securityUtility コマンド を参照してください。

以下の例では、グループ MQWebAdminGroup に、役割 MQWebAdminを持つ IBM MQ Console へのアクセス権限が付与されます。 役割 MQWebAdminRO によってユーザー reader にアクセス権限が付与され、役割 MQWebUser によってユーザー guest にアクセス権限が付与されます。
<enterpriseApplication id="com.ibm.mq.console">
        <application-bnd>
            <security-role name="MQWebAdmin">
                <group name="MQWebAdminGroup" realm="defaultRealm"/>
            </security-role>
            <security-role name="MQWebAdminRO">
                <user name="reader" realm="defaultRealm"/>
            </security-role>
            <security-role name="MQWebUser">
                <user name="guest" realm="defaultRealm"/>
            </security-role>
        </application-bnd>
    </enterpriseApplication>
以下の例では、ユーザー reader および guestIBM MQ Consoleへのアクセス権限が付与されます。 ユーザー user には REST APIへのアクセス権限が付与され、 MQAdmin グループ内のすべてのユーザーには IBM MQ Console および REST APIへのアクセス権限が付与されます。
<enterpriseApplication id="com.ibm.mq.console">
    <application-bnd>
        <security-role name="MQWebAdmin">
            <group name="MQAdmin" realm="defaultRealm"/>
        </security-role>
        <security-role name="MQWebAdminRO">
            <user name="reader" realm="defaultRealm"/>
        </security-role>
        <security-role name="MQWebUser">
            <user name="guest" realm="defaultRealm"/>
        </security-role>
    </application-bnd>
</enterpriseApplication>

<enterpriseApplication id="com.ibm.mq.rest">
    <application-bnd>
        <security-role name="MQWebAdmin">
            <group name="MQAdmin" realm="defaultRealm"/>
        </security-role>
        <security-role name="MQWebUser">
            <user name="user" realm="defaultRealm"/>
        </security-role>
     </application-bnd>
</enterpriseApplication>

次のタスク

ユーザー認証方法を選択します。
IBM MQ Console 認証オプション
  • トークン認証を使用してユーザーを認証する。 この場合、ユーザーは IBM MQ Console ログイン画面でユーザー ID とパスワードを入力します。 ユーザーが一定時間ログインと許可を維持するための LTPA トークンが生成されます。 この認証オプションを使用するうえでこれ以上の構成は不要ですが、必要に応じて LTPA トークンの有効期間を構成できます。[V9.0.1 2016 年 11 月] 詳しくは、 LTPA トークンの有効期間の構成を参照してください。
  • クライアント証明書を使用してユーザーを認証する。 この場合、ユーザーは IBM MQ Consoleへのログインにユーザー ID またはパスワードを使用せず、代わりにクライアント証明書を使用します。 詳しくは、 REST API および IBM MQ コンソールでのクライアント証明書認証の使用を参照してください。
[V9.0.2 2017 年 5 月]REST API 認証オプション
[V9.0.2 2017 年 5 月]
  • HTTP 基本認証を使用してユーザーを認証する。 この場合、ユーザー名とパスワードはエンコードされますが、暗号化されません。各 REST API 要求と共に送信され、その要求に対してユーザーを認証して許可します。 この認証を保護するには、セキュア接続を使用する必要があります。 つまり、HTTPS を使用する必要があります。 詳しくは、 REST API での HTTP 基本認証の使用を参照してください。
  • トークン認証を使用してユーザーを認証する。 この場合、ユーザーは HTTP POST メソッドを使用して、 REST API login リソースにユーザー ID とパスワードを提供します。 ユーザーが一定時間ログインと許可を維持するための LTPA トークンが生成されます。 詳しくは、 IBM MQ 9.0.4 以前の REST API でのトークン・ベース認証の使用を参照してください。 LTPA トークンの有効期間を構成できます。[V9.0.1 2016 年 11 月] 詳しくは、 LTPA トークンの有効期間の構成を参照してください。
  • クライアント証明書を使用してユーザーを認証する。 この場合、ユーザーは REST APIへのログインにユーザー ID またはパスワードを使用せず、代わりにクライアント証明書を使用します。 詳しくは、 REST API および IBM MQ コンソールでのクライアント証明書認証の使用を参照してください。