# セキュリティ

QlikView におけるセキュリティのメカニズムは、2 つの異なる方法で設定できます。 QlikView ドキュメントのロード スクリプトに組み込むか、QlikView Publisher を使用して設定します。

## 認証と承認

認証は、承認を求めている人が本人であることを検証するためのプロセスです。QlikView では、Windows オペレーティング システムに認証を任せるか、ユーザー ID とパスワード (Windows のユーザー ID とパスワードとは異なるもの) を要求するか、QlikView ライセンス キーを簡単な認証方法として使用することができます。

承認は、識別された人がリソースを持つことを許可されているかどうかを判断することです。QlikView は、Windows オペレーティング システムに承認を任せるか、自身で承認を行うことができます。後者の場合は、セキュリティ テーブルをロード スクリプトに組み込む必要があります。

## QlikView Publisher によるセキュリティ

QlikView Publisher でセキュリティを処理するように設定すると、各 QlikView ファイルがいくつかのファイルに分割され、関連ユーザーまたはユーザー グループに関するデータが各ファイルに格納されます。これらのファイルは、正しい OS セキュリティ設定を含むフォルダに格納されます。つまり、QlikView はオペレーティング システムに認証と承認を処理させます。

ただし、ファイル自体に組み込まれたセキュリティがないので、ダウンロードしたファイルは保護されません。

1 つのファイルがいくつかに分割され、ユーザーは自分のデータを含むファイルを開くだけなので、通常はファイル サイズが小さくなります。ただし、これにより、同じデータを含む複数のファイルがロードされることがあるので、1 つのファイルにすべてのデータを保持する場合に比べて、QlikView Server が使用するメモリが増える可能性もあります。

詳細については、QlikView Publisher のドキュメントを参照してください。

## QlikView ロード スクリプトのセクション アクセスによるセキュリティ

QlikView スクリプトの Section Access でセキュリティを処理するように設定すると、1 つのファイルで多数のユーザーやユーザー グループのデータを保持できます。QlikView は、Section Access 内の情報を使用することにより、認証と承認を行い、ユーザーが自分のデータのみにアクセスするようにデータを動的に削減します。

ファイル自体にセキュリティが組み込まれるので、ダウンロードしたファイルもある程度まで保護されます。ただし、セキュリティの必要性が高い場合は、ファイルのダウンロードとオフライン使用を禁止する必要があります。ファイルは、QlikView Server によってのみ公開する必要があります。

1 つのファイルにすべてのデータが保持されるので、このファイルはサイズが非常に大きくなる可能性があります。

QlikViewドキュメントは、オフライン モードで非表示にすることができます。オフラインのユーザー ドキュメントを非表示にするには、QMC を使用して、ユーザー ドキュメントのドキュメント情報セクションで、次の属性を追加します。

* 名前: 表示しない
* 値:真

以下の情報すべては、QlikView スクリプトの Section Access を使用したセキュリティ方法に関連します。

## ロード スクリプトのセクション

行レベルのアクセスは、データが通常ロードされるのと同じ方法でロードされる 1 つまたは複数のセキュリティ テーブルを通じ管理されます。これにより、これらのテーブルを標準のデータベースまたはスプレッドシートに保存できます。セキュリティ テーブルを管理するスクリプト ステートメントは、スクリプトの中で Section Access ステートメントで開始される承認セクション内に指定します。

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

```

			Section Access;
			AuthorizationTable:
			Load ACCESS,  USERID,   REGION From ...;
   
			Section Application;
			Load ... From ...;
		
```

## セクション アクセスのアクセス レベル

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

管理者 ("ADMIN") アクセス権限を持つ人は、ドキュメントのすべての項目を変更できます。管理者アクセス権限 ("ADMIN") を与えられた人は、[ドキュメント プロパティ] ダイアログと [シート プロパティ] ダイアログの [セキュリティ] ページを使用して、ユーザーがドキュメントを変更する可能性を制限できます。ユーザー権限 ("USER") を与えられた人は、[セキュリティ] ページにアクセスできません。

情報メモ管理者アクセス権 (ADMIN) はローカル ドキュメントにのみ当てはまります。サーバー上で開かれたドキュメントには、常にユーザー権限 (USER) でアクセスされます。

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

