CData Salesforce Driver でOAuthJWT 認証を利用する方法

by 菅原和義 | 2023年09月05日

こんにちは。Product Specialist の菅原です。


本記事ではCData 製品でサポートしているSalesforce の認証方法の1つ、OAuthJWT を使用してSalesforce へ接続する手順を紹介します。

※Salesforce Marketing Cloud Account Engagement (旧:Pardot)でも同様の手順となります。

今回はSalesforce JDBC Driver を使用していきます。

Salesforce にJDBC で連携 | JDBC Drivers | CData Software Japan

(1)証明書作成

本記事ではテスト用のため、openssl を使用して自己署名証明書を作成します。

下記のコマンドをコマンドプロンプトにて実行して、証明書を作成しておきましょう。

openssl genrsa 2048 > test.pem
openssl req -new -key test.pem -out test.csr
openssl x509 -req -days 365 -in test.csr -signkey test.pem -out test.crt
openssl rsa -in test.pem -pubout -out test.pub

(2)カスタムOAuth アプリ作成

ヘルプドキュメントの「カスタムOAuth アプリの作成」や「接続の設定」>「OAuthJWT 証明書」の手順に沿って作成していきます。

CData JDBC Driver for Salesforce - カスタムOAuth アプリの作成
CData JDBC Driver for Salesforce - 接続の確立

1. Salesforce にログインして、設定画面の「アプリケーション」>「アプリケーションマネージャ」を選択して、「新規接続アプリケーション」をクリックします。

2.アプリケーションマネージャ画面の下記項目を設定して保存します。


<基本情報>
・接続アプリケーション名:「任意」
・API 参照名:「任意」
・取引先責任者メール:「任意のメールアドレス」


<API(OAuth 設定の有効化)>
・OAuth 設定の有効化:チェックON
・コールバックURL :「http://localhost:8019/src/oauthCallback.rst」

 今回は下記のヘルプの「OAuthJWT 証明書」に記載されているURL を設定しています。

 必要に応じて任意のURL を設定してください。

 CData JDBC Driver for Salesforce - 接続の確立 


・デジタル署名を使用:チェックON
※ファイル選択にて、(1)で作成した証明書を選択

 今回は「test.crt」を選択しています。


・選択したOAuth 範囲:今回は「いつでも要求を実行(refresh_token, offline_access)」と「フルアクセス(full)」を選択
※Salesforce Marketing Cloud Account Engagement (旧:Pardot)の場合は、「Pardot サービスを管理(pardot_api)」も選択

3.下記の画面は「次へ」をクリックします。

4.「Manage」をクリックします。

5.「ポリシーを編集」をクリックします。

6.「許可されているユーザー」を「管理者が承認したユーザは事前承認済み」に変更して保存します。

7.「プロファイルを管理する」をクリックします。

8.「アプリケーションプロファイルの割り当て」画面でこのアプリケーションへのアクセス権のユーザを選択します。
今回は「システム管理者」としました。

9.「接続アプリケーションを管理する」画面に戻って「コンシューマの詳細を管理」をクリックします。

10.コンシューマ鍵とコンシューマの秘密をメモしておきます。

(3)Salesforce JDBC Driver からSalesforce へ接続

Salesforce JDBC Driver のインストール先にある「C:\Program Files\CData\CData JDBC Driver for Salesforce 2023J\lib\cdata.jdbc.salesforce.jar」を起動します。

1.「標準」タブを設定します。

・AuthScheme:「OAuthJWT」

・OAuthJWTCert:「(1)の証明書のpem ファイルパスを設定」

・OAuthJWTCertType:「PEMKEY_FILE」

・OAuthJWTIssuer:「(2)の10でメモしたコンシューマ鍵を設定」

・OAuthJWTSubject:「(2)の8で設定したユーザーのメールアドレスを設定」

2.「詳細」タブを設定します。

・InitiateOAuth:「GETANDREFRESH」

・CallbackURL:「http://localhost:8019/src/oauthCallback.rst」

 (2)の2で登録したコールバックURLを設定します。

3. 「接続テスト」でSalesforce へ接続できることを確認します。

接続できたら接続文字列をコピーしておきます。

後ほどTableau Desktop からの接続の際に使用します。

(4)Tableau Desktop からSalesforce へ接続

それでは実際にTableau Desktop からSalesforce へOAuthJWT 認証で接続できるか試していきましょう。

1.Tableau Desktop の「その他のデータベース(JDBC)」を選択します。

URL に(3)で接続できた接続文字列を記入して、サインインします。

2.Salesforce へ接続できると下記のように各テーブルが表示されます。

まとめ

本記事ではCData 製品でサポートしているSalesforce の認証方法の1つ、OAuthJWT を使用してSalesforce へ接続する手順を紹介しました。

CData 製品では今回紹介したOAuthJWT の認証方法の他にもSalesforce への認証方法があるので、ご利用になるユースケースにあわせて選択してください

関連コンテンツ

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

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