データ接続と統合利用可能なコネクターSalesforce

注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

Salesforce

Foundry の Salesforce コネクターを使用すると、Salesforce と Foundry データセット間でデータを同期できます。

このドキュメントは、Salesforce コネクターの最新バージョンを対象としています。既存の Salesforce コネクターを編集している場合は、レガシーバージョンの可能性があります。詳細については、以下の移行セクションを確認してください。

サポートされている機能

機能ステータス
探索🟢 一般提供
一括インポート🟢 一般提供

データモデル

このコネクターは、利用可能なすべての標準 ↗およびカスタムの Salesforce オブジェクトを Foundry データセットとしてモデル化します。スキーマは動的に取得されます。探索ビューでは、データモデルの一覧を見たり、Salesforce オブジェクトを Foundry にインポートしたときの表示をプレビューしたりできます。

データ型のマッピング

このコネクターは、Salesforce API のデータ型を以下の Foundry フィールドのデータ型にマッピングします。

SalesforceFoundry
自動採番STRING
参照関係STRING
主従関係STRING
外部参照関係STRING
チェックボックスBOOLEAN
通貨DECIMAL
日付DATE
日付/時間LONG
メールSTRING
位置情報STRING
数値DOUBLE
パーセントDOUBLE
電話STRING
選択リストSTRING
選択リスト(複数選択)STRING
テキストSTRING
テキストエリアSTRING
ロングテキストエリアSTRING
リッチテキストエリアSTRING
テキスト(暗号化)STRING
時間INTEGER
URLSTRING

パフォーマンスと制限

このコネクターは、デフォルトで Salesforce Bulk API ↗ を使用します。この API は、2000行を超えるデータを扱うすべてのデータ操作に推奨されています。Bulk API の制限 ↗について、詳しくはこちらをご覧ください。

JDBC プロパティ UseBulkAPI を false に設定すると、このコネクターで Salesforce SOAP API ↗ を使用することもできます。SOAP API にも Salesforce SOAP API の呼び出し制限 ↗が適用されます。

セットアップ

  1. Data Connection アプリケーションを開き、画面の右上にある + 新規ソースを選択します。
  2. 利用可能なコネクターの種類から Salesforce を選択します。
  3. 追加の設定プロンプトに従い、以下のセクションの情報を使用してコネクターのセットアップを続行します。

Foundry でのコネクターの設定については、詳しくはこちらをご覧ください。

認証

Salesforce 接続の認証に使用する資格情報の方式として、JWT トークンまたはユーザー名とパスワードを選択します。

Salesforce は、Spring '26 リリース以降、新しい接続アプリケーションの作成を制限しています。既存の接続アプリケーションは引き続き動作します。Salesforce は、新しい統合には外部クライアントアプリ ↗を推奨しています。以下のセクションでは、外部クライアントアプリの設定方法について説明します。詳細については、Salesforce の認可ドキュメント ↗を確認してください。

JWT トークン

OAuth 2.0 の JSON Web Token(JWT)ベアラーフロー ↗を使用すると、リクエストのたびに対話的にログインすることなく、Foundry にデータへのアクセスを許可できます。

JWT 認証を有効にするには、証明書を生成し、外部クライアントアプリの作成時にアップロードしてから、統合ユーザーを承認する必要があります。

パート1:証明書を生成する

まず、Salesforce ユーザーを作成し、API および変更する Salesforce オブジェクトへのアクセス権限があることを確認します。後のステップでこのユーザーとして承認を行う必要があるため、統合ユーザーとしてログインできることを確認してください。

次に、JWT 証明書を作成します。Salesforce の JWT ベアラーフロー ↗には、X.509 証明書とそれに対応する秘密鍵が必要です。秘密鍵を生成するには、コマンドラインで openssl を使用し、次のコマンドを実行します。

  1. x.509 の公開鍵と秘密鍵のペアを生成します。

    Copied!
    1 2 openssl genrsa 1024 | openssl pkcs8 -topk8 -inform PEM -out key.pem -nocrypt openssl req -new -x509 -key key.pem -out cert.pem -days 3650
  2. 証明書を PFX ストアにエクスポートし、Base64 に変換して、クリップボードにコピーします。

    Copied!
    1 openssl pkcs12 -export -in cert.pem -inkey key.pem | openssl base64 | pbcopy

証明書の値は必ず安全な場所に保存してください。後で設定を行う際に、この値にアクセスする必要があります。

パート2:外部クライアントアプリを作成する

