チケット認証でのユーザー切り替え画面設置: Qlik Sense Enterprise
目次
はじめに
このエントリでは、チケット認証を使って以下のようなユーザー切り替え画面を設置する方法をご説明します。
一覧からユーザーの「Login」ボタンをクリックすることで容易にどのユーザーでログインするかを切り替えることができ、Qlik Sense Enterpriseをデモ環境として利用する場合に非常に便利です。(このままでの本番環境での利用は推奨されません。)また、ここでご紹介するモジュールはチケット認証(Ticket Authentication)の仕組みを利用しており、チケット認証を実装するに当たってサンプルとして利用することも出来ます。
Node.jsの導入
今回利用するモジュールは、Node.jsを利用しており、Node.jsの導入が前提となります。以下のNode.jsサイトからNode.jsをダウンロードしてインストールします。
AccessControlTestModuleのダウンロードと設定
以下のサイトへアクセスします。(Qlik Branchへの登録が必要です。)
「Project Website」のリンクをクリックします。
Githubのサイトが開きますので、「Download ZIP」をクリックしてコードをダウンロードします。
ZIPファイルをQlik Sense Enterprise上に解凍します。(このチュートリアルでは、Cドライブ直下に「AccessControlTestModule」とう名称のフォルダに解凍したものとしてご説明します。)
証明書のダウンロード
Qlik Management Console(QMC)を開き、「Certificates」をクリックします。
「Machine name」に任意の名称、「Certificate password」に「test」と入力して「Export certificates」をクリックします。
「C:\ProgramData\Qlik\Sense\Repository\Exported Certificates\<Machine name>\」フォルダを開き、「client.pfx」と「server.pfx」ファイルを選択してコピーします。
「C:\AccessControlTestModule」フォルダ配下に、「client.pfx」と「server.pfx」ファイルを貼り付けます。
コマンドラインを開き、「C:\AccessControlTestModule」フォルダに移動します。
「npm install」を実行します。
npm install実行時に以下の様なエラーが出力される場合には、「C:\Users\<ユーザー名>\AppData\Roaming\npm」以下に「npm」という名称のディレクトリを作成し、再度実行してください。![]() |
「node AccessControlTestModule.js」を実行します。Node.jsのウェブサーバーが8185番ポートで開始されます。
Qlik Sense Enterpriseの仮想プロキシ設定
Qlik Management Consoleを開き、左側メニューから「Proxies」を選択します。
「Central Proxy」を選択し「Edit」ボタンをクリックします。
右側の一覧から「Virtual Proxies」をクリックしてチェックをONにします。
下部から「Add」>「Create new」を選択します。
以下を入力します。
- Description: 任意の名称を入力(以下の例では「Ticket Authentication」と入力
- Prefix: 「custom」
- Session cookie header name: X-Qlik-Session-custom (後尾に「-custom」を追加)
「Load balancing nodes」の一覧で「Add new server node」をクリックし、「Central」を選択して「Add」をクリックします。
右側で「Advanced」をチェックし、ブラウザでアクセスする際に利用するサーバーのアドレスを入力します。
右側で「Integration」をチェックし、「Authentication module redirect URI」に「https://<<サーバー名>>:8185」を入力します。
「Apply」をクリックして保存し、Virtual Proxyが追加されたことを確認します。
以下のウインドウが表示された場合には「Restart QMC」をクリックします。
ライセンス付与と接続の確認
以下のURLをブラウザに入力すると以下の画面が表示されることを確認してください。
- ハブへのアクセス:http://<サーバー名>/custom/hub
- QMCへのアクセス: http://<サーバー名>/custom/qmc
UserIDが「bbr」のユーザーの「Login」をクリックします。
初回アクセス時には、以下のエラーが表示されます。これは、アクセスしたユーザー(bbr)にアクセスライセンスが付与されていないためにエラー表示されています。
QMCを開き、トップメニューから「License and tokens」をクリックします。
右側から「User access allocations」にチェックし、「Allocate」ボタンをクリックします。
ライセンスを付与するユーザー(ここではbbr)を選択し、「Allocate」ボタンをクリックします。
ユーザーが追加されたことを確認します。これで、bbrのユーザーにアクセスするライセンスが付与されました。
ユーザー切り替え画面に戻り、再度UserIDが「bbr」のユーザーの「Login」をクリックします。
指定したユーザーでハブにログオンしたことを確認します。
「ログアウト」をクリックします。
ユーザー切り替え画面に戻ることを確認します。別のユーザーでログオンする場合には、上記と同様の手順でライセンスを付加する必要があります。
また、既存のユーザーで切り替えを行いたい場合には、以下の手順に従い「SelectUser.htm」ファイルを修正することで対応が可能です。
「C:\AccessControlTestModule」ディレクトリ以下に存在する「SelectUser.htm」ファイルを修正することで、ユーザー切り替え画面の一覧に表示されるユーザーを変更することが可能です。![]() |
まとめ
以上、Qlik Sense Enterprise上でチケット認証を使ったユーザー切り替え画面を設置する方法をご説明いたしました。