AD FSを使用した OIDC の設定
OpenID Connect (OIDC) は、認可フレームワークである OAuth 2.0 の上位の認証層です。OIDC で シングル サインオン (SSO) を有効化すると、ユーザーが Web サイトやアプリケーションにアクセスするためにログオンする回数を減らすことができます。OIDC はサードパーティ製品による認証用に構成することができます。
AD FS の構成
このトピックでは、AD FSを構成する方法について説明しますが、 AD FS をインストールする方法については、説明していません。AD FS は構成内で ID プロバイダーとなるため、構成を開始するためには AD FS のアクセス権が必要です。
次の手順を実行します。
-
AD FS で、サーバー マネージャーを開きます。
-
右側のメニューで、[ツール] > [AD FS管理] を選択します。
-
AD FS管理ペインで、 [アプリケーショングループ] > [アクション] > [アプリケーショングループの追加] を選択します。
-
[サーバーアプリケーション] を選択します。[名前] と [説明] を入力します。[次へ] をクリックします。
-
クライアント IDは、[サーバーアプリケーション] の下にあります。それをメモしてください。
-
リダイレクト URI: https://<QSEhostname>/<VirtualProxyPrefix>/oidcauthn を入力して、 [URIの追加] ボタンをクリックします。
情報メモ仮想プロキシのプレフィックスとして adfs を使用します。 -
[次へ] をクリックします。
-
[共有秘密キーの生成] を選択します。秘密鍵が生成されます。それをメモしてください。
設定の概要が表示されます。[次へ] をクリックして、アプリケーション グループの追加ステップを完了します。
-
作成したアプリケーション グループを開きます。
[プロパティ] ウィンドウが表示されます。
-
[アプリケーションの追加] をクリックします。
新しいウィンドウが表示されます:<app group name> に新しいアプリケーションを追加します。
-
[Web API] のテンプレートを選択します。[次へ] をクリックします。
-
任意で、[Web API] の名前を編集します。
-
[識別子] に、このアプリケーション グループにサーバー アプリケーションを作成するときにメモしたクライアント ID を追加します。[次へ] をクリックします。
-
[アクセスコントロールポリシーの適用] で、[全員を許可] を選択します。[次へ] をクリックします。
-
[アプリケーション権限の設定] > [クライアントアプリケーション] で、サーバアプリケーションが選択されています。これは変更しないで下さい。[許可されているスコープ]について、allatclaims、email、openid、および profile を選択します。[次へ] をクリックします。
-
設定の概要が表示されます。[次へ] をクリックして、Web API の追加ステップを完了します。
-
Web API > 発行変換ルール を開きます。
-
[Add Rule] (規則の追加) をクリックします。ルールの名前を入力し、[属性ストア] として [Active Directory] を選択してから、「メール アドレス」–「メール アドレス」および「トークングループ - 名前の指定なし」-「グループ」マッピングを追加します。変更内容を保存します。
-
ADFS Management ツールで 証明書利用者の信頼 に移動します。
-
以下の証明書利用者の信頼があることを確認してください。識別子は https://<ADFShostname>/adfs/services/trustである必要があります。
-
証明書利用者の信頼が使用できない場合は、新規で追加する必要があります。https://docs.microsoft.com/en-us/windows-server/identity/ad-fs/operations/create-a-relying-party-trust#to-create-a-claims-aware-relying-party-trust-manually で説明されている手順に従いますが、「証明書の構成」および「URLの構成」の手順はスキップします。
-
AD FS 認証による Qlik Sense Enterprise サイトを使用するユーザーの電子メールアドレスを必ず追加してください。
-
AD サーバーで [Active Directory ユーザーとコンピューター] を開きます。
-
[Users] フォルダに移動し、ユーザーを右クリックして [プロパティ] を選択します。
-
[全般] で、[電子メール] フィールドに、ユーザーの電子メールアドレスを入力します。
-
[OK]をクリックして、変更を保存します。
仮想プロキシの作成および構成
次の手順を実行します。
-
Qlik Management Console (QMC) で、[Virtual proxies] (仮想プロキシ) を開きます。
-
クリック 新規作成
-
右側の [Properties] (プロパティ) で、[Identification] (ID)、[Authentication] (認証)、[Load balancing] (負荷分散)、および [Advanced] (詳細設定) の各セクションを選択していることを確認します。
-
[Identification] (ID) で、[Description] (説明) と [Prefix] (プレフィックス) に「adfs」と入力します。
-
[Session cookie header name] (セッション クッキー ヘッダー名) で、既存の名前の末尾に「-adfs」を追加し、ヘッダー名を X-Qlik-Session-adfs にします。
-
[Authentication method] (認証方法) に [OIDC] を選択します。
-
[OpenID 接続メタデータ URI] フィールドに、「OpenID Configuration」のURLを入力します。URLの形式は、次のようにする必要があります: https://<ADFShostname>/adfs/.well-known/openid-configuration。
-
メモしたクライアント ID とクライアント シークレットを対応するフィールドに入力します。
-
Realmに、adfsと入力します。OIDC 認証によってリポジトリに追加されたユーザーのユーザー ディレクトリ名は 「adfs」 に設定されます。
情報メモサブジェクト属性値の形式がdomainname\usernameの場合、realmはオプションです。そうでない場合、realm は必須です。
属性 sub、name、email は必須です。その他の属性は必須ではありませんが、値は必要です。空の属性がある構成はエラーを発生します。 -
[name] (名前) フィールドで、値を unique_name に変更します。
-
[groups] (グループ) フィールドで、値を group に変更します。
-
[client_id] (クライアント ID) フィールドで、値を appid に変更します。
-
[scope] (範囲) フィールドで、値を openid allatclaims profile email と入力します。
情報メモOpenID は必須です。他のスコープは追加できますが、ID プロバイダー側での設定と一致する必要があります。 -
[Load balancing nodes] (負荷分散ノード) で、 [Add new server node] (新しいサーバー ノードの追加) をクリックします。
-
この仮想プロキシが接続を負荷分散するエンジン ノードを選択します。
-
[Advanced] (詳細設定) の [Host allow list] (ホスト許可リスト) セクションで、[Add new value] (新しい値の追加) をクリックします。
-
AD FS サーバーのホスト名を追加します。
-
[Apply] (適用) をクリックし、[OK] をクリックしてサービスを再起動します。
-
右側の [Associated items] (関連するアイテム) メニューで、[Proxies] (プロキシ) を選択します。
-
[Link] (リンク) をクリックし、この構成を使用するプロキシ (1 つまたは複数) に仮想プロキシをリンクさせます。
プロキシ サービスが再起動します。
OpenID Connect Metadata URI、https://{IdP_hostname}/.well-known/openid-configuration を選択した時に、IdP サーバーで構成した要求とスコープが、 claims_supported と scopes_supported タグで返されることを確認します。
これで AD FS の構成が完了しました。