MuleSoft でリアルタイムの PingOne のデータを連携(CData Connect AI 経由)
MuleSoft Anypoint Platform は、API と統合の構築、デプロイ、管理を可能にし、アプリケーションとシステム間のシームレスな接続を実現します。CData Connect AI と組み合わせることで、PingOne のデータ にアクセスしてビジュアライゼーション、ダッシュボードなどに活用できます。この記事では、CData Connect AI を使用して PingOne へのリアルタイム接続を作成し、MuleSoft Anypoint Platform からリアルタイムのPingOne のデータに接続してアクセスする方法を説明します。
前提条件
MuleSoft をCData Connect AI と一緒に設定して使用する前に、まずCData Connect AI アカウントにデータソースを接続する必要があります。詳細については、Connections セクションを参照してください。
また、Settings ページでPersonal Access Token(PAT)を生成する必要があります。認証時にパスワードとして使用するため、必ずコピーして保存してください。
MuleSoft 用に PingOne への接続を設定
MuleSoft から PingOne への接続は、CData Connect AI によって実現されます。MuleSoft からPingOne のデータを操作するには、まず PingOne 接続を作成し設定します。
- Connect AI にログインして「Sources」をクリックし、 Add Connection をクリックします
- Add Connection パネルから「PingOne」を選択します
-
PingOne への接続に必要な認証プロパティを入力します。
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
接続すると、CData 製品 はデフォルトブラウザでPingOne のOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えます。 ドライバーはこれでOAuth プロセスを完了します。
- ドライバーはPingOne からアクセストークンを取得し、それを使ってデータをリクエストします。
- OAuth 値はOAuthSettingsLocation で指定された場所に保存され、接続間で永続化されるようにします。
ドライバーはアクセストークンの期限が切れると自動的にリフレッシュします。
Web アプリケーションやヘッドレスマシン、クライアントクレデンシャルグラントを含むその他のOAuth メソッドについては、ヘルプドキュメントを参照してください。
- Save & Test をクリックします
-
Add PingOne Connection ページの「Permissions」タブに移動し、ユーザーベースの権限を更新します。
Personal Access Token の追加
REST API、OData API、またはVirtual SQL Server 経由でConnect AI に接続する場合、Personal Access Token(PAT)を使用してConnect AI への接続を認証します。アクセス管理の粒度を維持するために、サービスごとに個別のPAT を作成することをお勧めします。
- Connect AI アプリの右上にある歯車アイコン()をクリックして設定ページを開きます。
- Settings ページで「Access Tokens」セクションに移動し、 Create PAT をクリックします。
-
PAT に名前を付けて「Create」をクリックします。
- Personal Access Token は作成時にのみ表示されるため、必ずコピーして安全な場所に保存してください。
接続の設定とPAT の生成が完了したら、Mulesoft からPingOne のデータに接続する準備が整いました。
CData Connect AI への接続
JDBC ドライバーを使用してMulesoft からCData Connect AI への接続を確立するには、以下の手順に従います:
-
CData Connect AI JDBC ドライバーをダウンロードしてインストールします。
- CData Connect AI のIntegrations ページを開きます。
- JDBC を検索して選択します。
- セットアップファイルをダウンロードして実行します。
- インストールが完了すると、JAR ファイルはインストールディレクトリ(lib フォルダ内)にあります。
- Mulesoft Anypoint Studio にログインするか、デスクトップアプリケーションを起動します。
- 新しいMulesoft プロジェクトを作成します。
新しいプロジェクトがプロジェクトフォルダに表示されます。
- 右側のMule Palette で、HTTP Listener をMessage Flow エリアにドラッグします。
- HTTP Listener をクリックして設定します。
- Connector configuration の右側にある+ 記号をクリックします。HTTP Listener 設定ダイアログが表示されます。
- HTTP Listener を設定し、データをクエリするためのPort を指定してOK をクリックします。
- アクションを実行するためのpath を指定します。HTTP Listener の設定が完了しました。
- 右側のMule Palette で、検索バーにdatabase と入力します。
- 実行したいデータベース操作をMessage Flow エリアにドラッグします。この例ではSelect を選択します。
- Database Config ダイアログのConnection ドロップダウンからGeneric Connection を選択します。
- Configure ボタンをクリックしてJDBC ドライバーを設定します。ドロップダウンリストからUse local file を選択します。
- JDBC ドライバーのインストールからCData Connect AI JAR ファイルを探し、OK をクリックします。
- 以下の情報を入力します:
- URL: 接続用のURL。例:
注意:password には前提条件セクションで作成したPAT を指定します。jdbc:connect:Authscheme=Basic;user=username;password=PAT - Driver class name: ドライバークラス名として次を入力します:
cdata.jdbc.connect.ConnectDriver
- URL: 接続用のURL。例:
- Test Connection をクリックします。
- 接続が成功したら、エディターにSQL Query Text を入力します。右側のOutput タブでテーブルメタデータを確認できます。
- Mule Palette で、Transform Message をMessage Flow エリアにドラッグします。
- Transform Message をクリックして設定します。Output を次のように変更します:
- プロジェクトを保存して実行します。コンソールでMulesoft が依存関係の初期化を開始します。
- "Message source 'listener' on flow your_project_name successfully started" というメッセージが表示されたら、指定したエンドポイントでデータのクエリを開始できます。
- Postman アプリケーションを使用してクエリを実行し、データを確認します(以下に示すとおり)。
クラウドアプリケーションからの PingOne のデータへのSQL アクセス
これで、MuleSoft Anypoint Platform からリアルタイムのPingOne のデータへの直接接続が確立されました。PingOne のデータ をレプリケートすることなく、シームレスなデータフロー、ビジネスプロセスの自動化、API の管理を実現するために、さらに多くの接続を作成できます。
クラウドアプリケーションから PingOne(およびその他数百種類のSaaS、Big Data、NoSQL ソース)へのリアルタイムデータアクセスを実現するには、CData Connect AI をご覧ください。