各製品の資料を入手。
詳細はこちら →SSAS でOkta のデータに連携するOLAP Cube を作成
Okta のデータプロバイダーを利用してAnalysis Services プロジェクト内のOkta に接続し、アナリティクスやレポーティングなどで使えるOLAP キューブを構築します。
最終更新日:2022-04-10
この記事で実現できるOkta 連携のシナリオ
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
SQL Server Analysis Services (SSAS) は、意思決定支援やビジネスアナリティクスで使われる解析エンジンです。ビジネスレポートおよび、Power BI やExcel、 Reporting Services レポート、その他のデータ可視化ツールのようなクライアントアプリケーションに、エンタープライズレベルのセマンティックデータを提供します。Okta 用のCData ADO.NET プロバイダーと合わせれば、Okta を使って、より深く速いデータ分析のためのキューブを作成できます。
この記事では、Analysis Services プロジェクトをVisual Studio で作成し、Okta の多次元モデルを構築および配置する方法を説明します。これには、アクセス可能なSSAS インスタンスと、ADO.NET プロバイダーのインストールが必要です。
Okta 用のJDBC データソースの設定
まず、Visual Studio で新しい多元的なAnalysis Service とデータマイニングプロジェクトを作成します。次に、プロジェクト内でOkta 用のデータソースを作成します。
- [Solution Explorer] の[Data Source] を右クリックし、[New Data Source] を選択します。
- 既存または新規の接続に基づいて、データソースを作成することを選択し、[New] をクリックします。
- [Connection Manager] のOkta 用CData ADO.NET プロバイダーを選択し、必要な接続プロパティに入力後、[Next] をクリックします。
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 アプリケーションに付与するスコープを選択します。これらのスコープは、アプリが読み取り可能なデータを決定します。そのため、特定のビューに対するスコープを付与しないと、そのビューに対するクエリを実行する権限がドライバーに付与されません。各ビューに必要なスコープを確認するには、ヘルプドキュメントのデータモデル > ビュー のビュー固有のページを参照してください。
接続を構成する際に、Max Rows プロパティを定めることも可能です。これによって戻される行数を制限するため、可視化・レポートのデザイン設計時のパフォーマンスを向上させるのに役立ちます。
- インパーソネーションを[Inherit] に設定し、[Next] をクリックします。
- データソースに名称(CData Okta Source) を入力し、[Finish] をクリックします。
データソースビューの作成
データソースの次に、データソースビューを作成します。
- [Solution Explorer] で[Data Source Views] を右クリックし、[New Data Source View] を選択します。
- 先ほど作成したデータソース(CData Okta Source) を選択し、[Next] をクリックします。
- 基になるデータソースのパターンに一致する外部キーを選択し、[Next] をクリックします。
- Okta の表を選択、ビューに追加し、[Next] をクリックします。
- ビューに名前を付け、[Finish] をクリックします。
スキームに一致する外部キーに基づいて、基礎的なデータとのリレーションが検出されます。[Data Source View] をダブルクリックすることで、これらのリレーションを確認・編集することができます。

[Data Source View] へのセカンダリデータソースの追加はサポートされないことに注意してください。複数のデータソースを利用する場合、SSAS は、すべてのソースがADO.NET プロバイダーでは使用できないOpenRowset 経由のリモートクエリをサポートすることを必要とします。
Okta 用のキューブを作成する
プロジェクトを処理してOkta をSSAS に展開するための最後のステップはキューブの作成です。
- [Solution Explorer] の[Cubes] を右クリックし、[New Cube] を選択します。
- [Use existing tables] を選択し、[Next] をクリックします。
- メジャーグループテーブルに使用するテ-ブルを選択し、[Next] をクリックします。
- キューブに含ませたいメジャーを選択し、[Next] をクリックします。
- 使用可能なテーブルに基づいて作成するディメンションを選択し、[Next] をクリックします。
- すべての選択内容を確認し、[Finish] をクリックします。
プロジェクトを処理する
データソースと、データソースビュー、キューブを作成すると、SSASにキューブを展開する準備が完了します。ターゲットサーバーとデータベースを構成するために、プロジェクトを右クリックしプロパティを選択します。デプロイメントに移動し、ターゲットセクションでサーバーとデータベースのプロパティを設定します。

ターゲットサーバーとデータベースを構成した後、プロジェクトを右クリックして[Process] を選択します。このステップの一部として、プロジェクトの構成・デプロイが必要となる場合があります。プロジェクトを構成・デプロイし、[Process Database]ウィザードにある[Run] をクリックします。
SSAS インスタンスにOkta 用のOLAP キューブが作成され、分析、レポート、表示の準備が完了します。Okta 用のCData ADO.NET プロバイダーの30日の無償評価版をダウンロードして、SSAS データをご利用ください。