各製品の資料を入手。
詳細はこちら →MicroStrategy でCData JDBC Driver を使ってOkta に接続
CData JDBC Driver を使用してMicroStrategy Developer のOkta に接続します。
最終更新日:2023-09-16
この記事で実現できるOkta 連携のシナリオ
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
MicroStrategy は、データ主導のイノベーションを可能にする、モビリティプラットフォームです。MicroStrategy をCData JDBC Driver for Okta とペアリングすると、MicroStrategy からリアルタイムOkta へのデータベースのようなアクセスが得られ、レポート機能と分析機能が拡張されます。この記事では、MicroStrategy Developer でOkta のデータベースインスタンスを作成し、Okta のWarehouse Catalog を作成します。
CData JDBC ドライバーは、ドライバーに組み込まれた最適化されたデータ処理により、MicroStrategy でリアルタイムOkta と対話するための圧倒的なパフォーマンスを提供します。MicroStrategy からOkta に複雑なSQL クエリを発行すると、ドライバーはフィルタや集計などのサポートされているSQL 操作をOkta に直接プッシュし、組み込みSQL エンジンを利用して、サポートされていない操作(一般的にはSQL 関数とJOIN 操作) をクライアント側で処理します。組み込みの動的メタデータクエリを使用すると、ネイティブのMicroStrategy データタイプを使用してOkta を視覚化および分析できます。
MicroStrategy Developer のOkta に接続
CData JDBC Driver for Okta に基づくデータベースインスタンスを追加することにより、MicroStrategy Developer のOkta に接続できます。* 開始する前に、MicroStrategy Developer のインスタンスが接続されているMicroStrategy Intelligence Server をホストとするマシンにJDBC Driver for Okta をインストールする必要があります。
- MicroStrategy Developer を開き、[Project Source]を選択します。
- [Administration]->[Configuration Managers]->[Database Instances]と進み、右クリックして新しいインスタンスを追加します。
- インスタンスに名前を付け、データベース接続タイプとしてGeneric DBMS を選択し、新しいデータベース接続を作成します。
- データベース接続ウィザードで接続に名前を付け、新しいデータベースログイン名を作成してOkta のユーザーとパスワードを設定します。
- 接続ウィザードの[Advanced]タブで、追加の接続文字列パラメータを以下のように設定します。
- JDBC キーワードを接続文字列に追加します。
- MSTR_JDBC_JAR_FOLDER をJDBC ドライバーのJAR ファイルを含むディレクトリのパスに設定します。(C:\Program Files\CData JDBC Driver for Okta\lib\ on Windows.)
- DRIVER をドライバークラスであるcdata.jdbc.okta.OktaDriver に設定します。
- URL をOkta ドライバーのJDBC URL に設定します。これには、必要な接続プロパティが含まれています。
Okta に接続するには、Domain 接続文字列プロパティをお使いのOkta ドメインに設定します。
Okta への認証にはOAuth を使用するため、カスタムOAuth アプリケーションを作成する必要があります。
カスタムOAuth アプリケーションの作成
Okta アカウントから:
- 管理者アカウントでOkta のデベロッパーエディションにサインインします。
- Admin Consoleで、Applications > Applications に移動します。
- Create App Integration をクリックします。
- Sign-in method は、OIDC - OpenID Connect を選択します。
- Application type は、Web Application を選択します。
- カスタムアプリケーションの名前を入力します。
- Grant TypeをAuthorization Code に設定します。トークンを自動的に更新したい場合は、Refresh Token もチェックしてください。
- コールバックURL を設定します。
- デスクトップアプリケーションやヘッドレスマシンでは、http://localhost:33333 または任意の別のポート番号を使用します。ここで設定したURI が、CallbackURL プロパティになります。
- Web アプリケーションの場合、コールバックURL を信頼できるリダイレクトURL に設定します。このURL は、アプリケーションへのアクセスが許可されたことを示すトークンを伴ってユーザーが戻ってくるWeb 上の場所です。
- Assignments セクションで、Limit access to selected groups を選択してグループを追加するか、グループの割り当ては一旦スキップします。
- OAuth アプリケーションを保存します。
- アプリケーションのGeneral タブに、アプリケーションのClient Id とClient Secret が表示されます。後で使用できるように、これらを記録してください。Client Id はOAuthClientId の設定に使用し、Client Secret はOAuthClientSecret の設定に使用します。
- Assignments タブを確認し、アプリケーションにアクセスする必要のあるすべてのユーザーがアプリケーションに割り当てられていることを確かめます。
- Okta API Scopes タブで、OAuth アプリケーションに付与するスコープを選択します。これらのスコープは、アプリが読み取り可能なデータを決定します。そのため、特定のビューに対するスコープを付与しないと、そのビューに対するクエリを実行する権限がドライバーに付与されません。各ビューに必要なスコープを確認するには、ヘルプドキュメントのデータモデル > ビュー のビュー固有のページを参照してください。
ビルトイン接続文字列デザイナ
JDBC URL の構成については、Okta JDBC Driver に組み込まれている接続文字列デザイナを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。
java -jar cdata.jdbc.okta.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
JDBC URL を構成する際に、Max Rows プロパティを定めることも可能です。これによって戻される行数を制限するため、可視化・レポートのデザイン設計時のパフォーマンスを向上させるのに役立ちます。
以下は、一般的な追加の接続文字列プロパティです。
JDBC;MSTR_JDBC_JAR_FOLDER=PATH\TO\JAR\;DRIVER=cdata.jdbc.okta.OktaDriver;URL={jdbc:okta:Domain=dev-44876464.okta.com;};
- ODBC データソースが選択されていないことを確認し、(これによりMicroStrategy がトリガーされ、追加の接続文字列パラメータを使用してデータベースインスタンスが構築されます)[OK]をクリックします。
- [OK]をクリックし、データベースインスタンスウィザードを閉じます。
- [Project Source]でプロジェクトを右クリックし、[Project configuration]を開きます。
- [Database Instances]に移動し、新しく作成したデータベースインスタンスを選択して[OK]をクリックします。
- MicroStrategy Developerを閉じ、接続されたMicroStrategy Intelligence Server を再起動してデータベースインスタンスの作成を完了します。
データベースインスタンスを構成すると、Warehouse Catalog およびData Import からOkta に接続できるようになります。
Warehouse Catalog からOkta のデータに接続する
JDBC Driver for Okta に基づいてデータベースインスタンスを作成すると、Warehouse Catalog のデータに接続できます。
- プロジェクトを選択し、[Schema]->[Warehouse Catalog]をクリックします。
- [Read Settings for the Catalog]で[Settings]をクリックし、スキーマを取得するためのクエリを設定します。
- テーブルのリストを取得するには、以下のクエリを使用します。
SELECT * FROM SYS_TABLES
- 選択したテーブルの例のリストを取得するには、以下のクエリを使用します。
SELECT DISTINCT CatalogName NAME_SPACE, TableName TAB_NAME, ColumnName COL_NAME, DataTypeName DATA_TYPE, Length DATA_LEN, NumericPrecision DATA_PREC, NumericScale DATA_SCALE FROM SYS_TABLECOLUMNS WHERE TableName IN (#TABLE_LIST#) ORDER BY 1,2,3
- テーブルのリストを取得するには、以下のクエリを使用します。
- プロジェクトで使用するテーブルを選択します。
MicroStrategy のCData JDBC Driver for Okta を使用すると、Okta で安定したビジュアライズとレポートを簡単に作成できます。詳細については、MictroStrategy でのOkta への接続やMicroStrategy Desktop でのOkta への接続 に関するほかの記事をお読みください。
NoteJDBC Driver を使用して接続するには、3層から4層のアーキテクチャが必要です。