アクセス レベルは、セクション アクセス内にロードされた 1 つまたは複数のテーブルに含まれるユーザーに割り当てられます。これらのテーブルには、さまざまなユーザー固有のシステム項目を含めることができます。通常は、"USERID" と "PASSWORD"、およびアクセス レベルを定義する項目の "ACCESS" です。セクション アクセス のすべてのシステム項目が認証と承認に使用されます。section access のすべてのシステム項目を以下に説明します。

セキュリティ項目は、すべてまたは任意の組み合わせをアクセス セクションにロードできます。また、何もロードしないことも可能です。よって、USERID を使用する必要はありません。シリアル番号など、他の項目のみを使用して、承認を行うことができます。

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

| 項目 | 説明 |
| --- | --- |
| ACCESS | 対応するユーザーに与えられるアクセス権限を定義する項目。 |
| USERID | 許可されるユーザー ID を含む項目。QlikView がユーザー ID の入力を要求し、この項目の値と比較します。このユーザー ID は、Windows のユーザー ID と同じではありません。 |
| USER.EMAIL | 現在はサポートされていません。QlikView ではワイルドカードにのみ一致します。 |
| PASSWORD | 許可されるパスワードを含む項目。QlikView がパスワードの入力を要求し、この項目の値と比較します。このパスワードは、Windows のパスワードと同じではありません。 |
| SERIAL | QlikView シリアル番号に対応する番号、または文字列 'QLIKVIEW' を含む必要があるフィールド。<br>例：4900 2394 7113 7304。<br>QlikView がユーザーのシリアル番号または文字列 'QLIKVIEW' を確認し、それをこの項目の値と比較します。 |
| NTNAME | Windows NT のドメイン ユーザー名またはグループ名に対応する文字列を含む項目。別の認証システムを使用する場合、認証されたユーザーの名前が含まれている必要があります。<br>QlikView が OS からログオン情報を取得し、それをこの項目の値と比較します。 |
| NTDOMAINSID | Windows NT ドメイン SID に対応する文字列を含む必要があるフィールド。<br>例：S-1-5-21-125976590-4672381061092489882。<br>QlikView が OS からログオン情報を取得し、それをこの項目の値と比較します。 |
| NTSID | Windows NT SID を含む必要があるフィールド。<br>例：S-15-21-125976590-467238106-1092489882-1378。<br>QlikView が OS からログオン情報を取得し、それをこの項目の値と比較します。 |
| OMIT | この特定のユーザーに対して省略する項目を含む項目。ワイルドカードを使用することができます。空にすることもできます。これを手軽に行うには、サブフィールドを使用します。<br><br>情報メモ基盤のデータ構造が変更されてしまうため、キー項目には OMIT を適用しないでください。適用すると、論理の孤立化や計算の矛盾が生じる可能性があります。 |

QlikView は、QlikView のシリアル番号を SERIAL 項目と、Windows NT ユーザー名およびグループを NTNAME と、Windows NT ドメインの SID を NTDOMAINSID と、Windows NT の SID を NTSID と比較します。さらに、ユーザー ID とパスワードの入力を要求し、それらを USERID および PASSWORD 項目と比較します。

ユーザー ID、パスワード、および環境プロパティの見つかった組み合わせが section access テーブルでも見つかると、対応するアクセス レベルでドキュメントが開きます。見つからない場合、QlikView はドキュメントへのユーザー アクセスを拒否します。ユーザー ID やパスワードが正しく入力されない場合は、ログオン手順全体を繰り返す必要があります。

QlikView の特徴である同じ内部ロジックがアクセス セクションでも使用されているので、セキュリティ項目をさまざまなテーブルに配置できます。このため、システム管理者はセキュリティ テーブルから QlikView ドキュメントを作成できます。この場合は、対応する項目値をクリックすることで、正しいシリアル番号、パスワードなどがシミュレートされます。)

ログオン手順では、QlikView は最初に SERIAL、NTNAME、NTDOMAINSID、NTSID をチェックして、この情報がドキュメントへのユーザー アクセスを許可するために十分であるかどうかを確認します。十分である場合、QlikView はユーザー ID とパスワードの入力を要求せずに、ドキュメントを開きます。

