メイン コンテンツをスキップする

データ削減

このページ上

データ削減

データ削除は、ユーザーが表示することができるデータを決定するのに使用されます。それはデータのすべての部分ですか、それとも一部のみですか?

データ削減機能は、セクション アクセスの概念に基づいており、ユーザーが閲覧できるデータを動的に変更する手段です。これにより、多くのユーザーが使えるアプリを構築できますが、ユーザー情報に基づき動的に作成される異なるデータ セットが必要となります。データ削減は、Qlik Sense Engine Service (QES) によって実施されます。

セクション アクセスに関するアクセス権限の定義はアプリで管理されており、ロード スクリプトを通じて設定されます。

セクションへの安全なアクセス管理

セキュリティ管理には、データ ロード スクリプトのセクション アクセスを使用します。この方法であれば、複数のユーザーやグループのデータを 1 つのファイルで保管できます。Qlik Sense は認証と承認のためセクション アクセスで情報を使用し、データを動的に減らすため、ユーザーには自身のデータしか表示されません。

注: SaaS editions of Qlik Sense ではユーザー グループに対応していません。

ファイル自体にセキュリティが組み込まれるので、ダウンロードしたファイルもある程度は保護されます。しかし、徹底的なセキュリティ対策を講じるには、ファイルのダウンロードやオフライン使用を防止しなければなりません。また、ファイルの公開は必ず Qlik Sense サーバーで行う必要があります。 この方法では 1 つのファイルにすべてのデータを保持するため、ファイルのサイズが非常に大きくなる可能性がある点に留意してください。

警告:

To avoid exposing restricted data, remove all attached files with section access settings before publishing the app.

Attached files are included when the app is published. If the published app is copied, the attached files are included in the copy. However, if section access restrictions have been applied to the attached data files, the section access settings are not retained when the files are copied, so users of the copied app will be able to see all the data in the attached files.

警告: スナップショットには、スナップショットを取得するユーザーのアクセス権限に従ってデータが表示され、そのスナップショットは 1 つのストーリーで共有することができます。ただし、ユーザーがアプリでライブ データを見るためにストーリーからビジュアライゼーションに戻ると、それらのスナップショットは、それ独自のアクセス権限によって制限されます。
警告:

セクション アクセスを使用する場合、または極秘データを扱う場合は、値が色構成により公開される可能性があるため、マスター軸の値に色を割り当てないでください。

スクリプトのセクション

アクセス制御は、Qlik Sense のデータのロードと同じ方法でロードされる 1 つまたは複数のセキュリティ テーブルを通じ管理されます。そのため、これらのテーブルは通常のデータベースに格納できます。セキュリティ テーブルを管理するスクリプト ステートメントは、スクリプトの中で Section Access ステートメントで開始されるアクセス セクション内に指定します。

スクリプト内でアクセス セクションが定義されている場合、アプリのデータをロードする部分のスクリプトを Section Application で開始される別のセクション内に配置する必要があります。

Example:  

Section Access; LOAD * inline [ ACCESS, USERID USER, User_ID ]; Section Application; LOAD... ... from... ...

セクション アクセスのシステム項目

アクセス レベルは、セクション アクセス内にロードされた 1 つまたは複数のテーブルに含まれるユーザーに割り当てられます。これらのテーブルには、USERID やアクセス レベルを定義する ACCESS など、ユーザー固有のさまざまなシステム項目を含めることができます。認証と承認は、セクション アクセスのすべてのシステム フィールドに基づき行われます。セクション アクセスのすべてのシステム項目は次のとおりです。

対応するユーザーに与えられるアクセス権を定義します。

指定したユーザーまたはユーザーのグループに対して、Qlik Sense アプリへのアクセスを承認できます。セキュリティ テーブルでは、アクセス レベルの ADMIN または USER をユーザーに割り当てることができます。有効なアクセス レベルが割り当てられていないユーザーは、アプリを開くことができません。

