メイン コンテンツをスキップする 補完的コンテンツへスキップ

認証ソリューション

Qlik Sense 認証は、次のいずれのソリューションでも管理できます。

  • チケット ソリューション
  • セッション ソリューション
  • ヘッダー ソリューション
  • SAML
  • JWT
  • OIDC
  • 匿名ユーザー
  • Microsoft SQL (MSSQL) サーバーからの シングル サインオン (SSO) の構成

チケット ソリューション

チケット ソリューションは、普通のチケットと似ています。ユーザーは確認を受けてから、チケットを受け取ります。ユーザーは Qlik Sense にチケットを持参します。チケットが有効であれば、認証されます。チケットの安全性を保つために、以下の制限事項が適用されます。

  • チケットは、短期間のみ有効です。
  • チケットは一度だけ有効です。
  • チケットはランダムなので、推測が困難です。

認証モジュールと Qlik Sense Proxy Service (QPS) 間の通信はすべて、トランスポート レイヤー セキュリティ (TLS) を使用し、証明書を通じて承認を受ける必要があります。

下表には、チケットを使用したユーザー認証の標準的なフローを示しています。

1. The user accesses Qlik Sense. 2. Qlik Sense redirects the user to the authentication module. The authentication module verifies the user identity and credentials with an identity provider. 3. Once the credentials have been verified, a ticket is requested from the QPS. Additional properties may be supplied in the request. 4. The authentication module receives a ticket. 5. The user is directed back to the QPS with the ticket. The QPS checks that the ticket is valid and has not timed out. 6. A proxy session is created for the user. 7. The user is now authenticated.

  1. ユーザーは、Qlik Sense にアクセスします。
  2. Qlik Sense はユーザーを認証モジュールにリダイレクトします。認証モジュールは、ID プロバイダーに対するユーザー ID および資格情報を検証します。
  3. 資格情報が確認されたら、QPS からチケットを要求します。この要求でプロパティの追加が含まれているかもしれません。
  4. 認証モジュールがチケットを受け取ります。
  5. チケットを使用して、QPS にユーザーをリダイレクトします。QPS は、チケットが有効かどうか、またタイムアウトになっていないかどうか確認します。
  6. ユーザー用のプロキシ セッションが作成されます。
  7. これでユーザーが認証されました。

認証モジュール用の認証 (チケット) API の詳細については、「チケット (英語のみ)」を参照してください。

セッション ソリューション

Qlik Sense Proxy Service (QPS) は、セッション ソリューションによって、ユーザーの身元を検証する外部システムのセッションを使用できるようになります。

認証モジュールと QPS 間の通信はすべて、トランスポート レイヤー セキュリティ (TLS) を使用し、証明書を通じて承認を受ける必要があります。

下表は、外部システムのセッションを使用したユーザー認証の標準的なフローを示したものです。

1. The user accesses the identity provider, which, for example, can be integrated into a portal. The identity provider gets the user identity and credentials and then verifies them. After that, the identity provider creates a new session. 2. The identity provider registers the session token with the Qlik Sense session module. 3. The identity provider sets the session token as a session cookie. 4. The user accesses the QPS to get content (for example, through an iframe in the portal). 5. The QPS validates the session to the session module. 6. If the session is valid and has not yet timed out, the user is authenticated.

  1. ユーザーは、たとえばポータルに統合されている、ID プロバイダーにアクセスします。ID プロバイダーはユーザー ID と資格情報を入手し、確認します。その後、ID プロバイダーは新規にセッションを作成します。
  2. ID プロバイダーは Qlik Sense セッション モジュールを通じ、セッション トークンを登録します。
  3. ID プロバイダーはセッション cookie としてセッション トークンを設定します。
  4. ユーザーは QPS にアクセスし、コンテンツを入手します (ポータルの iframe などを通じて)。
  5. QPS はセッション モジュールのセッションを検証します。
  6. セッションが有効でタイムアウトになっていない場合、ユーザーは認証されます。
ヒント メモ認証モジュールによって使用されている セッション cookie 名は、Qlik Management Console (QMC) で設定できます。

セッション モジュールの詳細については、「Session module API (英語のみ)」 (セッション モジュール API) を参照してください。

ヘッダー ソリューション

ヘッダー認証は、リバース プロキシまたはユーザーを認証するためのフィルタリングを提供するシングル サインオン (SSO) システムと併用して、頻繁に使用されます。