アクセス項目の一部のみがロードされる場合は、上の要件のうちの対応する部分が使用されます。

セクション アクセス内の LOAD または SELECT ステートメントにリストする項目は、すべて大文字で記述する必要があります。データベース内の小文字を含む項目名は、Load または Select ステートメントで読み取られる前に、upper 関数を使用して大文字に変換する必要があります。

[Upper - スクリプトおよびチャート関数](https://help.qlik.com/ja-JP/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/Scripting/StringFunctions/Upper.htm)

ただし、QlikView ドキュメントを開くエンド ユーザーが入力するユーザー ID とパスワードは、大文字と小文字が区別されません。

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

情報メモQVD ファイルからデータをロードする際に Upper 関数を使用すると、ロード速度が低下します。

情報メモinline ステートメントでアクセス テーブルを生成するには、[アクセス制限テーブル ウィザード] を使用します。

情報メモセクション アクセスを有効にした場合は、ここにリストされたセクション アクセスのシステム項目名をデータ モデルの項目名として使用できなくなります。

シリアル番号のみがチェックされます。特定の 1 台のコンピュータに管理者アクセス権限が与えられます。それ以外のすべてにユーザー アクセス権限が与えられます。このとき、スターを使用して "任意のシリアル番号" を示すことができます。

例 1

| ACCESS | SERIAL |
| --- | --- |
| ADMIN | 4900 2394 7113 7304。 |
| USER | \* |

管理者と、QlikView がバッチ ジョブとして実行されているサーバーに、管理者アクセス権が与えられます。ドメインのその他の人は、ユーザー ID とパスワードとして "USER" と入力することにより、ユーザー アクセス権が与えられます。

例 2

| ACCESS | SERIAL | NTDOMAINSID | USERID | PASSWORD |
| --- | --- | --- | --- | --- |
| ADMIN | \* | S-1-5-21-125976590-467238106-1092489882 | ADMIN | ADMIN |
| ADMIN | 4900 2394 7113 7304。 | \* | \* | \* |
| USER | \* | S-1-5-21-125976590-467238106-1092489882 | USER | USER |

## 混合環境

QlikView と Qlik Cloud の両方で同じ権限テーブルを使用する場合は、いくつか注意すべき点があります:

• USERID は QlikView と Qlik Cloud で意味が異なり、使用した場合、セキュリティ上の問題を引き起こす可能性があります。代わりに NTNAME を使用するか、以下で説明するように SERIAL と組み合わせてください。

• GROUP および 'USER.NAME' や 'USER.EMAIL' など、'USER.' で始まる項目は、Qlik Sense Enterprise SaaS の認証項目です (または今後認証項目になります)。セクション アクセスでこれらの項目を使用すると、Qlik Cloud でアクセスが拒否される場合があります。

• PASSWORD、NTSID、NTDOMAINSID は Qlik Cloud では使用できません。ワイルド カードを使用しない限り、アクセスは拒否されます。

• SERIAL を使用して Qlik Cloud のライセンス番号を確認することはできません。ただし、この項目に文字列「QLIKCLOUD」または「QLIKVIEW」が含まれている場合は、アクセスが許可される場合があります。これは、次のような承認テーブルを持つことが可能であることを意味します。この場合、1 行目では QlikView でのアクセスが許可され (Qlik Cloud では許可されず)、2 行目では Qlik Cloud でのアクセスが許可されます (QlikView では許可されません)。

| 線 | SERIAL | USERID | コメント |
| --- | --- | --- | --- |
| 1 | 4600 0123 4567 8901 | \* | QlikView の正しいライセンス番号へのアクセス権を付与します。 |
| 2 | QLIKCLOUD | John Doe | Qlik Sense Enterprise SaaS で適切なユーザーにアクセス権を付与します。 |

| 線 | SERIAL | USERID | コメント |
| --- | --- | --- | --- |
| 1 | QLIKVIEW | \* | QlikView へのアクセスを許可します。 |
| 2 | QLIKCLOUD | John Doe | Qlik Sense Enterprise SaaS で適切なユーザーにアクセス権を付与します。 |

## QlikView 機能の制限

ドキュメント プロパティ：[セキュリティ] ページと シート プロパティ：[セキュリティ] ページにあるコントロールを使用すると、特定のメニュー項目へのアクセスを拒否したり、レイアウトの変更を禁止したりすることができます。これらの設定を本格的な保護の手段として使用する場合は、ドキュメント ユーザーがユーザーとしてログインすることが重要です。管理者としてログインした人は、いつでもセキュリティ設定を変更できます。

ユーザー権限でドキュメントを開いたユーザーには、[プロパティ] ダイアログの [セキュリティ] ページが表示されません。

## 動的データ削除

QlikView と QlikView Server は、section access ログインに基づいてドキュメントの一部のデータをユーザーに表示しない機能をサポートします。

第 1 に、システム項目の OMIT を使用して項目 (列) を非表示にできます。

第 2 に、Section Access のデータを実際のデータにリンクして、レコード (行) を非表示にできます。表示/除外する値の選択は、1 つ以上の項目に section access と section application で共通の名前を付けて制御します。ユーザー ログイン後、QlikView は、section access での項目内の選択を section application の完全に同じ名前 (項目名は大文字で記述) の項目にコピーしようとします。選択が行われると、QlikView は選択によって除外されたすべてのデータをユーザーに表示しなくなります。

この処理が行われるには、ドキュメント プロパティ：起動画面 ページで セクション アクセスによる初期データ削除 オプションを選択する必要があります。QlikView Server を使用する以外の方法で配布されるドキュメントでこの機能を使用する場合は、[ドキュメント プロパティ] の同じページでバイナリ ロード禁止オプションを選択して、データ保護を維持する必要があります。

情報メモsection access では、すべての項目名と項目値がデフォルトで大文字に変換されるので、上で説明した転送で使用するすべての項目名とそれらの項目のすべての項目値を大文字にする必要があります。

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

現在、項目 REDUCTION (大文字) が section access と section application の両方にあります (全ての項目値も大文字)。通常、2 つの項目はまったく異なり、区別されますが、[セクション アクセスによる初期データ削除] オプションを選択した場合、それらはリンクされ、ユーザーに表示されるレコード数は減少します。

section access の項目 OMIT で、ユーザーから隠すべき項目を定義します。

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

User A は、すべての項目と REDUCTION=1 に接続されたレコードを見ることができます。

User B は、NUM 以外のすべての項目と REDUCTION=2 に接続されたレコードを見ることができます。

User C は、ALPHA 以外のすべての項目と REDUCTION=3 に接続されたレコードを見ることができます。

## アクセス制限の継承

バイナリ ロードを使用すると、新しい QlikView ドキュメントによってアクセス制限が継承されます。この新しいドキュメントへの管理者権限を持つ人は、新しい access section を追加して、この新しいドキュメントのアクセス権を変更できます。ユーザー権限を与えられた人は、スクリプトを実行したり、スクリプトを変更できるので、バイナリ ロードされたファイルに独自のデータを追加できます。しかし、アクセス権を変更することはできません。これにより、データベース管理者はバイナリ ロードされた QlikView ドキュメントに対してもユーザー アクセスを制御できます。

## 暗号化

QlikView Server と QlikView Windows クライアントの間の通信は暗号化されます。ただし、AJAX クライアントを使用する場合、通信は暗号化されません。

さらに、すべての QlikView ドキュメントが暗号化されるので、ビューアー、デバッガなどで情報を読み取ることはできません。

また、お客様が用意したキー ペアを使用して QVD ファイル内の機密データを暗号化することもできます。これにより、誰がデータにアクセスするかを制御できます。[QVD 暗号化](https://help.qlik.com/ja-JP/qlikview/September2026/Subsystems/Server/Content/QV_Server/QlikView-Server/QVSRM_EncryptionCertificates.htm)を参照してください。

[ドキュメント プロパティ：セキュリティ](https://help.qlik.com/ja-JP/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/Document_Properties_Security.htm)

[ドキュメント プロパティ：セキュリティ](https://help.qlik.com/ja-JP/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/Document_Properties_Security.htm)

[シート プロパティ: セキュリティ](https://help.qlik.com/ja-JP/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/Sheet%20Properties_Security.htm)