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

Salesforce

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

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

対応する機能

機能ステータス
一括インポート🟢 一般に利用可能
探索🟢 一般に利用可能

データモデル

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

データ型マッピング

コネクタは Salesforce API タイプを、次の Foundry フィールドタイプにマッピングします。

SalesforceFoundry
Auto NumberSTRING
Lookup RelationshipSTRING
Master-Detail RelationshipSTRING
External Lookup RelationshipSTRING
CheckboxBOOLEAN
CurrencyDECIMAL
DateDATE
Date/TimeLONG
EmailSTRING
GeolocationSTRING
NumberDOUBLE
PercentDOUBLE
PhoneSTRING
PicklistSTRING
Picklist (Multi-Select)STRING
TextSTRING
Text AreaSTRING
Text Area (Long)STRING
Text Area (Rich)STRING
Text (Encrypted)STRING
TimeINTEGER
URLSTRING

パフォーマンスと制限事項

コネクタは、Salesforce SOAP API を活用しており、Salesforce SOAP API 呼び出し制限の対象となります。

セットアップ

  1. Data Connection アプリを開き、画面右上の + New Source を選択します。
  2. 利用可能なコネクタタイプから Salesforce を選択します。
  3. インターネットを介した 直接接続 または 中間エージェント経由 の接続を選択します。
  4. 以下のセクションにある情報を使用して、コネクタのセットアップを続けるための追加構成プロンプトに従います。

Foundry で コネクタをセットアップ する方法について詳しく学びましょう。

認証

Salesforce 接続を認証するための認証方法を選択します: JWT トークンまたはユーザー名-パスワード。

JWT トークン

OAuth 2.0 JSON Web Token (JWT) bearer フロー を使用して、Foundry が各リクエストで対話的にログインせずにデータにアクセスできるようにすることができます。

JWT 認証を有効にするには、証明書を生成し、Connected App の作成中にアップロードし、インテグレーションユーザーの一回限りの承認を行う必要があります。

パート 1: 証明書の生成

まず、Salesforce ユーザーを作成し、API および変更する予定の Salesforce オブジェクトへのアクセス許可があることを確認します。このユーザーとしてログインできることを確認してください。後の手順でこのユーザーとして認証する必要があります。

次に、JWT 証明書を作成します。Salesforce の JWT bearer フロー では、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 Lightning Experience の設定ページで、左サイドバーをスクロールして、Platform Tools セクションの Apps > App Manager エントリを選択します。App Manager ページで、New Connected App を選択して新しい接続アプリを作成します。

アプリ作成ページの Basic Information セクションで、次のフィールドに入力します:

  1. Connected App Name
  2. API Name
  3. Email

次に、API (Enable OAuth Settings) セクションの設定を行います:

  1. Enable OAuth Settings をチェックします。
  2. Callback URLhttps://localhost:12345 を入力します。これは後で再度使用されます。
  3. Use Digital Signatures をチェックし、上記で生成した cert.pemX.509 証明書ファイル をアップロードします。
  4. 利用可能な OAuth Scopes から、apioffline_access、および refresh_token を選択します。
  5. Require Secret for Web Server Flow をチェックします。

他のセクションは無視し、接続アプリの作成を確定するために Save を選択し、次のページで Confirm を選択します。接続アプリの使用を試みる前に 10 分間待ちます。

接続アプリが作成されると、API (Enable OAuth Settings) セクションで利用可能な Consumer Key (例: 3MVG9FG3dv...) を安全な場所に保存します。

パート 3: ユーザーの認証