下表には、ヘッダー認証を使用したユーザー認証の標準的なフローを示しています。

1. The user accesses the system and authenticates to the reverse proxy. 2. The reverse proxy injects the username into a defined HTTP header. The header must be included in every request to the Qlik Sense Proxy Service (QPS). 3. The user is authenticated.

  1. ユーザーはシステムにアクセスし、リバース プロキシに対し認証します。
  2. リバース プロキシは、定義済み HTTP ヘッダーにユーザー名を挿入します。Qlik Sense Proxy Service (QPS) への要求にはすべて、ヘッダーが含まれている必要があります。
  3. ユーザーが認証されます。
情報メモこのソリューションの安全を確保するために、エンドユーザーが QPS と直接通信するのを避け、強制的にリバース プロキシ/フィルターを通過させます。
情報メモリバース プロキシ/フィルターは、ホスト名を保持するように設定されている必要があります。つまり、クライアントからのホスト ヘッダーはリバース プロキシ/フィルターによって変更されてはなりません。
ヒント メモユーザーに使用されている HTTP ヘッダー名は、Qlik Management Console (QMC) で設定できます。

SAML

Security Assertion Markup Language (SAML)  は、当事者間 (ID プロバイダーとサービス プロバイダー間など) の認証と承認データを交換するための XML ベースのオープンスタンダードなデータ形式です。SAML は通常、Web ブラウザー シングル サインオン (SSO) 用に使用されます。

SAML の動作

SAML の仕様は 3 つの役割を定義しています。

  • プリンシパル: 通常は、ユーザー
  • IdP: ID プロバイダー
  • SP: サービス プロバイダー

プリンシパルは、IdP に ID アサーションを要求、取得する SP からサービスを要求します。アサーションに基づいて、SP は、プリンシパルに要求されたサービスを実行するかどうかを決定します。

Qlik Sense 内の SAML

Qlik Sense は以下の実装とサポートによって SAML V2.0 に対応します。

  • 外部 IdPs と統合できる SP の実装
  • SAML リクエストを処理するための HTTP Redirect Binding のサポート

  • SAML 応答を実行するための HTTP Redirect BindingHTTP POST Binding のサポート

  • リソースとデータをアクセス制御するための SAML プロパティのサポート

制限事項:

  • Qlik Sense は、SAML メッセージの署名検証に対応していません。

JSON Web Token (JWT)

JSON Web Token(JWT)は、JavaScript Object Notation (JSON) オブジェクトである 2 つの当事者間で安全に情報を転送するためのオープン標準です。 JWTは、認証および承認に使用されます。JWT により シングル サインオン (SSO) を有効化できるため、ユーザーがクラウド アプリケーションや Web サイトにログオンする回数を最小限にすることができます。

JWT の動作

JWT は、ヘッダー、ペイロード、シグネチャーの 3 つの部分で構成されています。

  • ヘッダーは通常、 タイプ (typ) および アルゴリズム (alg) の 2 つの部分で構成されています。アルゴリズムを使用して、シグネチャーが生成されます。

  • ペイロードは、作成するクレームで構成された JSON オブジェクトです。クレームとは、エンティティ (通常はユーザー) と追加のメタデータに関するステートメントです。

  • シグネチャーは、JWT 差出人 の ID を確認し、メッセージが改ざんされていないことを保証するために使用します。

認証は、シグネチャーを確認することで行われます。シグネチャーが有効な場合、Qlik Sense に対してアクセスが許可されます。

制限事項

以下の制限事項があります。

  • 暗号化された JWT はサポートされていません。

    情報メモHTTPS を使用する場合、JWT を含むすべてのトラフィックは転送中に暗号化されます。
  • 以下の署名アルゴリズムのみサポートしています。

    • RS256 - RSA シグネチャーと SHA256

    • RS384 - RSA シグネチャーと SHA384

    • RS512 - RSA シグネチャーと SHA512

OpenID Connect

OpenID Connect (OIDC) は、認可フレームワークである OAuth 2.0 の上位の認証層です。OIDCシングル サインオン (SSO) を有効化すると、ユーザーが Web サイト やアプリケーションにアクセスするためにログオンする回数を減らすことができます。OIDC はサードパーティ製品による認証用に構成することができます。

OIDC の動作

