Salesforce にJWT ベアラートークンで認証・接続する方法

by 菅原和義 | September 5, 2023 | Last Updated: June 27, 2024

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

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


本記事ではCData 製品でサポートしているSalesforce の認証方法の1つ、JWT ベアラートークン(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 にログインして、設定画面の「アプリケーション」>「アプリケーションマネージャ」を選択して、「新規接続アプリケーション」をクリックします。

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

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

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



・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)」も選択

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

3. 「次へ」をクリックします。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(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で設定したユーザーのメールアドレスを設定」

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

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

  • InitiateOAuth:「GETANDREFRESH」
  • CallbackURL:「http://localhost:8019/src/oauthCallback.rst」

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

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

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

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

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

(4)Tableau Desktop からSalesforce へ接続

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

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

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

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

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

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

まとめ

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

CData 製品では今回紹介したJWT ベアラートークンの他にも多様な方法でSalesforce への認証をサポートしています。ご利用になるユースケースにあわせて選択してください