OneLogin を使用した SAML の構成

Security Assertion Markup Language (SAML) は認証と承認のためのデータ形式です。SAMLsingle sign-on (SSO) を有効化すると、ユーザーが Web サイトやアプリケーションにアクセスするためにログオンする回数を減らすことができます。

SAML はサードパーティ製品による認証用に構成することができます。OneLogin では、 認証は ID プロバイダー (IdP) またはサービス プロバイダー (SP) によって開始されます。

シングル サインオンを ID プロバイダーから開始する場合

ID プロバイダーがユーザーを認証します。ID プロバイダーがユーザーの ID を断言すると、サービス プロバイダーはユーザーにサービスへのアクセスが提供できるようになります。ID プロバイダーによって SSO が有効にされているため、ユーザーは各サイトにログインしなくても、複数のサービス プロバイダーのサイトやアプリケーションにアクセスできます。

シングル サインオンをサービス プロバイダーから開始する場合

サービス プロバイダーはユーザーを ID プロバイダーにリダイレクトし、そこで認証が行われます。認証プロセスでは、Qlik Sense がサービス プロバイダーとなります。認証が正常に行われた後、ユーザーはさらにログインすることなく、複数のサービス プロバイダー サイトおよびアプリケーションにアクセスできます。

OneLogin を使用して SAML SSO をセットアップするには、Qlik Sense での仮想プロキシの構成が必要です。また、ID プロバイダーである OneLogin の構成も必要です。

仮想プロキシの作成および構成

次の手順を実行します。

  1. Qlik Management Console (QMC) で、[Virtual proxies] (仮想プロキシ) を開きます。

  2. P [Create new] (新規作成) をクリックします。

  3. 右側の [Properties] (プロパティ) で、[Identification] (ID)、[Authentication] (認証)、[Load balancing] (負荷分散)、および [Advanced] (詳細設定) の各セクションを選択していることを確認します。

  4. [Identification] (ID) で、[Description] (説明) と [Prefix] (プレフィックス) に「onelogin」と入力します。

  5. [Session cookie header name] (セッション クッキー ヘッダー名) で、既存の名前の末尾に「-onelogin」を追加し、ヘッダー名を X-Qlik-Session-onelogin にします。

  6. [Authentication method] (認証方法) に [SAML] を指定します。

  7. [SAML single logout] (SAML シングル ログアウト) を選択します。SAML single logout は、すべての SSO セッションが適切に閉じるようにするための方法です。

  8. [SAML host URI] (SAML ホスト URI) に、Qlik Sense へのアクセスにユーザーが使用する URL (サーバー名) を https://myhost.company.com の形式で入力します。

  9. [SAML entity ID] (SAML エンティティ ID) に「onelogin」と入力します。

    これは OneLogin 構成の一意の識別子です。

    注: [SAML IdP metadata] (SAML IdP メタデータ) は以降の段階で追加されます。
  10. [SAML attribute for user ID] (ユーザー ID に使用する SAML 属性) に「userid」と入力します。

    これは OneLogin に保存されるユーザーの電子メール アドレスです。OneLogin 構成内で、別の標準項目またはカスタム項目をユーザー ID として使用するように指定することができます。

  11. [SAML attribute for user directory] (ユーザー ディレクトリに使用する SAML 属性) に「[onelogin]」と入力します。

    これは、括弧を必要とする静的属性です。

  12. [SAML signing algorithm] (SAML 署名アルゴリズム) に [SHA-1] を指定します。

  13. [SAML attribute mapping] (SAML 属性マッピング) で、P [Add new attribute] (新しい属性の追加) をクリックします。

  14. [SAML attribute] (SAML 属性) として「Email」、[Qlik Sense attribute] (Qlik Sense 属性) として「email」を入力します。[Mandatory] (必須) の選択を解除します。(必須の属性が SAML 応答に含まれていないと、認証要求は Qlik Sense で拒否されます。)

  15. 別の属性を追加するため、P [Add new attribute] (新しい属性の追加) を再度クリックします。

  16. [SAML attribute] (SAML 属性) として「userid」、[Qlik Sense attribute] (Qlik Sense 属性) として「name」を入力します。[Mandatory] (必須) の選択を解除します。

  17. [Load balancing nodes] (負荷分散ノード) で、P [Add new server node] (新しいサーバー ノードの追加) をクリックします。

  18. この仮想プロキシが接続を負荷分散するエンジン ノードを選択します。

  19. [Advanced] (詳細設定) の [Host white list] (ホスト ホワイト リスト) セクションで、P [Add new value] (新しい値の追加) をクリックします。

  20. Qlik Sense サーバー ([SAML host URI] (SAML ホスト URI) で入力したのと同じサーバー) のホスト名を追加します。

  21. [Apply] (適用) をクリックし、[OK] をクリックしてサービスを再起動します。

  22. 右側の [Associated items] (関連するアイテム) メニューで、[Proxies] (プロキシ) を選択します。

  23. [Link] (リンク) をクリックし、この構成を使用するプロキシ (1 つまたは複数) に仮想プロキシをリンクさせます。

    プロキシ サービスが再起動します。

  24. [Virtual proxies] (仮想プロキシ) 概要ページに移動します。

  25. 作成した onelogin 構成を選択し、操作バーの [Download SP metadata] (SP メタデータのダウンロード) をクリックします。

  26. Qlik Sense で生成されたメタデータを開きます。以下を確認してください。

    • entityID: この値は、OneLoginQlik Sense サーバーと通信できるようにするために必要です。
    • AssertionConsumerService URL (Location): これは、SAML ホスト URI を入力して末尾に仮想プロキシ パスを追加すると Qlik Sense によって生成される URL です。末尾に samlauthn が追加されていることに留意してください。これは、OneLoginSAML アサーションを Qlik Sense に伝達するために使用する URL です。