OIDC は、JSON 形式の認証を使用するオープンスタンダードです。OIDCOAuth と同じコンポーネントとアーキテクチャを使用しますが、認証を行います。OIDC を使用するアプリケーションは、認証プロトコルをサポートするあらゆる ID プロバイダーと連携します。このプロトコルは、ユーザーが保護されたエンドポイントにアクセスしようとしたときに、本人確認をサポートします。

ワークフロー

  1. ユーザがアプリケーションにアクセスすると、認証と承認のために OIDC IDプロバイダーにリダイレクトされます。

  2. ユーザは OIDCIDプロバイダーにログインします。

  3. OIDC IDプロバイダーは、ユーザが認証および承認されたことを示す応答をアプリケーションに送信します。

  4. アプリケーションは、OIDC IDプロバイダーにユーザ情報を要求します。

  5. OIDC IDプロバイダーが、必要なユーザ情報で応答します。

匿名ユーザー

Qlik Sense の匿名ユーザーが許可されると、認証されていないユーザーは自動的に、認証モジュールにリダイレクトされます。ユーザーはまず匿名アクセス権を入手します。その後ユーザーがサインインを選ぶと、認証モジュールにリダイレクトされて、ユーザー ID と資格情報を入力します。

Microsoft SQL (MS SQL) Server に対する シングル サインオン (SSO) の構成

データベース ファイルが MS SQL Server からデータにアクセスする場合は、SSO が有効になるように ホスト サーバーを構成できます。ODBC データ ソースのシングル サインオンを使用すると、クライアントは 1 つの Windows 認証ログインを使って、共有ファイルの データにアクセスできます。

MS SQL ServerSSO を構成するには、Windows ドメイン管理者は次の手順を実行する必要があります。

  • Active Directory 内でサービス プリンシパル名 (SPN) を作成する
  • Qlik Sense サービス管理者アカウントの委任を構成する
  • Qlik Sense サーバーに対して SSO を構成する
  • MS SQL Server に対して SSO を構成する
警告メモQlik ODBC Connector Package の Microsoft SQL Server コネクターは SSO にも対応しています。ODBC コネクタパッケージ でこのコネクターを使用する場合は、次の設定指示に従ってください。Microsoft SQL Server コネクターの SSO の構成。 (英語のみ)
警告メモQlik Sense (セントラル ノード) のインストール中に使われたものと同じ Qlik Sense サービス管理者アカウントを使用する必要があります。別のアカウントを使用する場合、Qlik Sense サービス管理者アカウントは HTTP サービス プリンシパルを所有している必要があります。詳細については、「ユーザー アカウント」を参照してください。

Active Directory 内でのサービス プリンシパル名 (SPN) の作成

サービス プリンシパル名 (SPN) は、サービス インスタンスの一意の識別子です。サービス インスタンスをサービス ログイン アカウントに関連付けるために、SPNs が認証中に使用されます。そのため、クライアントにアカウント名がなくても、クライアント アプリケーションは、サービスでアカウントを認証するように要求できます。SPN には常に、サービス インスタンスが実行中のホスト コンピューターの名前が含まれているため、サービス インスタンスは、そのホストの各名前またはエイリアスの SPN を登録することがあります。

認証サービスが SPN を使ってサービスを認証するには、サービス インスタンスがログオンに使うアカウント オブジェクトに SPN を登録する必要があります。特定の SPN を 1 つのアカウントだけに登録できます。Win32 サービスの場合、サービスのインスタンスのインストール時に、サービス インストーラーによってログオン アカウントが指定されます。その後、インストーラーは SPNs を作成し、それらをアカウント オブジェクトのプロパティとして Active Directory Domain Services に書き込みます。サービス インスタンスのアカウントが変更された場合、SPNs を新しいアカウント下で再登録する必要があります。

クライアントはサービスに接続する際、サービスのインスタンスを特定し、そのインスタンスの SPN を作成し、サービスに接続して、認証のためにサービスの SPN を提示します。

