MySQL Workbench からPingOne のデータをクエリする方法

MySQL Workbench からPingOne のリアルタイムデータにクエリを実行します。

古川えりか
コンテンツスペシャリスト

最終更新日:2022-06-10

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

こんにちは!ドライバー周りのヘルプドキュメントを担当している古川です。

ODBC Driver for PingOne とSQL Gateway を使用することで、MySQL インターフェースを使ってPingOne にクエリを実行できます。この記事では、MySQL Workbench からPingOne のデータにSQL クエリを投げてデータを取得する方法をご紹介します。

CData ODBC ドライバとは?

CData ODBC ドライバは、以下のような特徴を持ったリアルタイムデータ連携ソリューションです。

  1. PingOne をはじめとする、CRM、MA、会計ツールなど多様なカテゴリの270種類以上のSaaS / オンプレミスデータソースに対応
  2. 多様なアプリケーション、ツールにPingOne のデータを連携
  3. ノーコードでの手軽な接続設定
  4. 標準 SQL での柔軟なデータ読み込み・書き込み

CData ODBC ドライバでは、1.データソースとしてPingOne の接続を設定、2.MySQL Workbench 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。

CData ODBC ドライバのインストールとPingOne への接続設定

まずは、本記事右側のサイドバーからPingOne ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。

未指定の場合は、データソース名(DSN)で必要な接続プロパティの値を指定します。ドライバーのインストールの最後にODBC アドミニストレーターが開きます。Microsoft ODBC データソースアドミニストレーターでDSN を作成及び設定する方法については、ヘルプドキュメントの[はじめに]チャプターを参照してください。

PingOne に接続するには以下のプロパティを設定します。

  • Region:自身のPingOne 組織のデータがホスティングされている地域。
  • AuthScheme:PingOne に接続する際に使用する認証の種類。
  • WorkerAppEnvironmentId (デフォルトのPingOne ドメインを使用する場合に必要)、またはAuthorizationServerURL のいずれかで、下で説明するように設定します。

WorkerAppEnvironmentId の設定

WorkerAppEnvironmentId は、Worker アプリケーションが存在するPingOne 環境のID です。 このパラメータは、環境がデフォルトのPingOne ドメイン(auth.pingone)を利用している場合のみ使用されます。 これは、ヘルプドキュメントカスタムOAuth アプリケーションの作成で説明するように、PingOne への認証に使用するカスタムOAuth アプリケーションを作成した後に設定します。

はじめに、このプロパティの値を見つけます。

  1. 自身のPingOne 組織のホームページからナビゲーションサイドバーに移動し、Environments をクリックします。
  2. OAuth / Worker のカスタムアプリケーションを作成した環境(通常はAdministrators)を見つけ、Manage Environment をクリックします。 環境のホームページが表示されます。
  3. 環境のホームページのナビゲーションサイドバーで、Applications をクリックします。
  4. リストから、OAuth またはWorker アプリケーションの詳細を見つけます。
  5. Environment ID フィールドの値をコピーします。 以下の例に似たものになるはずです:
    WorkerAppEnvironmentId='11e96fc7-aa4d-4a60-8196-9acf91424eca'

次に、WorkerAppEnvironmentIdEnvironment ID フィールドの値に設定します。

AuthorizationServerURL の設定

AuthorizationServerURL は、お使いのアプリケーションが配置されている環境のPingOne 認可サーバーのベースURL です。 このプロパティは、PingOne プラットフォームAPI ドキュメントで説明されているように、環境にカスタムドメインを設定した場合にのみ使用されます。 Custom Domains を参照してください。

OAuth でのPingOne への認証

PingOne はOAuth とOAuthClient 認証の両方をサポートしています。 上述の設定手順に加え、OAuth またはOAuthCliet 認証をサポートするために、さらに2つの手順を完了する必要があります。

  • ヘルプドキュメントカスタムOAuth アプリケーションの作成で説明するように、カスタムOAuth アプリケーションを作成して設定します。
  • ドライバーがデータモデル内のエンティティにアクセスできるようにするには、ヘルプドキュメントのAdministrator Roles での説明のとおり、使用するアドミンユーザー / ワーカーアプリケーションに対して正しいロールを設定していることを確認してください。
  • 以下のサブセクションで説明されているように、選択した認証スキームと認証フローに適切なプロパティを設定します。

OAuth(認可コードグラント)

AuthSchemeOAuth に設定します。

デスクトップアプリケーション

OAuth アクセストークンの取得およびリフレッシュ

以下を設定して、接続してください。

  • InitiateOAuthGETANDREFRESH。繰り返しOAuth の交換を行ったり、手動でOAuthAccessToken を設定する必要をなくすには、InitiateOAuth を使用します。
  • OAuthClientId:カスタムOAuth アプリケーションを作成した際に取得したClient ID。
  • OAuthClientSecret:カスタムOAuth アプリケーションを作成した際に取得したClient Secret。
  • CallbackURL:カスタムOAuth アプリケーションの登録時に定義したリダイレクトURI。例:https://localhost:3333

接続すると、本製品 はデフォルトブラウザでPingOne のOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えます。 ドライバーはこれでOAuth プロセスを完了します。

  1. ドライバーはPingOne からアクセストークンを取得し、それを使ってデータをリクエストします。
  2. OAuth 値はOAuthSettingsLocation で指定された場所に保存され、接続間で永続化されるようにします。

ドライバーはアクセストークンの期限が切れると自動的にリフレッシュします。

Web アプリケーションやヘッドレスマシン、クライアントクレデンシャルグラントを含むその他のOAuth メソッドについては、ヘルプドキュメントを参照してください。

SQL Gateway を構成する

PingOne への接続を仮想MySQL データベースとして設定する方法については、SQL Gateway の解説記事 を参照してください。クライアントからのMySQL リクエストを受けるMySQL リモートサービスを構築します。このサービスは、SQL Gateway のUI で構成できます。

SQL Gateway でMySQL のリモーティングサービスを設定

MySQL Workbench からPingOne をクエリ

以下のステップでは、MySQL Workbench からSQL Gateway で作成された仮想PingOne のデータベースに接続し、PingOne のデータをリアルタイムで操作するための基本的なクエリを発行する方法を説明します。

SQL Gateway を介してPingOne に接続

  1. MySQL Workbench で、[add a new MySQL connection]をクリックします。
  2. 接続(CData SQL Gateway for PingOne)に名前を付けます。
  3. HostnamePortUsername のパラメータを設定し、SQL Gateway に接続します。
  4. Store in Vault をクリックしてパスワードを設定し、保存します。
  5. Test Connection をクリックして接続が正しく構成されていることを確認し、OK をクリックします。

PingOne のデータをクエリしてみる

  1. 作成した接続(CData SQL Gateway for PingOne)を開きます。
  2. [File]->[New Query Tab]と進みます。
  3. SELECT * FROM `CData PingOne Sys`.[CData].[Administrators].Users; のようなPingOne のデータを取得するSQL を書いて、実行します。
  4. 無事、PingOne のデータが取得できました。

おわりに

MySQL Workbench からリアルタイムPingOne のデータにアクセスすることで、MySQL データベースと同じようにPingOne をクエリおよび更新できます。CData ODBC Driver for PingOne とCData SQL Gateway の30日の無償評価版はこちらです。

CData ODBC ドライバは日本のユーザー向けに、UI の日本語化、ドキュメントの日本語化、日本語でのテクニカルサポートを提供しています。

関連コンテンツ

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

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