これで、とりあえず仮想プロキシの設定が完了しました。このページに戻り、IdP メタデータ ファイル (ID プロバイダーの Web ページから入手可能) をアップロードします。次のステップでは、OneLogin を構成します。

OneLogin の構成

OneLogin は構成での ID プロバイダーとなるため、OneLogin の構成を行う前にアカウントを登録する必要があります。詳細については https://www.onelogin.com/ を参照してください。

注: この構成にはサードパーティ製品が含まれているため、構成が本項の説明の通りであると保証することはできません。サードパーティ製品に変更が行われ、弊社が認識していない場合もあります。

次の手順を実行します。

  1. OneLogin のトップ メニューで、[Apps] (アプリ) を選択します。

  2. [Add App] (アプリの追加) をクリックします。

  3. 検索ボックスに「SAML」 と入力します。

    SAML テンプレートのリストが表示されます。

  4. [SAML Test Connector (IdP)] (SAML テスト コネクター (IdP)) を選択します。

  5. [Display Name] (表示名) を「Qlik Sense SAML configuration」に変更します。

  6. [SAVE] (保存) をクリックします。

  7. [Configuration] (構成) タブをクリックします。

  8. [Audience] (オーディエンス) で、SAML 仮想プロキシのエンティティ ID「onelogin」を入力します。

  9. [Recipient] (受信者)、[ACS (Consumer) URL Validator] (ACS (コンシューマー) URL 検証)、および [ACS (Consumer) URL] (ACS (コンシューマー) URL) に、SP メタデータ ファイルからの AssertionConsumerService URL をそれぞれ入力します。samlauthn の後ろに必ず末尾のスラッシュを挿入してください。これを怠ると、Qlik SenseSAML アサーションが受け入れられません。

  10. [Single Logout URL] (シングル ログアウト URL) には、https://<myhost.company.com>/<vp_prefix>/samlauthn/slo/ の形式を使用します。

  11. [Parameters] (パラメータ) タブをクリックします。

  12. 既定では、OneLogin により NameID (fka Email) 属性が提供されます。

    これは仮想プロキシのセットアップで追加した 2 つの属性の 1 つです。

  13. 仮想プロキシのセットアップ時に追加した 2 つ目の属性を加えるため、[Add parameter] (パラメータの追加) をクリックします。

    [New Field] (新しい項目) ウィンドウが開きます。

  14. [Field name] (項目名) に「userid」と入力します。

  15. [Include in SAML assertion] (SAML アサーションに含める) を選択し、[SAVE] (保存) をクリックします。

  16. [userid] 属性をクリックします。

    [Edit Field Userid ] (項目 Userid の編集) ウィンドウが開きます。

  17. [Value] (値) リストで、[Email name part] (電子メール名部分) を選択し、[SAVE] (保存) をクリックします。

  18. 右側の [SAVE] (保存) をクリックします。

  19. トップ メニューで [USERS] (ユーザー) をクリックし、[All Users] (すべてのユーザー) を選択します。

  20. アプリを追加するユーザーをクリックします。

  21. [Applications] (アプリケーション) タブをクリックし、[Applications] の右側にある [+] 記号をクリックします。

  22. [Assign New Login to <user>] (<user> への新しいログインの割り当て) ウィンドウで、前に作成した [Qlik Sense SAML configuration] (Qlik Sense 構成)を選択し、[CONTINUE] (続行) をクリックします。

  23. [Edit Qlik Sense SAML Configuration Login for <user>] (<user> の Qlik Sense 構成ログインの編集) ウィンドウで、[CANCEL] (キャンセル) をクリックします。

  24. トップ メニューで [APPS] (アプリ) をクリックし、[Company Apps] (社内アプリ) を選択します。

  25. [Qlik Sense SAML Configuration] (Qlik Sense SAML 構成) をクリックします。

  26. [MORE ACTIONS] (追加アクション) リストで、[SAML Metadata] (SAML メタデータ) を選択します。

