OKTAを使用した OIDC の設定
OpenID Connect (OIDC) は、認可フレームワークである OAuth 2.0 の上位の認証層です。OIDC で シングル サインオン (SSO) を有効化すると、ユーザーが Web サイトやアプリケーションにアクセスするためにログオンする回数を減らすことができます。OIDC はサードパーティ製品による認証用に構成することができます。
OKTA の構成
次の手順を実行します。
-
管理者アカウントを使用して、https://www.okta.com/ にログインします。
-
[セキュリティ] > [API] に移動します。
-
[承認サーバー] タブで、[承認サーバーの追加] を選択し、承認サーバーの名前、オーディエンス、説明を入力します。
-
承認サーバーを作成したら、[クレーム] タブに移動します。
-
[クレームの追加] をクリックします。
-
クレームの [名前] を [グループ] として入力します。
-
[トークン タイプに含める] ドロップダウンで、[ID トークン] と [常に] を選択します。
-
[値の種類] を [グループ] に設定します。
-
[フィルター] を [regex .* と一致] に設定します。
-
[作成] をクリックします。
-
[Scopes] (スコープ) タブに移動します。
-
[Scopes] (スコープ) タブを開きます。
-
[スコープの追加] をクリックします。
-
スコープの [名前] を [グループ] として入力します。
-
[ 公開メタデータに含める] を選択します。
-
[作成] をクリックします。
-
[アクセス ポリシー] タブに移動します。
-
[Add Policy] (ポリシーの追加) をクリックします。新しいポリシーの名前と説明を入力し、[割り当て先] を [すべてのクライアント] オプションに設定したままにします。[ポリシーの作成] をクリックします。
-
新しいポリシーが作成されたら、[ルールの追加] をクリックしてポリシーの新しいルールを追加します。ルール名を入力します。すべての項目の既定値をそのままにして、[ルールの作成] をクリックします。
-
承認サーバーの [設定] タブにある発行者 URI に注意してください。この URI は次の形式になります: https://<yourOktaDomain>/oauth2/<authServerId>
情報メモ上記の変更を行うことにより、新しい認証サーバーを作成する代わりに、OKTA で使用可能な既定の認証サーバーを利用できます。 -
トップ メニューで、[Applications] (アプリケーション) を選択します。
-
[Add Application] (アプリケーションの追加) をクリックします。
-
[Create New App] (アプリの新規作成) をクリックします。
-
[Platform] (プラットフォーム) として [Web] を選択します。
-
[Sign on method] (サインオン方法) として [OpenID Connect] を選択します。
-
[作成] をクリックします。
構成ウィンドウが表示されます。
-
アプリに Qlik SenseOIDC 設定と名前を付けます。
-
必要に応じて、ロゴを追加します。
-
[Login Redirect URI] に、https://<QSEhostname>/<VirtualProxyPrefix>/oidcauthn と入力します。
情報メモ仮想プロキシのプレフィックスとして Okta を使用します。 -
[保存] をクリックします。
アプリケーションの詳細 ページが表示されます。
-
[全般] > [クライアント認証情報] にある、[クライアント ID] と [クライアント シークレット] の値を書き留めます。
-
作成した接続をユーザーが使用できるように、ユーザーをアプリに割り当てる必要があります。[Assign to People] (ユーザーへの割り当て) をクリックし、ユーザーを追加します。(ユーザーが OKTA アカウントを持っていることが前提となります。)
仮想プロキシの作成および構成
次の手順を実行します。
-
Qlik 管理コンソール (QMC) で、[Virtual proxies] (仮想プロキシ) を開きます。
-
クリック 新規作成
-
右側の [Properties] (プロパティ) で、[Identification] (ID)、[Authentication] (認証)、[Load balancing] (負荷分散)、および [Advanced] (詳細設定) の各セクションを選択していることを確認します。
-
[Identification] (ID) で、[Description] (説明) と [Prefix] (プレフィックス) に「okta」と入力します。
-
[Session cookie header name] (セッション クッキー ヘッダー名) で、既存の名前の末尾に「-okta」を追加し、ヘッダー名を X-Qlik-Session-okta にします。
-
[Authentication method] (認証方法) に [OIDC] を選択します。
-
[OpenID 接続メタデータ URI] 項目に、Okta の承認サーバー設定から指定された発行者 URI を次の形式で入力します: https://<yourOktaDomain>/oauth2/<authServerId>/.well-known/openid-configuration。
-
メモしたクライアント ID とクライアント シークレットを対応するフィールドに入力します。
-
Realmに、「okta」と入力します。OIDC 認証によってリポジトリに追加されたユーザーのユーザー ディレクトリ名は 「okta」 に設定されます。
情報メモサブジェクト属性値の形式がdomainname\usernameの場合、realmはオプションです。そうでない場合、realm は必須です。
属性 sub、name、email は必須です。その他の属性は必須ではありませんが、値は必要です。空の属性がある構成はエラーを発生します。 -
[client_id] (クライアント ID) フィールドで、値を aud に変更します。
-
[scope] (範囲) フィールドで、値を openid profile email と入力します。
情報メモOpenID は必須です。他のスコープは追加できますが、ID プロバイダー側での設定と一致する必要があります。 -
[Load balancing nodes] (負荷分散ノード) で、 [Add new server node] (新しいサーバー ノードの追加) をクリックします。
-
この仮想プロキシが接続を負荷分散するエンジン ノードを選択します。
-
[Advanced] (詳細設定) の [Host allow list] (ホスト許可リスト) セクションで、[Add new value] (新しい値の追加) をクリックします。
-
OKTA ([ OpenID Connect Metadata URI] (OpenID 接続のメタデータ URI) で入力したのと同じホスト名) の名前を追加します。
-
[Apply] (適用) をクリックし、[OK] をクリックしてサービスを再起動します。
-
右側の [Associated items] (関連するアイテム) メニューで、[Proxies] (プロキシ) を選択します。
-
[Link] (リンク) をクリックし、この構成を使用するプロキシ (1 つまたは複数) に仮想プロキシをリンクさせます。
プロキシ サービスが再起動します。
OpenID Connect Metadata URI、https://{IdP_hostname}/.well-known/openid-configuration を選択した時に、IdP サーバーで構成した要求とスコープが、 claims_supported と scopes_supported タグで返されることを確認します。
これで OKTA の構成が完了しました。