各製品の資料を入手。
詳細はこちら →Squirrel SQL Client からPingOne のデータに連携
PingOne に接続し、Squirrel SQL Client でクエリを実行します。
最終更新日:2022-10-03
この記事で実現できるPingOne 連携のシナリオ
こんにちは!ドライバー周りのヘルプドキュメントを担当している古川です。
CData JDBC Driver for PingOne を使用して、Squirrel SQL Client などのツールでPingOne へのクエリを実行できます。この記事では、JDBC data source for PingOne を作成し、クエリを実行します。
JDBC Driver for PingOne を追加する
以下のステップに従ってドライバーJAR を追加します。
- Squirrel SQL で[Windows]->[View Drivers]と進みます。
- プラスアイコンをクリックし、[Add Driver]ウィザードを開きます。
- [Name]ボックスで、CData JDBC Driver for PingOne のようなドライバーのわかりやすい名前を入力します。
- [Example URL]ボックスで、jdbc:pingone: と入力します。
- [Extra Class Path]タブで[Add]をクリックします。
- 表示される[file explorer]ダイアログで、インストールディレクトリのlib サブフォルダにあるドライバーのJAR ファイルを選択します。
- [List Drivers]をクリックして[Class Name]メニューにドライバーのクラス名(cdata.jdbc.pingone.PingOneDriver) を入力します。

接続プロパティを定義する
以下のステップに従って、接続プロパティをドライバーエイリアスに保存します。
- [Windows]->[View Aliases]と進みます。
- エイリアスが一覧表示されているペインで、プラスアイコンをクリックします。
表示される[Add Alias]ウィザードで、JDBC ドライバーには以下のフィールドが要求されます。
- Name:CData PingOne Source のようなエイリアスの名前を入力します。
- Driver:CData JDBC Driver for PingOne を選択します。
- URL:jdbc:pingone: と入力します。
- 追加のプロパティを定義する場合は、[Properties]をクリックします。
- 表示されるダイアログの[Driver properties]タブで、[Use driver properties]のチェックボックスを選択します。
- [Specify]カラムで必要な接続プロパティのチェックボックスを選択します。
PingOne に接続するには以下のプロパティを設定します。
- Region:自身のPingOne 組織のデータがホスティングされている地域。
- AuthScheme:PingOne に接続する際に使用する認証の種類。
- WorkerAppEnvironmentId (デフォルトのPingOne ドメインを使用する場合に必要)、またはAuthorizationServerURL のいずれかで、下で説明するように設定します。
WorkerAppEnvironmentId の設定
WorkerAppEnvironmentId は、Worker アプリケーションが存在するPingOne 環境のID です。 このパラメータは、環境がデフォルトのPingOne ドメイン(auth.pingone)を利用している場合のみ使用されます。 これは、ヘルプドキュメントのカスタムOAuth アプリケーションの作成で説明するように、PingOne への認証に使用するカスタムOAuth アプリケーションを作成した後に設定します。
はじめに、このプロパティの値を見つけます。
- 自身のPingOne 組織のホームページからナビゲーションサイドバーに移動し、Environments をクリックします。
- OAuth / Worker のカスタムアプリケーションを作成した環境(通常はAdministrators)を見つけ、Manage Environment をクリックします。 環境のホームページが表示されます。
- 環境のホームページのナビゲーションサイドバーで、Applications をクリックします。
- リストから、OAuth またはWorker アプリケーションの詳細を見つけます。
-
Environment ID フィールドの値をコピーします。
以下の例に似たものになるはずです:
WorkerAppEnvironmentId='11e96fc7-aa4d-4a60-8196-9acf91424eca'
次に、WorkerAppEnvironmentId をEnvironment ID フィールドの値に設定します。
AuthorizationServerURL の設定
AuthorizationServerURL は、お使いのアプリケーションが配置されている環境のPingOne 認可サーバーのベースURL です。 このプロパティは、PingOne プラットフォームAPI ドキュメントで説明されているように、環境にカスタムドメインを設定した場合にのみ使用されます。 Custom Domains を参照してください。
OAuth でのPingOne への認証
PingOne はOAuth とOAuthClient 認証の両方をサポートしています。 上述の設定手順に加え、OAuth またはOAuthCliet 認証をサポートするために、さらに2つの手順を完了する必要があります。
- ヘルプドキュメントのカスタムOAuth アプリケーションの作成で説明するように、カスタムOAuth アプリケーションを作成して設定します。
- ドライバーがデータモデル内のエンティティにアクセスできるようにするには、ヘルプドキュメントのAdministrator Roles での説明のとおり、使用するアドミンユーザー / ワーカーアプリケーションに対して正しいロールを設定していることを確認してください。
- 以下のサブセクションで説明されているように、選択した認証スキームと認証フローに適切なプロパティを設定します。
OAuth(認可コードグラント)
AuthScheme をOAuth に設定します。
デスクトップアプリケーション
OAuth アクセストークンの取得およびリフレッシュ
以下を設定して、接続してください。
- InitiateOAuth:GETANDREFRESH。繰り返しOAuth の交換を行ったり、手動でOAuthAccessToken を設定する必要をなくすには、InitiateOAuth を使用します。
- OAuthClientId:カスタムOAuth アプリケーションを作成した際に取得したClient ID。
- OAuthClientSecret:カスタムOAuth アプリケーションを作成した際に取得したClient Secret。
- CallbackURL:カスタムOAuth アプリケーションの登録時に定義したリダイレクトURI。例:https://localhost:3333
接続すると、本製品 はデフォルトブラウザでPingOne のOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えます。 ドライバーはこれでOAuth プロセスを完了します。
- ドライバーはPingOne からアクセストークンを取得し、それを使ってデータをリクエストします。
- OAuth 値はOAuthSettingsLocation で指定された場所に保存され、接続間で永続化されるようにします。
ドライバーはアクセストークンの期限が切れると自動的にリフレッシュします。
Web アプリケーションやヘッドレスマシン、クライアントクレデンシャルグラントを含むその他のOAuth メソッドについては、ヘルプドキュメントを参照してください。
以下は一般的な接続文字列です。
jdbc:pingone:AuthScheme=OAuth;WorkerAppEnvironmentId=eebc33a8-xxxx-4f3a-yyyy-d3e5262fd49e;Region=NA;OAuthClientId=client_id;OAuthClientSecret=client_secret;InitiateOAuth=GETANDREFRESH
- [OK]をクリックし、表示されるダイアログで[connect]をクリックして接続を確認します。
スキーマを検出しPingOne のデータをクエリする
メタデータが読み込まれると、PingOne のデータソースの新しいタブが表示されます。[Objects]サブタブでは、使用可能なテーブルやビューなどのスキーマ情報を見つけることができます。
テーブルデータを表示するには[Objects]タブでテーブルを選択します。その後、テーブルデータが[Content]タブのグリッドに読み込まれます。

SQL クエリを実行するには、[SQL]タブにクエリを入力し、[Run SQL](ランナーアイコン)をクリックします。例:
SELECT Id, Username FROM [CData].[Administrators].Users WHERE EmployeeType = 'Contractor'