これで OneLogin の構成が完了しました。接続をテストするには、最後のステップとして IdP メタデータを仮想プロキシにアップロードする必要があります。

IdP メタデータ ファイルのアップロード

次の手順を実行します。

  1. QMC に戻り、編集のために onelogin 仮想プロキシを開きます。

  2. [Authentication] (認証) の [SAML IdP metadata] (SAML IdP メタデータ) で、[Choose File] (ファイルの選択) をクリックします。

  3. OneLogin からダウンロードしたメタデータ ファイルを選択します。

  4. [View content] (コンテンツを表示) をクリックしてメタデータを確認します。

  5. [Apply] (適用) をクリックします。

  6. [OK] をクリックし、仮想プロキシへの変更を承諾します。

  7. [Refresh QMC] (QMC データの更新) をクリックします。

これで構成をテストできます。

OneLogin SAML 構成のテスト

前述したように、single sign-on (SSO) はサービス プロバイダーまたは ID プロバイダーを介して開始できます。

シングル サインオンをサービス プロバイダーから開始する場合

次の手順を実行します。

  1. 新しいブラウザー ウィンドウを開いて、仮想プロキシ パスを含む Qlik Sense サーバー URL に移動します。例: https://myhost.company.com/onelogin/

    ログイン要求の認証のために、ブラウザーが OneLogin にリダイレクトされます。

  2. ユーザー資格情報を入力します。

    OneLogin によって Qlik Sense ハブにリダイレクトされます。

シングル サインオンを ID プロバイダーから開始する場合

  1. ブラウザーを開いて www.onelogin.com に移動します。

  2. ユーザー資格情報を使用してログインします。

  3. 上部のメニューで、[My Applications] (マイ アプリケーション) をクリックします。

    使用可能なアプリケーションが表示されます。

  4. Qlik Sense SAML アプリケーションをクリックします。

    Qlik Sense ハブが新しいタブで開きます。

注: RelayState は常に https://<machine_name>/<vp_prefix>/hub に設定することをお勧めします。RelayState が空の場合、一部の ID プロバイダーでは post 要求の代わりに get 要求が送信されるため、エラーが生じます。RelayState が空の場合、スペルミスがある場合、またはホストのホワイト リストに含まれていない場合には、ユーザーは自動的にハブにリダイレクトされます。
注: IdP から開始する SSO を機能させるには、アサーションに署名する必要があります。