ADMIN 権限を持つユーザーは、アプリのすべてのデータにアクセスできます。USER 権限を持つユーザーは、セキュリティ テーブルで指定されたデータにのみアクセスできます。

テンプレート アプリの On-demand アプリ生成 (ODAG) シナリオでセクション アクセスが使用されている場合、INTERNAL\SA_API ユーザーは、セクション アクセス テーブルに ADMIN として含まれる必要があります。例:

Section Access; LOAD * inline [ ACCESS, USERID ADMIN, INTERNAL\SA_API ];

Contains a string corresponding to a Qlik Sense user name. Qlik Sense will get the login information from the proxy and compare it to the value in this field.

Qlik Sense 内のグループに対応する文字列を含みます。Qlik Sense は、プロキシから提供されるユーザーを、このグループに基づいて解決します。

注: グループを使用してデータを削減し、Qlik Management Console を使用する場合でも、INTERNAL\SA_SCHEDULER アカウント ユーザーが必要とされます。

この特定のユーザーに対して省略する項目の名前を含みます。ワイルドカードを使用することができます。空にすることもできます。これは、サブ フィールドを用いることで簡単に行えます。

注: OMIT をキー項目に適用しないことをお勧めします。省略されたキー項目はデータ モデル ビューアーに表示されますが、コンテンツは使用できないので、ユーザーを混乱させる可能性があります。さらに、ビジュアライゼーションで使用されるキー項目に OMIT を適用すると、省略された項目へのアクセス権を持っていないユーザーにはビジュアライゼーションが不完全なものになります。

Qlik Sense はプロキシから取得したユーザーを UserID と比較し、そのユーザーがテーブル内のグループに含まれているか確認します。ユーザーがアクセス権のあるグループに属する場合、あるいはユーザーが一致した場合、アプリへのアクセスが付与されます。

注:

セクション アクセスを設定することで、アプリから自分自身をロックしている場合、データなしでアプリを開き、データ ロード スクリプトでアクセス セクションを編集することができます。そのためには、データ ロード スクリプトの編集およびリロードにアクセスできる必要があります。

詳しくは、「データなしでアプリを開く」をご覧ください。

Qlik Sense では同じ内部ロジックがアクセス セクションでも使用されているため、セキュリティ項目をさまざまなテーブルに配置できます。セクション アクセス内の LOAD または SELECT ステートメントにリストする項目は、すべて大文字で記述する必要があります。データベース内の小文字を含む項目名は、 または ステートメントで読み取る前に、Upper 関数で大文字に変換されます。 LOADSELECT

詳しくは、「Upper」を参照してください。

ワイルドカード (*) は、この項目に含まれるすべての値 (リストされている値)、つまりこのテーブル内のその他の場所にリストされている値として解釈されます。スクリプトのアクセス セクションでロードされたテーブル内のシステム項目 (USERID、GROUP) の 1 つで使用すると、この項目のすべての可能な値 (リストされていない値も含む) として解釈されます。

注: QVD ファイルからデータをロードする際に Upper 関数を使用すると、ロード速度が低下します。
注: セクション アクセスを有効にした場合は、ここにリストされたセクション アクセスのシステム項目名をデータ モデルの項目名として使用できなくなります。

Example:  

この例では、財務部のユーザーのみがドキュメントを開けます。

ドキュメントへのアクセス
アクセス グループ
ユーザー 財務

動的データ削減

Qlik Sense は動的データ削除をサポートしています。動的データ削除では、アプリのデータの一部を、セクション アクセス ログインに基づき、ユーザーに対し非表示にすることができます。

  • 例えば、システム項目 OMIT を使用して項目 (列) を非表示にできます。
  • レコード (行) は、実データにセクション アクセス データをリンクさせて、非表示にすることができます。表示されるまたは除外される値の選択は、セクション アクセスおよびセクション アプリケーションで 1 つ以上の項目に共通の名前を付けることで制御されます。ユーザー ログインの後、Qlik Sense はセクション アクセスの項目にある選択と、同じ項目名 (項目名は大文字で書かれる必要があります) のセクション アプリケーションの項目との照合を試みます。選択が行われると、Qlik Sense は選択によって除外されたすべてのデータをユーザーに表示しなくなります。
