エラスティック展開向け Qlik Sense EnterpriseIdP としての Okta の使用

エラスティック展開向け Qlik Sense Enterprise を構成し、Okta を ID プロバイダーとして使用することができます。

手順が完了すると、Okta ユーザー名とパスワードを使用してエラスティック展開向け QSE テナントにログインできるようになるのに加え、エラスティック展開向け QSE テナントをプログラムで操作できるようになります。

ここでは、Docker for Mac を使用して Kubernetes を実行している Mac 上でエラスティック展開向け QSE が実行されていると仮定しています。これと同じ構成でなくても、対応する別の方法で Kubernetes を実行していれば、同じコンセプトを利用することができます。

Okta IdP を使用するためのエラスティック展開向け QSE の構成

はじめに、以下が揃っていることを確認します。

  • Okta アカウント

  • Okta テナント

  • Okta アプリ。インタラクティブ ログインおよびプログラム アクセスについて構成済み。

  • Okta アプリケーションの構成設定:

    • discoveryUrl: エラスティック展開向けQSE などのアプリケーションが Okta を最小構成で使用できるようにする OpenID Connect Discovery URL。
    • clientId: 認証に Okta を使用するクライアントを一意に識別します。
    • clientSecret: 認証に Okta を使用するため、クライアントがクライアント ID とともに使用するシークレット。
注: コード例の多くはプレースホルダー値を含み、ユーザーの設定値で置き換える必要があります。

values.yml ファイルを使用してエラスティック展開向け QSE に構成を指定します。values.yml ファイルの例は次のとおりです。

devMode: enabled: true engine: acceptEULA: "yes" identity-providers: secrets: idpConfigs: - discoveryUrl: "<OpenID Configuration from Application>" clientId: "<Client ID from Application>" clientSecret : "<Client Secret from Application>" realm: "<Name for this IdP>" hostname: "<Hostname for your QSEfE tenant>"

discoveryUrlclientIdclientSecretrealm、および hostname の値を入力する必要があります。

Okta では、作成したアプリケーションの [Client Credentials] (クライアント資格情報) セクションにある [基本設定] タブの下で、[クライアント ID] と [クライアント シークレット] を確認できます。

クラスターへの構成の適用

Helm (https://helm.sh/ 参照) を使用し、values.yml ファイル内の構成を Kubernetes クラスターに適用します。

$ helm upgrade qsefe qlik/qsefe -f values.yml

構成が適用されたことを確認するには、次に示す get values コマンドを実行し、解決された構成を表示します。

$ helm get values qsefe
devMode: enabled: true engine: acceptEULA: "yes" identity-providers: secrets: idpConfigs: - discoveryUrl: "https://dev-<tenantid>.oktapreview.com/.well-known/openid-configuration" clientId: "<clientID code>" clientSecret : "<clientsecret code>" realm: "Okta" hostname: "<hostname>"

ホスト ファイルを構成しています

注: このセクションは、DNS がない場合のみ関係します。

<hostname> を解決するには、以下を /etc/hosts ファイルに追加します。

127.0.0.1 <hostname>
::1 <hostname>

テナントへのログイン

テナントにログインする準備ができました。ブラウザで https://<tenant address> にアクセスすると、Okta ログイン ページにリダイレクトされます。ログインに成功すると、アプリの配布先のホーム ページが表示されます。

エラスティック展開向け QSE へのプログラムによる構成の追加

上記で作成したアプリケーションおよび認証サーバーを参照するエラスティック展開向け QSE に対し、IdP 構成が必要です。primary: true が既存の構成に追加されていた点に注目してください。

devMode: enabled: true engine: acceptEULA: "yes" identity-providers: secrets: idpConfigs: - discoveryUrl: "https://dev-<tenantid>.oktapreview.com/.well-known/openid-configuration" clientId: "<client ID coder" clientSecret : "<client secret code>" realm: "Okta" hostname: "<hostname>" primary: true - discoveryUrl: "https://dev-<tenantid>.oktapreview.com/oauth2/<resource-server-id>/.well-known/openid-configuration" primary: false realm: "Okta" hostname: "<hostname>" claimsMapping: client_id: ["client_id", "cid"]

 

Helm を使用し、values.yml ファイル内の構成を Kubernetes クラスターに適用します。

$ helm upgrade qsefe qlik/qsefe -f values2.yml