Salesforce 組織に、このコネクターで動作する接続アプリケーションがすでにある場合は、そのまま使用できます。Salesforce は新しい接続アプリケーションの作成を制限しましたが、既存のものは無効にしていません。既存の接続アプリケーションについては、OAuth アクセスの管理に関する Salesforce のガイダンス ↗を確認してください。

開始する前に、Salesforce 組織で外部クライアントアプリ(旧称:接続アプリケーション)が有効になっていることを確認してください。また、Salesforce ユーザーには、外部クライアントアプリの作成とそのポリシーの編集が許可されている必要があります。

Salesforce の外部クライアントアプリの作成に関するドキュメント ↗、または Trailhead の単元「API 用の外部クライアントアプリを作成および設定する ↗」に沿って、アプリを作成します。このコネクターに影響するのは、以下の設定のみです。作成フォームの残りのセクションはデフォルトのままにします。

完了時には、アプリが次の要件を満たしている必要があります。

  • OAuth が有効: コネクターは OAuth を通じて認証するため、OAuth が有効になっていないアプリは使用できません。
  • コールバック URL が https://localhost:12345: Salesforce ではコールバック URL が必要ですが、コネクターがそれを送信することはありません。パート3のブラウザーによる承認の選択肢と一致するように、この値を使用します。
  • パート1の X.509 証明書がアップロード済み: cert.pem ファイルをアップロードします。証明書をアップロードすることで、JWT ベアラーフローが有効になります。このフローを有効にするための別の設定はありません。
  • OAuth スコープ: api を付与します。パート3のブラウザーによる承認の選択肢を使用する場合に限り、offline_access と refresh_token も付与します。

アプリのコンシューマー鍵を取得し、安全な場所に保存します。以下のコネクター設定で、この値をコンシューマー鍵として入力します。鍵は表示操作を行うまで非表示になっており、Salesforce は表示前に、メールアドレスに送信した検証コードの確認を求める場合があります。コネクターは署名付き JWT 内でコンシューマー鍵を送信するため、Salesforce が鍵とともに発行するコンシューマーシークレットは不要です。

JWT ベアラーフローと、アプリの指定ユーザーの JSON Web Token(JWT)ベースのアクセストークンを発行する設定を混同しないでください。この設定は Salesforce が発行するアクセストークンの形式を変更するものであり、このコネクターには必要ありません。

新しい外部クライアントアプリは、すぐには使用できない場合があります。アプリの作成直後に認証に失敗した場合は、設定を変更する前に最大30分待ってから再試行してください。

パート3:ユーザーを承認する

コネクターが外部クライアントアプリを使用するには、事前に統合ユーザーがそのアプリで承認されている必要があります。コネクターは署名付き JWT で認証し、ブラウザーフローで生成される認証コードを交換することはないため、事前承認を推奨します。

  • ユーザーを事前承認する: アプリの OAuth ポリシーで、許可されているユーザーを管理者が承認したユーザーは事前承認済みに設定します。次に、そのユーザーに割り当てられたプロファイル、またはそのユーザーを含む権限セットを通じて、統合ユーザーにアクセス権を付与します。この付与がない場合、ポリシーだけではユーザーは承認されません。利用可能なポリシー値については、Salesforce の外部クライアントアプリのドキュメント ↗を確認してください。
  • 1回限りの承認を行う: ブラウザーで統合ユーザーとして Salesforce のログインフローを1回完了します。この選択肢を使用するには、アプリに offline_access と refresh_token のスコープも必要です。
    1. 次の Salesforce URL に移動します。https://<salesforce-url>/services/oauth2/authorize?client_id=<CONSUMER_KEY>&redirect_uri=<CALLBACK_URL>&scope=api%20offline_access%20refresh_token&response_type=code&response_mode=query&nonce=bebmwgu22zh
      • <CONSUMER_KEY> をコンシューマー鍵に、<CALLBACK_URL> をアプリで設定したコールバック URL に置き換えます。
      • <salesforce-url> を Salesforce インスタンスの URL(<site>.my.salesforce.com)に置き換えます。
    2. ログインフローを完了し、要求されたスコープを承認します。表示されているユーザー名が個人アカウントではなく、統合ユーザーであることを確認してください。誤ったユーザーを承認すると、コネクターは動作しているように見えても、その誤ったユーザーの権限が原因で後に失敗します。
    3. 最後に、ブラウザーの https://localhost:12345 で「Not Found」エラーが表示されます。コールバック URL は実際のエンドポイントではないため、このエラーはフローが完了したことを示します。

以下の JWT 認証の設定オプションを使用して、Foundry で Salesforce コネクターの設定を続けます。

