各製品の資料を入手。
詳細はこちら →SSRS レポートサーバーにADO.NET Provider を配置してOkta 連携
SSRS レポートサーバーからOkta のデータに連携してレポートを作成。ネイティブモードレポートサーバーでも、SharePoint farm でも。
最終更新日:2022-09-21
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
この記事では、CData ADO.NET Provider for Okta をSSRS レポートサーバーで配布する方法を説明します。また、共有データソースも作成します;共有データソースは、複数の帳票からリアルタイムOkta への接続を可能にします。共有データソースへは、Visual Studio のレポートデザイナーから接続できます。
ADO.NET Provider の配置
ネイティブモードのレポートサーバー、およびSharePoint server farm の一部としてインストールされたレポートサーバーに、同じ手順でプロバイダーを配布できます。プロバイダーに同梱されているInstallProvider.exe ユーティリティを使って、レポートサーバーにプロバイダーを配布します。InstallProvider.exe は、プロバイダーのインストールディレクトリの[lib]ブフォルダ内にあります。SQL サーバーのバージョン用のexe ファイルとSSRS フォルダを、配布するマシンにコピーします。/installssrs flag でexe ファイルを実行します。
.\InstallProvider.exe /installssrs PathToFolderWithSSRSDLL
Okta に共有データソースを作成
レポートサーバーから直接、またはSharePoint サイトから共有データソースを作成できます。あるいは、レポートデザイナーを使って作成することも可能です。
レポートデザイナー
レポートデザイナーを使って、ネイティブモードのレポートサーバーまたはSharePoint server farm のレポートサーバーで、共有データソースを作成できます。
- レポートサーバープロジェクトで、[ソリューション エクスプローラー]の[Shared Data Sources]を右クリックします。
- データソースに名前を入力し、[Type]メニューでCData Okta Report を選択します。
- [接続文字列]ボックスでOkta に接続するための接続文字列を入力します。一般的な接続文字列は次のとおりです。
Domain=dev-44876464.okta.com;
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 アプリケーションに付与するスコープを選択します。これらのスコープは、アプリが読み取り可能なデータを決定します。そのため、特定のビューに対するスコープを付与しないと、そのビューに対するクエリを実行する権限がドライバーに付与されません。各ビューに必要なスコープを確認するには、ヘルプドキュメントのデータモデル > ビュー のビュー固有のページを参照してください。
- プロジェクトのプロパティに、フォルダとサーバーURL を設定します。SharePoint にパブリッシュしている場合は、すべてのプロパティの値は有効なURLである必要があります。
- 共有データソースを右クリックし[Deploy]をクリックします。
レポートサーバー
レポートサーバーのネイティブモードのインストールでは、Report Manager を使って共有データソースを作成できます。レポートサーバーでデータソースを管理する権限が必要です。
- Report Manager のHome ページから[New Data Source]をクリックします。[New Data Source]ページが表示されます。
- データソースに名前を入力し、[Data Source Type]メニューでCData Okta Report を選択します。
- [接続文字列]ボックスでOkta に接続するための接続文字列を入力します。一般的な接続文字列は次のとおりです。
Domain=dev-44876464.okta.com;
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 アプリケーションに付与するスコープを選択します。これらのスコープは、アプリが読み取り可能なデータを決定します。そのため、特定のビューに対するスコープを付与しないと、そのビューに対するクエリを実行する権限がドライバーに付与されません。各ビューに必要なスコープを確認するには、ヘルプドキュメントのデータモデル > ビュー のビュー固有のページを参照してください。
SharePoint
SharePoint サイトで共有データソースを作成する方法は、次のとおりです。レポートサーバーcontent タイプをライブラリに追加していない場合は、追加しておく必要があります:
- SharePoint にログインし、.rsds ファイルを保存したいライブラリを開きます。
- [Library Tools]タブで[Settings]リボングループから[Library Settings]をクリックします。
- [General Settings]セクションで[Advanced Settings] をクリックします。
- [Content Types]セクションで[Yes]を選択し、cntent タイプの管理を許可します。[Content Types]セクションは[Library Settings]ページに追加されます。
- 既存のサイトcontent タイプから[Add]をクリックします。
- [Available Site Content Types]リストから[レポートデータソース]を選択し、[Add]をクリックします。
これで、共有データソースを作成できます。Okta への接続情報を含む.rsds ファイルを作成します。
- SharePoint にログインし、.rsds ファイルを保存したいライブラリを開きます。
- [Library Tools]タブで[Documents]>[Create Document]>[Report Data Source]をクリックします。
- データソースに名前を入力します。
- [Data Source Type]メニューでCData Okta Report を選択します。
- [接続文字列]ボックスでOkta に接続するための接続文字列を入力します。一般的な接続文字列は次のとおりです。
Domain=dev-44876464.okta.com;
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 アプリケーションに付与するスコープを選択します。これらのスコープは、アプリが読み取り可能なデータを決定します。そのため、特定のビューに対するスコープを付与しないと、そのビューに対するクエリを実行する権限がドライバーに付与されません。各ビューに必要なスコープを確認するには、ヘルプドキュメントのデータモデル > ビュー のビュー固有のページを参照してください。