[V9.1.0 2018 年 7 月]

で HTTP 基本認証を使用する。 REST API

REST API のユーザーは、 HTTP ヘッダーにユーザーIDとパスワードを入力することで認証できる。 HTTP メソッド (POST、PATCH、DELETE など) によってこの認証方式を使用する場合は、ユーザー ID とパスワードのほかに ibm-mq-rest-csrf-token HTTP ヘッダーも指定する必要があります。

始める前に

  • REST API の使用を許可するユーザー、グループ、ロールを設定します。 詳細については、 ユーザーとロールの設定を参照してください。
  • HTTP 基本認証を有効にしておきます。 mqwebuser.xml ファイルに次の XML が存在し、コメント化されていないことを確認してください。 この XML は <featureManager> タグ内になければなりません。
    <feature>basicAuthenticationMQ-1.0</feature>

    [z/OS] z/OS® で、このファイルを編集するには、 への書き込み権限を持つユーザーでなければならない。 mqwebuser.xml

    [UNIX、Linux、Windows、IBM i]その他のオペレーティング・システムでは、 mqwebuser.xml ファイルを編集するには特権ユーザー である必要があります。

  • REST 要求を送信するときは、セキュア接続を使用していることを確認してください。 ユーザー名とパスワードの組み合わせは暗号化されていますが、暗号化されていないため、 REST API で HTTP 基本認証を使用する場合は、安全な接続 ( HTTPS ) を使用する必要があります。
  • login リソースに対する HTTP GET メソッドを使用することにより、現行ユーザーの資格情報を照会できます。このメソッドを使用する際、その要求を認証するための基本認証情報を指定する必要があります。 この要求は、ユーザー名、およびユーザーに割り当てられている役割に関する情報を返します。 詳細は GET /login を参照。

手順

  1. ユーザー名とパスワードをコロンで連結します。 ユーザー名は大/小文字が区別されることに注意してください。
    例えば、ユーザー名が admin でパスワードが admin の場合は、次のストリングになります。
    admin:admin
  2. ユーザー名とパスワードのこのストリングを base64 エンコードでエンコードします。
  3. このエンコードされたユーザー名とパスワードを HTTP Authorization: Basic ヘッダーに含める。
    例えば、ユーザー名 admin とパスワード admin がエンコードされた場合、次のヘッダーが作成されます。
    Authorization: Basic YWRtaW46YWRtaW4=
  4. HTTP の POST、PATCH、DELETE のいずれかのメソッドを使用する場合は、ユーザー名とパスワードと一緒に追加の認証を指定する必要があります。
    この追加認証は、ibm-mq-rest-csrf-token HTTP ヘッダーで指定します。 ibm-mq-rest-csrf-token HTTP ヘッダーは要求の中に存在する必要がありますが、その値はブランクを含めどのような値でも構いません。
  5. 適切なヘッダーを付けて、 IBM MQ に REST リクエストを送信します。

以下の例では、 Windows システムのキューマネージャ QM1 上に、基本認証を使用して新しいキュー Q1 を作成する方法を示しています。 この例では cURL を使用しています。
  • キュー・リソースを指定して HTTP POST メソッドを実行し、基本認証で認証を行い、任意の値を指定した ibm-mq-rest-csrf-token HTTP ヘッダーを組み込みます。 この値は任意の値にすることができます (ブランクでも構いません)。
    curl -k https://localhost:9443/ibmmq/rest/v1/admin/qmgr/QM1/queue -X POST
    -u mqadmin:mqadmin
    -H "ibm-mq-rest-csrf-token: value"
    -H "Content-Type: application/json" --data "{\"name\":\"Q1\"}"