以下のオプションのいずれかで統合ユーザーを認証します。

  • 一度だけの認証を行う: ブラウザでのログインフローを実行して、統合ユーザーのための接続アプリを認証します:
    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>をAPI設定ステップで入力したURLで置き換えます。
      • <salesforce-url>をSalesforceインスタンスのURL(<site>.my.salesforce.com)で置き換えます。
    2. 統合ユーザーとしてログインフローを完了させ、必要であればUse Custom Domainを選択します。次のページでAllowを選択して、指定したスコープについて接続アプリがユーザーの代わりに行動することを許可します。表示される統合ユーザーのユーザー名が自分の個人アカウントのユーザー名でないことを確認します。
    3. 次に、https://localhost:12345(CALLBACK_URL)にリダイレクトされます。コールバックURLは実在しないため、ブラウザは予想通りの"Not Found"エラーを表示します。
  • ユーザーを事前に認証する Salesforceのガイダンスを参照して、Permitted UsersポリシーをAdmin approved users are pre-authorizedに変更します。事前認証が完了したら、接続アプリの設定ページに戻って接続アプリへのアクセスを付与します。アクセスは個々の統合ユーザープロファイル、または統合ユーザーを含むPermission Setに対して付与できます。

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

名前必須説明
This is a Salesforce sandbox accountはい接続がSalesforceのサンドボックスアカウントに対して行われるべきかどうかを決定します。Login URLのデフォルト値を設定します: 標準アカウントの場合はlogin.salesforce.com、サンドボックスアカウントの場合はtest.salesforce.come
Usernameはい統合ユーザーのユーザー名を入力します。
Base64 PFX certificateはい証明書を生成から取得した値。
The certificate is password protectedいいえ証明書ストアがパスワードで保護されている場合はトグルをオンにします。
Certificate passwordいいえ証明書ストアのパスワード。
Specify the certificate subjectいいえストア内の最初の証明書を使用するためにオフにします。ストアが複数の証明書を含む場合は、使用する証明書を指定するためにトグルをオンにします。
Certificate subjectいいえ使用する証明書の主題。ストア内で証明書を見つけるために使用されます。正確な一致が見つからない場合、提供された値を含む証明書を探すためにストアが検索されます。
Consumer keyはいconnected appの設定で利用可能なコンシューマーキーを入力します。

ユーザー名-パスワード

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

ユーザー名-パスワード認証フローを有効にするための手順は以下の通りです。

  1. Salesforceユーザーを作成し、APIや変更を希望するSalesforceオブジェクトへのアクセス許可があることを確認します。将来参照するためにユーザーのユーザー名とパスワードを記録します。

  2. 接続アプリを作成します:

    1. Salesforce Lightning Experience設定ページで、左側のバーをスクロールしてPlatform Toolsセクションの下のApps > App Managerを選択します。App Managerページで、New Connected Appを選択して新しい接続アプリを作成します。

    2. アプリ作成ページのBasic Informationセクションで、以下のフィールドを入力します:

      1. Connected App Name
      2. API Name
      3. Email
    3. 次に、**API (Enable OAuth Settings)**セクションの設定を行います:

      1. Enable OAuth Settingsにチェックを入れます。
      2. Callback URLhttps://localhost:12345を入力します。このフィールドは設定に必要ですが、コールバックURLは使用されません。
      3. 利用可能なSelected OAuth Scopesから**Full access (full)**を選択して、アクティブユーザーがアクセス可能なすべてのデータへのアクセスを許可します。
    4. 他のセクションは無視して、接続アプリの作成をSaveを選択して完了し、次のページでConfirmを選択します。接続アプリを使用しようとする前に2分から10分間待つことを許可します。

接続アプリが作成されたら、App Managerページからそれに移動します。Manageを選択し、次にEdit Policiesを選択します。OAuth Policies > Permitted Usersの下でAll users may self-authorizeを選択します。

ユーザー名-パスワード認証方法は、以下の設定オプションをサポートしています:

名前必須説明
This is a Salesforce sandbox accountはい接続がSalesforceのサンドボックスアカウントに対して行われるべきかどうかを決定します。Login URLのデフォルト値を設定します: 標準アカウントの場合はlogin.salesforce.com、サンドボックスアカウントの場合はtest.salesforce.come
Usernameはい接続アプリが模倣しているアカウントのユーザー名。
Passwordはい接続アプリが模倣しているアカウントのパスワード。

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

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

ネットワーキング

直接接続がSalesforceコネクタを運用している場合、接続を許可リストに登録するためにnetwork egress policyを追加する必要があります。

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

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

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

    • login.salesforce.com (本番環境) OR
    • test.salesforce.com (サンドボックス)
  • Instance URL: <site>.my.salesforce.comDNS、ポート443 (HTTPS)が必要です。

