Okta JDBC ドライバーを使用したOBIEE でのOkta レポート

Okta JDBC ドライバーをOBIEE にデプロイし、企業全体にリアルタイムのレポートを提供します。

加藤龍彦
デジタルマーケティング

最終更新日:2022-05-27

この記事で実現できるOkta 連携のシナリオ

こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。

CData JDBC Driver for Okta は、Okta へのリアルタイムアクセスをJava ベースのレポートサーバーに統合できる標準のデータベースドライバーです。この記事では、ドライバーをOracle Business Intelligence Enterprise Edition (OBIEE) にデプロイし、変更を反映するOkta に関する方法を示します。

JDBC ドライバーをデプロイ

以下のステップに従って、WebLogic のクラスパスにJDBC ドライバーを追加します。

WebLogic 12.2.1 の場合、ドライバーJAR と.lic ファイルをORACLE_HOME\user_projects\domains\MY_DOMAIN\lib のようにDOMAIN_HOME\lib に配置します。これらのファイルは、起動時にサーバーのクラスパスに追加されます。

ドライバーをクラスパスに手動で追加することもできます。これは、以前のバージョンで必要です。setDomainEnv.cmd (Windows) または setDomainEnv.sh (Unix) のPRE_CLASSPATH の前に以下を追加します。このスクリプトは、そのドメインのフォルダーのbin サブフォルダーにあります。例:ORACLE_HOME\user_projects\domains\MY_DOMAIN\bin.

set PRE_CLASSPATH=your-installation-directory\lib\cdata.jdbc.okta.jar;%PRE_CLASSPATH%

DOMAIN_HOME\bitools\bin でstop コマンドとstart コマンドを実行するなど、すべてのサーバーを再起動します。

JDBC Data Source for Okta の作成

JDBC ドライバーをデプロイした後、BI Publisher からJDBC データソースを作成できます。

  1. BI Publisher にURL http://localhost:9502/analytics でログインし、[Administration]->[Manage BI Publisher]とクリックします。
  2. [JDBC Connection]->[Add Data Source]と進みます。
  3. 以下の情報を入力します。
    • Data Source Name:ユーザーが接続を作成する名前をレポートに入力します。
    • Driver Type:SELECTOther.
    • Database DriverClass:ドライバークラスに cdata.jdbc.okta.OktaDriver を入力します。
    • Connection String:JDBC URL を入力します。

      Okta に接続するには、Domain 接続文字列プロパティをお使いのOkta ドメインに設定します。

      Okta への認証にはOAuth を使用するため、カスタムOAuth アプリケーションを作成する必要があります。

      カスタムOAuth アプリケーションの作成

      Okta アカウントから:

      1. 管理者アカウントでOkta のデベロッパーエディションにサインインします。
      2. Admin Consoleで、Applications > Applications に移動します。
      3. Create App Integration をクリックします。
      4. Sign-in method は、OIDC - OpenID Connect を選択します。
      5. Application type は、Web Application を選択します。
      6. カスタムアプリケーションの名前を入力します。
      7. Grant TypeをAuthorization Code に設定します。トークンを自動的に更新したい場合は、Refresh Token もチェックしてください。
      8. コールバックURL を設定します。
        • デスクトップアプリケーションやヘッドレスマシンでは、http://localhost:33333 または任意の別のポート番号を使用します。ここで設定したURI が、CallbackURL プロパティになります。
        • Web アプリケーションの場合、コールバックURL を信頼できるリダイレクトURL に設定します。このURL は、アプリケーションへのアクセスが許可されたことを示すトークンを伴ってユーザーが戻ってくるWeb 上の場所です。
      9. Assignments セクションで、Limit access to selected groups を選択してグループを追加するか、グループの割り当ては一旦スキップします。
      10. OAuth アプリケーションを保存します。
      11. アプリケーションのGeneral タブに、アプリケーションのClient Id とClient Secret が表示されます。後で使用できるように、これらを記録してください。Client Id はOAuthClientId の設定に使用し、Client Secret はOAuthClientSecret の設定に使用します。
      12. Assignments タブを確認し、アプリケーションにアクセスする必要のあるすべてのユーザーがアプリケーションに割り当てられていることを確かめます。
      13. Okta API Scopes タブで、OAuth アプリケーションに付与するスコープを選択します。これらのスコープは、アプリが読み取り可能なデータを決定します。そのため、特定のビューに対するスコープを付与しないと、そのビューに対するクエリを実行する権限がドライバーに付与されません。各ビューに必要なスコープを確認するには、ヘルプドキュメントのデータモデル > ビュー のビュー固有のページを参照してください。

      ビルトイン接続文字列デザイナ

      JDBC URL の構成については、Okta JDBC Driver に組み込まれている接続文字列デザイナを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。

      java -jar cdata.jdbc.okta.jar

      接続プロパティを入力し、接続文字列をクリップボードにコピーします。

      Using the built-in connection string designer to generate a JDBC URL (Salesforce is shown.)

      JDBC URL を構成する際に、Max Rows プロパティを定めることも可能です。これによって戻される行数を制限するため、可視化・レポートのデザイン設計時のパフォーマンスを向上させるのに役立ちます。

      以下は一般的なJDBC URL です。

      jdbc:okta:Domain=dev-44876464.okta.com;InitiateOAuth=GETANDREFRESH
    • Username:ユーザー名。
    • Password:パスワード。
  4. [Security]セクションで、許可されているユーザーロールを選択します。 The required settings for a JDBC data source.(Salesforce is shown.)

リアルタイムのOkta レポートを作成

リアルタイムのOkta に基づいてレポートと分析を作成できるようになります。以下のステップに従って、標準のレポートウィザードを使用してOkta への変更を反映するインタラクティブなレポートを作成します。

  1. グローバルヘッダーで、[New]->[Data Model]をクリックします。
  2. Diagram タブでメニューからSQL クエリを選択します。
  3. クエリの名前を入力し、[Data Source]メニューで、作成したOkta JDBC データを選択します。
  4. 標準のSQL を選択し、以下のようなクエリを入力します。 SELECT Id, ProfileFirstName FROM Users WHERE Status = 'Active' The SQL query to be used to create the data set for the report's data model.(Salesforce is shown.)
  5. [View Data]をクリックし、レポートの作成に使用するサンプルデータを生成します。
  6. サンプルデータに含める行数を選択し、[View]をクリックして[Save As Sample Data]をクリックします。
  7. [Create Report]->[Use Data Model]とクリックします。
  8. [Guide Me]を選択し、[Select Layout]ページで含めるレポートオブジェクトを選択します。この例では、[Chart]と[Table]を選択します。
  9. ProfileFirstName のような数値列をy 軸の[Drop Value Here]ボックスにドロップします。Id のようなディメンション列をx 軸の[Drop Label Here]ボックスにドロップします。 The dimensions and measures for a chart.(Salesforce is shown.)
  10. [Refresh]をクリックしてOkta への変更を取得します。 An interactive, refresh-on-demand report.(Salesforce is shown.)

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。