はじめに

このエントリでは、「Developer」、「Contributor」、「Consumer」という3種類のユーザータイプを定義し、アプリを開発できるユーザー、アプリの参照だけが行えるユーザーなどの設定を行える方法をご説明します。作成するユーザータイプは以下の3つになります:

  • Developer:アプリ、シート、ストーリー、データ接続などを開発・作成できるユーザー
  • Contributor:公開されたアプリの参照や、アプリに対してシートやストーリーの追加を行えるユーザー
  • Consumer:公開されたアプリ等の参照のみを行えるユーザー

それぞれのユーザータイプに付与されるアクティビティの実行権限は以下の表のとおりとなります。

アクティビティ Developer Contributor Consumer
Create app × ×
Create app object ×
Create data connection × ×

尚、以前のエントリで、ユーザー切り替え画面の設置方法と、ストリーム単位にアクセスできるユーザーを限定するアクセス制御の方法についてご説明しました。

>チケット認証でのユーザー切り替え画面設置: Qlik Sense Enterprise

>Qlik Senseのセキュリティルール:ストリームのアクセス制御

ユーザータイプの定義はこれらの設定を必要とはしませんが、このエントリでのご説明は上記エントリでの作業を完了している環境をベースとして実施させて頂きます。また、ここでご説明する内容は以下のQlik Senseのヘルプの内容を元にしていますので、併せてそちらもご参照ください。

>セキュリティ ルールの例:ユーザー タイプ別 Qlik Sense アクセス権の適用

カスタムプロパティの作成

QMC(Qlik Management Console)を開き、左側メニューから「Custom properties」をクリックします。

  • QMC URL: https://<サーバー名>/qmc

image

「Create new」をクリックします。

image

以下を入力して「Apply」をクリックします。

  • 「Name」に「UserType」と入力
  • 「Resource types」の「Users」のチェックをON
  • 「Values」の一覧上の「Create new」をクリックし、「Contributor」、「Consumer」、「Developer」を追加

image

ユーザーへのカスタムプロパティの設定

QMCのメインメニューを表示し、「Manage Content」>「Users」をクリックします。

image

「Name」列のフィルタアイコンをクリックし、検索対象のユーザー(ここではbbr)を入力します。

image

一覧からユーザーを選択し、「Edit」をクリックします。

image

右側から「Custom properties」のチェックをONにし、「UserType」のリストボックスから「Consumer」を選択して「Apply」ボタンをクリックします。

image

以下の一覧の定義に従い、上記の作業を全てのユーザーに対して実施します。

ユーザーID 「UserType」のプロパティ
bbr Consumer
ams Consumer
stg Consumer
dal Contributor
frt Contributor
raz Contributor
lan Consumer
bad Contributor
pas Consumer
jao Developer
kag Developer
ran Developer
asa Developer
pey Developer

新規セキュリティルールの作成

以下の3つのセキュリティルールを新規作成します。

  • ModCreateApp
  • ModCreateAppObjects
  • ModDataConnection

QMCのメインメニューを表示し、「Manage Resources」>「Security rules」をクリックします。

image

「Create new」をクリックします。

image

右側から「Advanced」のチェックをONにし、以下の通り入力します。

項目名 設定内容
Name ModCreateApp
Resource filter App_*
Conditions !user.IsAnonymous() and (user.@usertype=”Developer”)
Actions Create

image

上記と同様の手順で、以下の2つのルールを作成します。

・ModCreateAppObjects

項目名 設定内容
Name ModCreateAppObjects
Resource filter App.Object_*
Conditions resource.App.HasPrivilege(“read”) and !user.IsAnonymous() and (user.@usertype=”Developer” or user.@usertype=”Contributor”)
Actions Create

image

・ModDataConnection

項目名 設定内容
Name ModDataConnection
Resource filter DataConnection_*
Conditions resource.resourcetype = “DataConnection” and (user.@usertype=”Developer”)
Actions Create

image

デフォルト・セキュリティルールの無効化

以下の4つのデフォルト・セキュリティルールを無効化します。

  • CreateApp
  • CreateAppObjectsPublishedApp
  • CreateAppObjectsUnPublishedApp
  • DataConnection

QMCのメインメニューを表示し、「Manage Resources」>「Security rules」をクリックします。

image

「CreateApp」を一覧から選択し、「Edit」をクリックします。

image

「Disabled」のチェックをONにし、「Apply」をクリックします。

image

同様の手順を以下のルールに対して繰り返します。

  • CreateAppObjectsPublishedApp
  • CreateAppObjectsUnPublishedApp
  • DataConnection

アクセスの確認

ユーザー切り替え画面(https://<サーバー名>/custom/hub)を表示し、「bbr」のユーザーでログオンします。

image

「bbr」ユーザーは新規アプリの作成を行えない「Consumer」ユーザータイプのユーザーのために、左側に「マイワーク」が表示されていないことを確認します。

image

また、任意のアプリを開くと、マイシートの新規作成が行えないことを確認し、ログアウトします。

image

次に「dal」のユーザーでログオンします。

image

「dal」ユーザーも新規アプリの作成を行えない「Contributor」ユーザータイプのユーザーのために、左側に「マイワーク」が表示されていないことを確認します。

image

ただし、「Contributor」は既存のアプリにシートなどの追加は行えるため、任意のアプリを開くと、マイシートの新規作成が行えることを確認し、ログアウトします。

image

最後に「jao」のユーザーでログオンします。

image

「jao」ユーザーも新規アプリの作成をる「Developer」ユーザータイプのユーザーのために、左側に「マイワーク」が表示されており、「アプリの新規作成」のボタンをクリックして新規アプリを作成できることを確認します。

image

また、任意のアプリを開くと、マイシートの新規作成が行えることを確認します。

image

まとめ

以上、、「Developer」、「Contributor」、「Consumer」という3種類のユーザータイプを定義し、それぞれ異なった権限を付与するセキュリティルールの設定についてご説明いたしました。この様に、Qlik Sense Enterpriseでは要件に応じた柔軟なセキュリティ設定が可能となっています。