証明書とプライベートキー

SSL接続はサーバー証明書を検証します。通常、SSL検証は証明書チェーンを通じて行われます。デフォルトでは、エージェントと直接接続の両方のランタイムは、ほとんどの業界標準の証明書チェーンを信頼します。接続先のサーバーが自己署名証明書を持っている場合、または検証中にTLSが傍受される場合、コネクタは証明書を信頼する必要があります。Data Connectionでの証明書の使用について詳しく学びましょう。

設定オプション

Salesforceコネクタは以下の設定オプションをサポートしています:

名前必須デフォルト説明
API versionはい50SalesforceのAPIバージョン。
Connected app credentialsはいJWT bearer tokenSalesforceに接続するために必要な資格情報を含みます。詳細は上記の認証セクションをご覧ください。
Login URLいいえlogin.salesforce.com (本番環境)またはtest.salesforce.com (サンドボックス)OAuthトークンを取得するための接続に使用されるURL。
Timeoutいいえ60HTTPクライアント接続が応答を待つ間にタイムアウトするまでの時間。時間は秒単位。
Proxy settingsいいえいいえSalesforceに接続するときに使用するプロキシ設定。

Salesforceからのデータ同期

探索ビューを使用してテーブルを同期します。同期を編集するときには追加の設定オプションが利用可能です。

インクリメンタル

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

フィルタリング

同期設定に行フィルターを追加して、設定した基準に合わないデータを除外できます。 条件ツリーを使用してフィルターを定義します:

  • 論理演算子:
    • ALL: ネストされたすべてのノードが真であることが必要です。
    • ANY: ネストされたノードのうち少なくとも1つが真であることが必要です。
  • 条件:
    • 利用可能な行から選択します。
    • 行のタイプに応じて適切な演算子を選択します。
    • 選択した行と比較する値を設定します。

同期に設定を適用するためにSaveを確認して設定を保存してください。

移行

すでにSalesforceコネクタを持っている場合、レガシー版を実行している可能性があります。コネクタのバージョンを特定するために、Connection settings > Connection detailsに移行します。ソース設定がtype: salesforceフィールドを含むCustom YAMLセクションを示している場合、レガシーのSalesforceコネクタを使用しています。バグ修正を超えるPalantirのサポートを受けるためには、最新バージョンに移行する必要があります。

コネクタの移行

  1. Data Connectionアプリを開き、画面の右上隅にある**+ New Source**を選択します。
    1. 利用可能なコネクタタイプからSalesforceを選択します。
    2. インターネット経由で直接接続を使用するか、中間エージェント経由で接続を選択します。
    3. 追加の設定プロンプトに従って、以下のセクションの情報を使用してコネクタの設定を続けます。
  2. 認証をレガシーソースと一致させて設定します。レガシーソース設定では、カスタムYAMLのauth-methodまたはauthentication-methodブロックを見つけます。
    • type: oauth2-jwtの場合、新しいソースをJWT認証で設定します:
      • カスタムYAMLのclaim-subは、新しいコネクタ設定のUsernameになります。
      • x509-certはPFXにエクスポートされ、次にBase64でエンコードされ、Certificateになります。証明書については上記のJWT認証セクションを参照してください。
    • PFXがパスワードで保護されている場合は、The certificate is password protectedをトグルオンにし、Certificate passwordを入力します。
      • カスタムYAMLのclaim-issは、新しいコネクタ設定のConsumer keyになります。
    • type: oauth2-username-passwordの場合、新しいソースをusername-password authenticationで設定します:
      • カスタムYAMLのusernameは、新しいコネクタ設定のUsernameになります。
      • カスタムYAMLのpasswordは、新しいコネクタ設定のPasswordになります。
      • レガシーソースのclient-idおよびclient-secretプロパティは、新しいコネクタには不要です。
  3. 他のプロパティを設定します:
    • カスタムYAMLのauth-urlは、新しいコネクタ設定のLogin URLになります。
    • カスタムYAMLのauth-urltest.salesforce.comであった場合は、新しいコネクタ設定でIs Salesforce sandbox accountをトグルオンにします。

同期の移行

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

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

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