名前必須説明
これは Salesforce Sandbox アカウントですはいSalesforce Sandbox アカウントに接続するかどうかを決定します。ログイン URL のデフォルト値を、標準アカウントでは login.salesforce.com、Sandbox アカウントでは test.salesforce.com に設定します。
ユーザー名はい統合ユーザーのユーザー名を入力します。
Base64 PFX 証明書はい証明書の生成で取得した値です。
証明書はパスワードで保護されていますいいえ証明書ストアがパスワードで保護されている場合は、オンにします。
証明書のパスワードいいえ証明書ストアのパスワードです。
証明書のサブジェクトを指定するいいえストア内の最初の証明書を使用する場合は、オフのままにします。証明書ストアに複数の証明書が含まれている場合に、使用する証明書を指定するには、オンにします。
証明書のサブジェクトいいえ使用する証明書のサブジェクトです。ストア内の証明書を検索するために使用されます。完全一致が見つからない場合、指定した値をサブジェクトに含む証明書をストア内で検索します。
コンシューマー鍵はい外部クライアントアプリの設定で利用可能なコンシューマー鍵を入力します。

ユーザー名とパスワード

ユーザー名とパスワード ↗の認証方式で Salesforce に接続するには、Salesforce でサービスユーザーアカウントと外部クライアントアプリを作成する必要があります。次に、サービスユーザーの資格情報を Salesforce コネクターに追加します。

ユーザー名とパスワードによる認証フローを有効にするには、以下の手順に従います。

  1. Salesforce ユーザーを作成し、API と、変更する Salesforce オブジェクトへのアクセス権限があることを確認します。後で参照できるように、ユーザーのユーザー名とパスワードを控えておきます。

  2. パート2に従って外部クライアントアプリを作成します。ただし、以下の点が異なります。

    • 証明書は不要です。
    • アプリがアクティブユーザーに利用可能なすべてのデータにアクセスできるように、api の代わりにフルアクセス (full) の OAuth スコープを付与します。
    • アプリの OAuth ポリシーで、許可ユーザーをすべてのユーザーは自己承認可能に設定します。
    • コンシューマー鍵は不要です。この認証方式では、以下で設定するユーザー名とパスワードのみを使用します。

ユーザー名とパスワードによる認証方式では、以下の設定オプションがサポートされています。

名前必須説明
これは Salesforce サンドボックスアカウントですはいSalesforce サンドボックスアカウントに接続するかどうかを指定します。ログイン URL のデフォルト値を、標準アカウントの場合は login.salesforce.com、サンドボックスアカウントの場合は test.salesforce.com に設定します。
ユーザー名はいアプリがなりすますアカウントのユーザー名。
パスワードはいアプリがなりすますアカウントのパスワード。

Foundry から接続しようとしたときに認可の問題が発生し、ユーザーの Salesforce ログイン履歴に Failed: API security token required と表示される場合は、ユーザーのセキュリティトークンをパスワードの末尾に追加する必要があります。

セキュリティトークンは自動生成される鍵で、信頼できないネットワークから Salesforce にログインするには、パスワードに追加する必要があります。Salesforce では、アプリケーション内でセキュリティトークンを表示することはできません。代わりに、統合ユーザーとして Salesforce にログインし、右上の私の設定に移動する必要があります。次に、個人用 > 私のセキュリティトークンのリセットに移動します。

ネットワーク

直接接続で Salesforce コネクターを実行している場合は、接続を許可リストに登録するためにネットワークエグレスポリシーを追加する必要があります。

既存のポリシーを追加するか、新しいポリシーを作成するかを選択します。

Salesforce の直接接続を許可リストに登録するには、以下のポリシーを追加します。

  • ログイン URL:DNS、ポート 443 (HTTPS)、および以下のいずれかが必要です。

    • login.salesforce.com(本番) または
    • test.salesforce.com(サンドボックス)
  • インスタンス URL:<site>.my.salesforce.com の DNS と、ポート 443 (HTTPS) が必要です。

証明書と秘密鍵

SSL 接続ではサーバー証明書を検証します。通常、SSL の検証は証明書チェーンを通じて行われます。デフォルトでは、Agent と Foundry ワーカーのどちらも、業界標準の証明書チェーンの大半を信頼します。接続先のサーバーに自己署名証明書がある場合、または検証中に TLS インターセプションが発生する場合は、コネクターがその証明書を信頼する必要があります。Data Connection での証明書の使用について、詳しくはこちらをご覧ください。

設定オプション

Salesforce コネクターでは、以下の設定オプションがサポートされています。

