AD FS を使用した SAML の構成

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

SAML はサードパーティ製品による認証用に構成することができます。Active Directory フェデレーション サービス (AD FS) では、認証はサービス プロバイダー (SP) によって開始されます。

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

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

AD FS を使用して SAML SSO をセットアップするには、Qlik Sense での仮想プロキシの構成が必要です。また、ID プロバイダーである AD FS の構成も必要です。ここでは、AD FS がインストール済みであることを前提としています。このトピックでは、AD FS をインストールする方法については説明していません。

ヒント: Windows Server に AD FS をインストールする方法については、次のビデオをご覧ください: 「 Qlik Sense SAML: ADFS Integration Part One of Three」。

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

次の手順を実行します。

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

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

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

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

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

  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) に「adfs」と入力します。

    これは、AD FS 構成の一意の識別子です。

  10. AD FS サーバー https://<adfs_server>/FederationMetadata/2007-06/FederationMetadata.xml から IdP メタデータをダウンロードします。

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

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

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

  14. [SAML attribute for user ID] (ユーザー ID に使用する SAML 属性) で、「http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn」と入力します。

    これは、ユーザー プリンシパル名 (UPN) のスキーマ定義です。この定義は、AD FS マネージャーの [Service] (サービス) > [Claim Descriptions] (要求記述) で確認できます。

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

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

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

    これは、Qlik Sense サーバーがメタデータに追加する署名証明書です。

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

  18. [SAML attribute] (SAML 属性) として「http://schemas.xmlsoap.org/claims/Group」、[Qlik SenseGroup] (属性) として「Group」と入力します。[Mandatory] (必須) の選択を解除します。選択をそのままにすると、SAML 応答に属性が含まれず、Qlik Sense によって認証要求が拒否されます。SAML 属性の説明は、AD FS マネージャーの [Service] (サービス) > [Claim Descriptions] (要求記述) で確認できます。

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

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

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

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

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

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

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

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

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

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

    AD FS を構成するときに、このメタデータ ファイルが必要になります。

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

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

    • NameIDFormat: 既定では、transient 名の形式はメタデータとして指定されます。SAML 構成においてこの方法で設定することが常に必要とは限りませんが、適切な操作性を確保するには、この値を記録しておき構成に適切に適用する必要があります。

これで、仮想プロキシの設定が完了しました。次のステップでは、AD FS を構成します。

AD FS の構成

このトピックでは、AD FS を構成する方法について説明します。AD FS をインストールする方法については、説明していません。AD FS は構成内で ID プロバイダーとなるため、構成を開始するためには、AD FS のアクセス権が必要です。

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

次の手順を実行します。

  1. AD FS で、サーバー マネージャーを開きます。

  2. 右側のメニューで、[Tools] (ツール) > [AD FS Management] (AD FS の管理) を選択します。

  3. 左側の [Trust Relationships] (信頼関係) フォルダーをクリックします。

    ウィザードが開きます。

  4. 右側の [Actions] (操作) で、[Add Relying Party Trust] (証明書利用者信頼の追加) を選択します。

  5. [Start] (開始) をクリックします。

  6. オプション [Import data about the relying from a file] (証明書利用者についてのデータをファイルからインポートする) を選択し、仮想プロキシの構成後にダウンロードした SP メタデータ ファイルに移動して、[Next] (次へ) をクリックします。

  7. 証明書利用者の表示名を入力し、[Next] (次へ) をクリックします。

  8. [I do not want to configure multi-factor authentication settings for this relying party trust at this time] (現時点ではこの証明書利用者信頼に多要素認証を構成しない) を選択し、[Next] (次へ) をクリックします。

  9. [Permit all users access to this relying party] (すべてのユーザーに対してこの証明書利用者へのアクセスを許可する) を選択し、[Next] (次へ) をクリックします。

  10. [Ready to Add Trust] (信頼の追加の準備完了) ウィンドウで、[Next] (次へ) をクリックします。

  11. [Close] (閉じる) をクリックします。

    [Edit Claim Rules for <display name>] (<表示名> の要求規則の編集) ダイアログが開きます。

  12. [Add Rule] (規則の追加) をクリックします。

    規則テンプレート ページのウィンドウが開きます。

  13. [Next] (次へ) をクリックします。

    [Rule Configuration] (ルールの構成) ウィンドウが開きます。

  14. 要求規則名を入力し、[Attribute store] (属性ストア) で [Active Directory] を選択します。

  15. LDAP 属性の一覧で [User-Principal-Name] を選択し、[Outgoing Claim Type] (出力方向の要求の種類) で [UPN] を選択します。

  16. LDAP 属性の一覧の 2 行目で [User-Principal-Name] を再度選択し、[Outgoing Claim Type] (出力方向の要求の種類) で [Name ID] (名前 ID) を選択します。

  17. LDAP 属性の一覧の 3 行目で [Token-Groups - Unqualified Names] (Token-Groups - 名前の指定なし) を選択し、[Outgoing Claim Type] (出力方向の要求の種類) で [Group] (グループ) を選択します。

  18. [Finish] (完了) をクリックします。

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

  20. 新しい証明書利用者信頼をダブルクリックし、[Advanced] (詳細設定) タブを開きます。

  21. [Secure hash algorithm] (セキュア ハッシュ アルゴリズム) を [SHA-1] に変更します。

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

証明書の PowerShell 設定

証明書は自己署名であるため、署名証明書と暗号化証明書に対して失効状態の確認をオフにする必要があります。これを Windows PowerShell で実行します。

次の手順を実行します。

  1. PowerShell を開きます。

  2. 次の文字列を入力します。

    Set ADFSRelyingPartyTrust -targetname "<your target name>" -SigningCertificateRevocationCheck "none"

  3. 新しい行に次の文字列を入力します。

    Set ADFSRelyingPartyTrust -targetname "<your target name>" -EncryptionCertificateRevocationCheck "none"
  4. Enter を押します。

これで AD FS の構成が完了しました。これで構成をテストできます。

AD FS SAML 構成のテスト

サービス プロバイダーで single sign-on (SSO) を開始します。

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

次の手順を実行します。

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

    ブラウザーが AD FS にリダイレクトされてログイン要求が認証されます。

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

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