MS SQL server に対して SSO を設定するには、 Qlik Sense サービス管理者アカウント用の SPNs を作成する必要があります。

  1. ドメイン管理者としてログオンします。
  2. 管理者特権でのコマンド プロンプトを開きます。
  3. 以下を入力して、Qlik Sense サービス管理者用の SPN を作成します。

    setspn -A HTTP/<Qlik_Sense_server>:<port> <domain>\<Qlik_Sense_services_administrator>

    情報メモ<Qlik_Sense_server> には、サーバーの完全修飾ドメイン名を入力します。
    情報メモ<Qlik_Sense_server> は、Qlik Sense が実行中のセントラル ノードです。
  4. 以下を入力して、MS SQL Server サービス管理者用の SPN を作成します。

    setspn -A MSSQLSvc/<server_name>:<port> <domain>\<services_administrator>

    情報メモ<server_name> には、サーバーの完全修飾ドメイン名を入力します。
  5. 次のコマンドを入力して、SPN 設定の結果を検証します。
    1. setspn -L <domain>\<Qlik_Sense_services_administrator> ( Qlik Sense サービス管理者を検証)
    2. setspn -L <domain>\<MS_Sql _server_services_administrator> (MS SQL Server サービス管理者を検証)

Qlik Sense サービス管理者アカウントの委任の構成

委任を構成すると、フロントエンド サービスがクライアント リクエストをバックエンド サービスに転送できるので、バックエンド サービスもクライアントに成り代わることができます。成り代わりは、クライアントが特定のアクションを実行する承認を得ているかどうかを確認するために使用されます。一方、委任は、成り代わり機能をクライアントの ID とともにバックエンド サービスに送るための手段です。

MS SQL Server に対して SSO を構成するには、Qlik Sense サービス管理者用に MS SQL Server サービスへの委任権を設定する必要があります。

Windows ドメイン管理者は、Qlik Sense サービス管理者アカウントのプロパティ ページで委任タブを変更できます。

  1. Windows ドメイン管理者としてログオンします。
  2. Qlik Sense サービス管理者アカウントを右クリックして、[プロパティ] をクリックします。
  3. [委任] タブに移動して、[指定されたサービスへの委任でのみこのユーザーを信頼する] を選択し、[任意の認証プロトコルを使う] を選択します。
  4. [ 追加...] をクリックします。
  5. [サービスの追加] ウィンドウで、[ ユーザーまたはコンピューター...] をクリックします。
  6. [Select Users or Computers] (ユーザーまたはコンピューターを選択) ウィンドウで、Microsoft SQL Server サービス管理者のドメインとユーザー名を入力し、[OK] をクリックします。
  7. Add Services ウィンドウで MS SQL Server サービスを選択し、OK をクリックします。

委任の構成は、[委任] タブで確認できます。これで、MS SQL Server サービスは、Qlik Sense サービス管理者 が委任資格情報を提示できるサービスとして設定されました。

Qlik Sense サーバーに対する SSO の構成

Qlik Sense サーバーに対して MS SQL ServerSSO を構成するには、次の手順を実行します。

  • Qlik Sense サービス管理者を Qlik Sense サーバーの [管理者] グループに追加します (まだそのグループの一員になっていない場合)。
  • Qlik Sense サービス管理者を [オペレーティング システムの一部として機能] ロールの一部として [ローカル セキュリティ ポリシー] に追加します。
  1. 管理者として Qlik Sense サーバーにログオンします。
  2. [ローカル セキュリティ ポリシー] を開き、[セキュリティ設定] > [ローカル ポリシー] > [ユーザー権利の割り当て] の順に選択します。
  3. [ポリシー] で [オペレーティング システムの一部として機能] を右クリックして、[プロパティ] を選択します。
  4. [Local Security Setting] (ローカル セキュリティ設定) タブで、[Add User or Group...] (ユーザーまたはグループの追加) をクリックします。
  5. Qlik Sense サービス管理者アカウントを追加して、[OK] をクリックします。

MS SQL Server の構成

MS SQL Server に対して SSO を構成するには、MS SQL Server サービスを MS SQL Server サービス管理者として確実に実行します。

  1. 管理者として MS SQL Server にログオンします。
  2. [SQL サーバー構成マネージャー] を開きます。
  3. [SQL Server のサービス] を選択します。
  4. 右側パネルの [SQL Server] を選択し、[ログオン] の列に MS SQL Server サービス管理者アカウントが入力されていることを確認します。
情報メモマシン アカウント下の SPNSQL 自己登録を削除し、SPN を手動でドメイン アカウントに登録するには、変更後に再起動する必要があります。

このページは役に立ちましたか?

このページまたはコンテンツに、タイポ、ステップの省略、技術的エラーなどの問題が見つかった場合は、お知らせください。改善に役立たせていただきます。