はじめに

このエントリでは、チケット認証を使って以下のようなユーザー切り替え画面を設置する方法をご説明します。

image

一覧からユーザーの「Login」ボタンをクリックすることで容易にどのユーザーでログインするかを切り替えることができ、Qlik Sense Enterpriseをデモ環境として利用する場合に非常に便利です。(このままでの本番環境での利用は推奨されません。)また、ここでご紹介するモジュールはチケット認証(Ticket Authentication)の仕組みを利用しており、チケット認証を実装するに当たってサンプルとして利用することも出来ます。

Node.jsの導入

今回利用するモジュールは、Node.jsを利用しており、Node.jsの導入が前提となります。以下のNode.jsサイトからNode.jsをダウンロードしてインストールします。

>>Node.js

image

AccessControlTestModuleのダウンロードと設定

以下のサイトへアクセスします。(Qlik Branchへの登録が必要です。)

Access Control Test Module

「Project Website」のリンクをクリックします。

image

Githubのサイトが開きますので、「Download ZIP」をクリックしてコードをダウンロードします。

image

ZIPファイルをQlik Sense Enterprise上に解凍します。(このチュートリアルでは、Cドライブ直下に「AccessControlTestModule」とう名称のフォルダに解凍したものとしてご説明します。)

image

証明書のダウンロード

Qlik Management Console(QMC)を開き、「Certificates」をクリックします。

image

「Machine name」に任意の名称、「Certificate password」に「test」と入力して「Export certificates」をクリックします。

image

「C:\ProgramData\Qlik\Sense\Repository\Exported Certificates\<Machine name>\」フォルダを開き、「client.pfx」と「server.pfx」ファイルを選択してコピーします。

image

「C:\AccessControlTestModule」フォルダ配下に、「client.pfx」と「server.pfx」ファイルを貼り付けます。

image

コマンドラインを開き、「C:\AccessControlTestModule」フォルダに移動します。

image

「npm install」を実行します。

image

npm install実行時に以下の様なエラーが出力される場合には、「C:\Users\<ユーザー名>\AppData\Roaming\npm」以下に「npm」という名称のディレクトリを作成し、再度実行してください。
image

「node AccessControlTestModule.js」を実行します。Node.jsのウェブサーバーが8185番ポートで開始されます。

image

Qlik Sense Enterpriseの仮想プロキシ設定

Qlik Management Consoleを開き、左側メニューから「Proxies」を選択します。

image

「Central Proxy」を選択し「Edit」ボタンをクリックします。

image

右側の一覧から「Virtual Proxies」をクリックしてチェックをONにします。

image

下部から「Add」>「Create new」を選択します。

image

以下を入力します。

  • Description: 任意の名称を入力(以下の例では「Ticket Authentication」と入力
  • Prefix: 「custom」
  • Session cookie header name: X-Qlik-Session-custom (後尾に「-custom」を追加)

image

「Load balancing nodes」の一覧で「Add new server node」をクリックし、「Central」を選択して「Add」をクリックします。

image

右側で「Advanced」をチェックし、ブラウザでアクセスする際に利用するサーバーのアドレスを入力します。

image

右側で「Integration」をチェックし、「Authentication module redirect URI」に「https://<<サーバー名>>:8185」を入力します。

image

「Apply」をクリックして保存し、Virtual Proxyが追加されたことを確認します。

image

以下のウインドウが表示された場合には「Restart QMC」をクリックします。

image

ライセンス付与と接続の確認

以下のURLをブラウザに入力すると以下の画面が表示されることを確認してください。

  • ハブへのアクセス:http://<サーバー名>/custom/hub
  • QMCへのアクセス: http://<サーバー名>/custom/qmc

image

UserIDが「bbr」のユーザーの「Login」をクリックします。

image

初回アクセス時には、以下のエラーが表示されます。これは、アクセスしたユーザー(bbr)にアクセスライセンスが付与されていないためにエラー表示されています。

image

QMCを開き、トップメニューから「License and tokens」をクリックします。

image

右側から「User access allocations」にチェックし、「Allocate」ボタンをクリックします。

image

ライセンスを付与するユーザー(ここではbbr)を選択し、「Allocate」ボタンをクリックします。

image

ユーザーが追加されたことを確認します。これで、bbrのユーザーにアクセスするライセンスが付与されました。

image

ユーザー切り替え画面に戻り、再度UserIDが「bbr」のユーザーの「Login」をクリックします。

image

指定したユーザーでハブにログオンしたことを確認します。

image

「ログアウト」をクリックします。

image

ユーザー切り替え画面に戻ることを確認します。別のユーザーでログオンする場合には、上記と同様の手順でライセンスを付加する必要があります。

image

また、既存のユーザーで切り替えを行いたい場合には、以下の手順に従い「SelectUser.htm」ファイルを修正することで対応が可能です。

「C:\AccessControlTestModule」ディレクトリ以下に存在する「SelectUser.htm」ファイルを修正することで、ユーザー切り替え画面の一覧に表示されるユーザーを変更することが可能です。
image

まとめ

以上、Qlik Sense Enterprise上でチケット認証を使ったユーザー切り替え画面を設置する方法をご説明いたしました。