名前必須デフォルト説明
API バージョンはい50Salesforce API のバージョン。
接続アプリケーションの資格情報はいJWT Bearer トークンSalesforce に接続するために必要な資格情報を含みます。Salesforce では、これらの資格情報を外部クライアントアプリで設定します。詳細については、上記の認証セクションを確認してください。
ログイン URLいいえlogin.salesforce.com(本番)、または test.salesforce.com(サンドボックス)OAuth トークンを取得するための接続に使用する URL。
タイムアウトいいえ60レスポンスを待機している HTTP クライアント接続がタイムアウトするまでの時間。単位は秒です。
プロキシ設定いいえいいえSalesforce に接続するときに使用するプロキシの設定。

Salesforce からデータを同期する

テーブルを同期するには、探索表示を使用します。同期を編集するときに、追加の設定オプションを利用できます。

インクリメンタル(差分連携)

Salesforce コネクターによるインクリメンタル同期では、インクリメンタル列の値が、前回観測された最大値以上の場合に、新しいデータが同期されます。この動作は同期データの精度と正確性を確保するために必要ですが、出力データセットに重複行が生じます。インクリメンタルパイプラインには、必ず重複排除のステップを含める必要があります。

フィルタリング

同期の設定に行フィルターを適用して、設定された条件に一致しないデータを除外できます。 条件ツリーを使用してフィルターを定義します。

  • 論理演算子:
    • ALL:配下にネストされたすべてのノードが true である必要があります。
    • ANY:ネストされたノードのうち1つ以上が true である必要があります。
  • 条件:
    • 利用可能な列のリストから選択します。
    • 列のデータ型に応じて、適切な演算子を選択します。
    • 選択した列と比較する値を設定します。

設定を同期に適用するために、必ず保存してください。

移行

すでに Salesforce コネクターを使用している場合、レガシーバージョンを実行している可能性があります。コネクターのバージョンを確認するには、接続設定 > 接続情報に移動します。ソース設定に type: salesforce フィールドを含むカスタムYAMLセクションが表示される場合は、レガシー Salesforce コネクターを使用しています。バグ修正以外の Palantir サポートを受けるには、最新バージョンに移行する必要があります。

コネクターを移行する

  1. Data Connection アプリケーションを開き、画面右上の + 新規ソースを選択します。
    1. 利用可能なコネクターの種類から Salesforce を選択します。
    2. 以下のセクションの情報を使用し、追加の設定プロンプトに従ってコネクターの設定を続けます。
  2. レガシーソースと一致するように認証を設定します。レガシーソースの設定で、カスタム YAML 内の auth-method または authentication-method ブロックを探します。
    • type: oauth2-jwt の場合は、JWT 認証で新しいソースを設定します。
      • カスタム YAML の claim-sub は、新しいコネクター設定のユーザー名に対応します。
      • x509-cert は PFX にエクスポートし、Base64 エンコードして、証明書として使用します。証明書については、上記の JWT 認証セクションで詳しくはこちらをご覧ください。
    • PFX がパスワードで保護されている場合は、証明書はパスワードで保護されていますをオンにし、証明書のパスワードを入力します。
      • カスタム YAML の claim-iss は、新しいコネクター設定のコンシューマー鍵に対応します。
    • type: oauth2-username-password の場合は、ユーザー名とパスワードによる認証で新しいソースを設定します。
      • カスタム YAML の username は、新しいコネクター設定のユーザー名に対応します。
      • カスタム YAML の password は、新しいコネクター設定のパスワードに対応します。
      • レガシーソースの client-id および client-secret プロパティは、新しいコネクターでは不要です。
  3. ほかのプロパティを設定します。
    • カスタム YAML の auth-url は、新しいコネクター設定のログイン URL に対応します。
    • カスタム YAML の auth-url の値が test.salesforce.com だった場合は、新しいコネクター設定で Salesforce サンドボックスアカウントをオンにします。

同期を移行する

新しい Salesforce コネクターを設定したら、レガシーコネクターで以前同期していたオブジェクトの同期を作成します。探索ビューを使用して複数のオブジェクトを一括で同期し、新しいデータセットを作成します。

同じ API バージョンを使用する場合、レガシー Salesforce コネクターと新しい Salesforce コネクターは同じスキーマを使用します。入力を再マッピングすれば、すべての下流のアプリケーションは引き続き機能するはずです。

新しい同期データセットを使用するように下流のパイプラインを移行する必要があります。レガシーデータセットを必要とするほかの利用先がないことを確認したら、そのデータセット、関連する同期、および接続を削除できます。Data Lineage を使用して、環境内でレガシーデータセットが使用されている場所を確認します。