注: セクション アクセスでは、すべての項目名と項目値がデフォルトで大文字に変換されるので、上で説明した転送で使用するすべての項目名とそれらの項目のすべての項目値を大文字にする必要があります。
注: Qlik Management Console タスクでスクリプトのリロードを有効にする場合は、ADMIN アクセス権を付与されている INTERNAL\SA_SCHEDULER アカウント ユーザーが必要とされます。

Example: ユーザー ID に基づくデータ削減

Section Access; LOAD * inline [ ACCESS, USERID, REDUCTION, OMIT USER, AD_DOMAIN\ADMIN, *, USER, AD_DOMAIN\A, 1, USER, AD_DOMAIN\B, 2, NUM USER, AD_DOMAIN\C, 3, ALPHA ADMIN, INTERNAL\SA_SCHEDULER, *, ]; section application; T1: LOAD *, NUM AS REDUCTION; LOAD Chr( RecNo()+ord('A')-1) AS ALPHA, RecNo() AS NUM AUTOGENERATE 3;

現在、項目 REDUCTION (大文字) がセクション アクセスとセクション アプリケーションの両方にあります (項目値はすべて大文字)。2 つの項目は通常全く別のもので分かれていますが、セクション アクセスを使用すると、この項目はリンクし、ユーザーに表示されるレコードの数が減ります。

セクション アクセスの項目 OMIT で、ユーザーに表示しない項目を定義します。

結果は次のようになります。

  • ユーザー ADMIN は、REDUCTION が 1 または 2、3 の場合にその他のユーザーに表示されるレコードとすべての項目を見ることができます。
  • User A は、すべての項目と、REDUCTION=1 に関連付けられたレコードを見ることができます。
  • User B は、NUM 以外のすべての項目と、REDUCTION=2 に関連付けられたレコードを見ることができます。
  • User C は、ALPHA 以外のすべての項目と、REDUCTION=3 に関連付けられたレコードを見ることができます。

Example: ユーザー グループに基づくデータ削減

Section Access; LOAD * inline [ ACCESS, USERID, GROUP, REDUCTION, OMIT USER, *, ADMIN, *, USER, *, A, 1, USER, *, B, 2, NUM USER, *, C, 3, ALPHA USER, *, GROUP1, 3, ADMIN, INTERNAL\SA_SCHEDULER, *, *, ]; section application; T1: LOAD *, NUM AS REDUCTION; LOAD Chr( RecNo()+ord('A')-1) AS ALPHA, RecNo() AS NUM AUTOGENERATE 3;

結果は次のようになります。

  • ADMIN グループに属するユーザーは、すべてのデータとすべての項目を見ることができます。
  • グループに属するユーザーは、すべての項目において に関連付けられたデータを見ることができます。A REDUCTION=1
  • B グループに属するユーザーは、REDUCTION=2 に関連付けられたデータを見ることができますが、NUM 項目のデータは見ることができません。
  • C グループに属するユーザーは、REDUCTION=3 に関連付けられたデータを見ることができますが、ALPHA 項目のデータは見ることができません。
  • GROUP1 グループに属するユーザーは、すべての項目において REDUCTION=3 に関連付けられたデータを見ることができます。
  • ユーザー INTERNAL\SA_SCHEDULER はどのグループにも属しませんが、すべての項目のすべてのデータを見ることができます。

    注:

    この行のワイルドカード (文字 *) は、セクション アクセス テーブル内のすべての値のみを指します。セクション アプリケーションに、セクション アクセスの REDUCTION 項目には存在しない値がある場合、その値は削減されます。

アクセス制限の継承

注: この機能は SaaS editions of Qlik Sense では使用できません。

バイナリ ロードを使用すると、新しい Qlik Sense アプリにアクセス制限が継承されます。