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 のレポートサーバーで、共有データソースを作成できます。

  1. レポートサーバープロジェクトで、[ソリューション エクスプローラー]の[Shared Data Sources]を右クリックします。
  2. データソースに名前を入力し、[Type]メニューでCData Okta Report を選択します。
  3. [接続文字列]ボックスでOkta に接続するための接続文字列を入力します。一般的な接続文字列は次のとおりです。 Domain=dev-44876464.okta.com;

    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 アプリケーションに付与するスコープを選択します。これらのスコープは、アプリが読み取り可能なデータを決定します。そのため、特定のビューに対するスコープを付与しないと、そのビューに対するクエリを実行する権限がドライバーに付与されません。各ビューに必要なスコープを確認するには、ヘルプドキュメントのデータモデル > ビュー のビュー固有のページを参照してください。
    Properties to define a shared data source in Report Designer. (Salesforce is shown.)
  4. プロジェクトのプロパティに、フォルダとサーバーURL を設定します。SharePoint にパブリッシュしている場合は、すべてのプロパティの値は有効なURLである必要があります。
  5. 共有データソースを右クリックし[Deploy]をクリックします。

レポートサーバー

レポートサーバーのネイティブモードのインストールでは、Report Manager を使って共有データソースを作成できます。レポートサーバーでデータソースを管理する権限が必要です。

  1. Report Manager のHome ページから[New Data Source]をクリックします。[New Data Source]ページが表示されます。
  2. データソースに名前を入力し、[Data Source Type]メニューでCData Okta Report を選択します。
  3. [接続文字列]ボックスでOkta に接続するための接続文字列を入力します。一般的な接続文字列は次のとおりです。 Domain=dev-44876464.okta.com;

    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 アプリケーションに付与するスコープを選択します。これらのスコープは、アプリが読み取り可能なデータを決定します。そのため、特定のビューに対するスコープを付与しないと、そのビューに対するクエリを実行する権限がドライバーに付与されません。各ビューに必要なスコープを確認するには、ヘルプドキュメントのデータモデル > ビュー のビュー固有のページを参照してください。
    Properties to define a shared data source in Report Manager. (Salesforce is shown.)

SharePoint

SharePoint サイトで共有データソースを作成する方法は、次のとおりです。レポートサーバーcontent タイプをライブラリに追加していない場合は、追加しておく必要があります:

  1. SharePoint にログインし、.rsds ファイルを保存したいライブラリを開きます。
  2. [Library Tools]タブで[Settings]リボングループから[Library Settings]をクリックします。
  3. [General Settings]セクションで[Advanced Settings] をクリックします。
  4. [Content Types]セクションで[Yes]を選択し、cntent タイプの管理を許可します。[Content Types]セクションは[Library Settings]ページに追加されます。
  5. 既存のサイトcontent タイプから[Add]をクリックします。
  6. [Available Site Content Types]リストから[レポートデータソース]を選択し、[Add]をクリックします。

これで、共有データソースを作成できます。Okta への接続情報を含む.rsds ファイルを作成します。

  1. SharePoint にログインし、.rsds ファイルを保存したいライブラリを開きます。
  2. [Library Tools]タブで[Documents]>[Create Document]>[Report Data Source]をクリックします。
  3. データソースに名前を入力します。
  4. [Data Source Type]メニューでCData Okta Report を選択します。
  5. [接続文字列]ボックスでOkta に接続するための接続文字列を入力します。一般的な接続文字列は次のとおりです。 Domain=dev-44876464.okta.com;

    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 アプリケーションに付与するスコープを選択します。これらのスコープは、アプリが読み取り可能なデータを決定します。そのため、特定のビューに対するスコープを付与しないと、そのビューに対するクエリを実行する権限がドライバーに付与されません。各ビューに必要なスコープを確認するには、ヘルプドキュメントのデータモデル > ビュー のビュー固有のページを参照してください。
    Properties to define a shared data source in SharePoint. (Salesforce is shown.)

関連コンテンツ

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

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