

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Salesforce コネクタ V2.0
<a name="data-source-v2-salesforce"></a>

Salesforce は、サポート、営業、マーケティングの各チームを管理するための顧客関係管理 (CRM) ツールです。を使用してAmazon Kendra、Salesforce 標準オブジェクトやカスタムオブジェクトのインデックスを作成できます。

Amazon KendraSalesforce データソースコネクタは、Developer Edition と Enterprise Edition の Salesforce エディションをサポートしています。

**注記**  
Salesforce コネクタ V1.0 / SalesforceConfiguration API のサポートは 2023 年に終了しました。Salesforce コネクタ V2.0/TemplateConfiguration API に移行するか、こちらを使用することをお勧めします。

Amazon KendraSalesforce データソースコネクタのトラブルシューティングについては、「」を参照してください[データソースのトラブルシューティング](troubleshooting-data-sources.md)。

**Topics**
+ [サポートされている機能](#supported-features-v2-salesforce)
+ [前提条件](#prerequisites-v2-salesforce)
+ [接続手順](#data-source-procedure-v2-salesforce)
+ [詳細はこちら](#salesforce-v2-learn-more)
+ [注意事項](#salesforce-notes)

## サポートされている機能
<a name="supported-features-v2-salesforce"></a>

Amazon KendraSalesforce データソースコネクタは、次の機能をサポートしています。
+ フィールドマッピング
+ ユーザーアクセスコントロール
+ 包含/除外フィルター
+ 完全および増分コンテンツ同期
+ Virtual Private Cloud (VPC)

## 前提条件
<a name="prerequisites-v2-salesforce"></a>

Amazon Kendraを使用して Salesforce データソースのインデックスを作成する前に、Salesforce とAWSアカウントでこれらの変更を行います。

**Salesforce で、次の作業を行ったことを確認してください。**
+ Salesforce 管理アカウントを作成し、Salesforce への接続に使用するユーザー名とパスワードをメモすること。
+ Salesforce への接続に使用されるアカウントに関連付けられた Salesforce セキュリティトークンをコピーすること。
+ OAuth を有効にした Salesforce 接続アプリケーションアカウントを作成し、Salesforce 接続アプリケーションに割り当てられたコンシューマーキー (クライアント ID) とコンシューマーシークレット (クライアントシークレット) をコピーすること。クライアント ID とクライアントシークレットは、 AWS Secrets Managerシークレットに保存されている認証情報として使用されます。詳細については、[接続アプリケーションに関する Salesforce のドキュメント](https://help.salesforce.com/s/articleView?id=sf.connected_app_overview.htm&type=5)を参照してください。
**注記**  
認証情報とシークレットは、定期的に更新またはローテーションすることをお勧めします。セキュリティに必要なアクセスレベルのみを提供してください。認証情報とシークレットを、データソース、コネクタバージョン 1.0 と 2.0 (該当する場合) で再利用することは推奨**しません**。
+ インデックスを作成する Salesforce インスタンスの URL をコピーすること。通常、URL は *https://<company>.salesforce.com/* です。サーバーは Salesforce 接続アプリケーションを実行している必要があります。
+ ReadOnly プロファイルのクローンを作成し、すべてのデータの表示権限および記事の管理権限を追加して、Salesforce への読み取り専用アクセス権を持つユーザーに対する認証情報を Salesforce サーバーに追加すること。これらの認証情報は、接続を行うユーザーと、 Amazon Kendraが接続する Salesforce 接続アプリケーションを識別します。
+ 各ドキュメントが Salesforce および同じインデックスに使用する予定の他のデータソース間で一意であると確認すること。インデックスに使用する各データソースには、データソース全体に同じドキュメントが含まれていてはなりません。ドキュメント ID はインデックス全体に適用され、インデックスごとに一意である必要があります。

**でAWS アカウント、以下があることを確認します。**
+ [Amazon Kendraインデックスを作成し](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html)、API を使用している場合はインデックス ID を記録しました。
+ データソースの [IAMロールを作成し](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)、 API を使用している場合はロールの ARN を記録しましたIAM。
**注記**  
認証タイプと認証情報を変更する場合は、IAMロールを更新して正しいAWS Secrets Managerシークレット ID にアクセスする必要があります。
+ Salesforce の認証資格情報を AWS Secrets Manager シークレットに保存し、API を使用している場合は、シークレットの ARN を記録済み。
**注記**  
認証情報とシークレットは、定期的に更新またはローテーションすることをお勧めします。セキュリティに必要なアクセスレベルのみを提供してください。認証情報とシークレットを、データソース、コネクタバージョン 1.0 と 2.0 (該当する場合) で再利用することは推奨**しません**。

既存のIAMロールまたはシークレットがない場合は、Salesforce データソースを接続するときに コンソールを使用して新しいIAMロールとSecrets Managerシークレットを作成できますAmazon Kendra。API を使用している場合は、既存のIAMロールとSecrets Managerシークレットの ARN とインデックス ID を指定する必要があります。

## 接続手順
<a name="data-source-procedure-v2-salesforce"></a>

Salesforce データソースAmazon Kendraに接続するには、 がデータAmazon Kendraにアクセスできるように、Salesforce データソースの必要な詳細を指定する必要があります。Salesforce をまだ設定していない場合は、Amazon Kendra「」を参照してください[前提条件](#prerequisites-v2-salesforce)。

------
#### [ Console ]

**Salesforce Amazon Kendraに接続するには**:

1. にサインインAWS マネジメントコンソールし、 [Amazon Kendraコンソール](https://console.aws.amazon.com/kendra/)を開きます。

1. 左側のナビゲーションペインで、**[インデックス]** を選択し、インデックスのリストから使用するインデックスを選択します。
**注記**  
**[インデックスの設定]** で、**[ユーザーアクセスコントロール]** 設定を設定または編集できます。

1. **[使用開始]** ページで、**[データソースを追加]** を選択します。

1. **[データソースを追加]** ページで **[Salesforce コネクタ]** を選択し、**[コネクタを追加]** を選択します。バージョン 2 (該当する場合) を使用している場合は、「V2.0」タグが付いた **[Salesforce コネクタ]** を選択します。

1. **[データソースの詳細を指定]** ページで、次の情報を入力します。

   1. **[名前と説明]** の **[データソース名]** に、データソースの名前を入力します。ハイフン (-) は使用できますが、スペースは使用できません。

   1. (オプション) **[説明]** - オプションで、データソースの説明を入力します。

   1. **[デフォルト言語]** - インデックス用にドキュメントをフィルターするための言語。特に指定しない限り、言語はデフォルトで英語に設定されます。ドキュメントのメタデータで指定された言語は、選択した言語よりも優先されます。

   1. **タグ**で新しい**タグを追加する** - リソースを検索してフィルタリングしたり、AWSコストを追跡したりするためのオプションのタグを含めます。

   1. [**次へ**] を選択します。

1. **[アクセスとセキュリティの定義]** ページで、次の情報を入力します。

   1. **[Salesforce URL]** - インデックスを作成する Salesforce サイトのインスタンス URL を入力します。

   1. **[承認]** - アクセスコントロールリスト (ACL) があり、それをアクセスコントロールに使用する場合に、ドキュメントの ACL 情報を有効にするか無効にするかを選択します。ACL では、ユーザーとグループがアクセスできるドキュメントを指定します。ACL 情報は、ユーザーまたはそのグループのドキュメントへのアクセスに基づいて、検索結果をフィルタリングするために使用されます。詳細については、「[User context filtering](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)」を参照してください。

   1. 既存のシークレットを入力するか、新しいシークレットを作成すると、AWS Secrets Manager シークレットウィンドウが開きます。

      1. **[認証]** - **[AWS Secrets Manager シークレットウィンドウを作成]** に次の情報を入力します。

        1. **[シークレット名]** - シークレットの名前。シークレット名に、プレフィックス「AmazonKendra-Salesforce-」が自動的に追加されます。

        1. **[ユーザー名]**、**[パスワード]**、**[セキュリティトークン]**、**[コンシューマーキー]**、**[コンシューマーシークレット]**、**[認証 URL]** - Salesforce アカウントで生成してダウンロードした認証情報の値を入力します。
**注記**  
Salesforce Developer Edition を使用の場合は、`https://login.salesforce.com/services/oauth2/token` またはマイドメインのログイン URL (例: * https://MyCompany.my.salesforce.com*) を **[認証 URL]** として使用します。Salesforce Sandbox Edition を使用する場合は、`https://test.salesforce.com/services/oauth2/token ` またはマイドメインのログイン URL (例: * MyDomainName--SandboxName.sandbox.my.salesforce.com*) を **[認証 URL]** として使用します。

        1. **[認証を保存]** を選択します。

   1. **[仮想プライベートクラウド (VPC)]** - VPC の使用を選択できます。選択する場合は、**[サブネット]** と **[VPC セキュリティグループ]** を追加する必要があります。

   1. **[ID クローラー]** - Amazon Kendra の ID クローラーを有効にするかどうかを指定します。ID クローラーは、ドキュメントのアクセスコントロールリスト (ACL) 情報を使用して、ユーザーまたはそのグループのドキュメントへのアクセス権に基づいて検索結果をフィルタリングします。ドキュメントの ACL があり、ACL を使用することを選択した場合は、Amazon KendraID クローラをオンにして検索結果の[ユーザーコンテキストフィルタリング](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)を設定することもできます。それ以外の場合は、ID クローラーがオフになっている場合、すべてのドキュメントは公開され検索可能になります。ID クローラーがオフになっているときにドキュメントのアクセスコントロールを使用する場合は、代わりに [PutPrincipalMapping](https://docs.aws.amazon.com/kendra/latest/APIReference/API_PutPrincipalMapping.html) API を使用して、ユーザーコンテキストフィルタリング用にユーザーとグループのアクセス情報をアップロードすることができます。

   1. **IAMrole** — 既存のIAMロールを選択するか、リポジトリの認証情報とインデックスコンテンツにアクセスするための新しいIAMロールを作成します。
**注記**  
IAMインデックスに使用される ロールは、データソースには使用できません。インデックスやよくある質問に既存のロールが使用されているかどうかが不明な場合は、エラーを避けるため、**[新しいロールを作成]** を選択してください。

   1. [**次へ**] を選択します。

1. **[同期設定の構成]** ページで、次の情報を入力します。

   1. **[添付ファイルのクロール]** - 選択すると、添付されたすべての Salesforce オブジェクトがクロールされます。

   1. **[標準オブジェクト]**、**[添付ファイル付き標準オブジェクト]**、**[添付ファイルなしの標準オブジェクト]**、**[ナレッジ記事]** - クロールする Salesforce エンティティまたはコンテンツタイプを選択します。

   1. インデックス作成には、標準オブジェクト、ナレッジ記事、または Chatter フィードのうち少なくとも 1 つの設定情報を入力する必要があります。**[ナレッジ記事]** のクロールを選択した場合は、インデックスを作成するナレッジ記事の種類を指定する必要があります。公開済み、アーカイブ済み、ドラフト、添付ファイルを選択できます。

      **[正規表現フィルター]** - 特定のカタログアイテムを含む正規表現パターンを指定します。

1. **[追加の設定]**:
   + **[ACL 情報]** デフォルトでは、すべてのアクセスコントロールリストが含まれます。アクセスコントロールリストを選択解除すると、そのカテゴリのファイルがすべて公開されます。
   + **[正規表現パターン]** - 特定のファイルを含めるまたは除外する正規表現パターンを追加します。最大 100 のパターンを追加できます。

   **[同期モード]** - データソースのコンテンツが変更されたときのインデックスの更新方法を選択します。Amazon Kendra でデータソースを初めて同期すると、デフォルトですべてのコンテンツがクロールされ、インデックスが作成されます。同期モードオプションとして完全同期を選択していない場合でも、最初の同期が失敗した場合は、データの完全同期を実行する必要があります。
   + 完全同期: データソースがインデックスと同期されるたびに、既存のコンテンツを置き換えて、すべてのコンテンツのインデックスを新たに作成します。
   + 新しい、変更された同期: データソースがインデックスと同期するたびに、新規および変更されたコンテンツのインデックスのみを作成します。 Amazon Kendraは、データソースのメカニズムを使用して、コンテンツの変更を追跡し、前回の同期以降に変更されたコンテンツのインデックスを作成できます。
   + 新規、変更、削除された同期: データソースがインデックスと同期するたびに、新規、変更、削除されたコンテンツのインデックスのみを作成します。 Amazon Kendraは、データソースのメカニズムを使用して、前回の同期以降に変更されたコンテンツの変更とインデックスコンテンツを追跡できます。

1. [**次へ**] を選択します。

1. **[フィールドマッピングを設定]** ページで、次の情報を入力します。

   1. **標準ナレッジ記事**、**標準オブジェクトアタッチメント**、および**追加の推奨フィールドマッピング** - インデックスにマッピングするAmazon Kendra生成されたデフォルトのデータソースフィールドから選択します。
**注記**  
`_document_body` へのインデックスマッピングが必要です。`Salesforce ID` フィールドと Amazon Kendra `_document_id ` フィールド間のマッピングは変更できません。任意の Salesforce フィールドを、ドキュメントタイトルまたはドキュメント本文の Amazon Kendra の予約済み/デフォルトのインデックスフィールドにマッピングできます。  
Salesforce フィールドを Amazon Kendra のドキュメントタイトルフィールドとドキュメント本文フィールドにマッピングすると、Amazon Kendra で、検索のレスポンスにドキュメントのタイトルと本文のフィールドが使用されます。

   1.  **[フィールドを追加]** - カスタムデータソースフィールドを追加して、マッピング先のインデックスフィールド名とフィールドデータタイプを作成します。

   1. [**次へ**] を選択します。

1. **[確認と作成]** ページで、入力した情報が正しいことを確認し、**[データソースを追加]** を選択します。このページで情報の編集を選択することもできます。データソースが正常に追加されると、データソースが **[データソース]** ページに表示されます。

------
#### [ API ]

**Salesforce Amazon Kendraに接続するには**

[TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) API を使用して[データソーススキーマ](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html)の JSON を指定する必要があります。これには、以下の情報を入力する必要があります。
+ **[データソース]** — [https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) JSON スキーマを使用する場合は、データソースタイプを `SALESFORCEV2` と指定します。また、[https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html](https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html) API を呼び出す場合は、データソースを `TEMPLATE` と指定します。
+ **ホスト URL** - Salesforce インスタンスのホスト URL を指定します。
+ **[同期モード]** - データソースのコンテンツが変更されたときに、Amazon Kendra がインデックスを更新する方法を指定します。データソースを Amazon Kendraと初めて同期すると、デフォルトですべてのコンテンツがクロールされ、インデックスが作成されます。同期モードオプションとして完全同期を選択していない場合でも、最初の同期が失敗した場合は、データの完全同期を実行する必要があります。以下のいずれかから選択できます。
  + `FORCED_FULL_CRAWL` は、データソースがインデックスと同期されるたびに、既存のコンテンツを置き換えて、すべてのコンテンツのインデックスを新たに作成します。
  + `FULL_CRAWL` は、データソースがインデックスと同期するたびに、新規、変更、削除されたコンテンツのインデックスのみを作成します。 Amazon Kendraは、データソースのメカニズムを使用して、コンテンツの変更を追跡し、前回の同期以降に変更されたコンテンツのインデックスを作成できます。
  + `CHANGE_LOG` は、データソースがインデックスと同期するたびに、新規および変更されたコンテンツのみをインデックス化します。 Amazon Kendraは、データソースのメカニズムを使用して、コンテンツの変更を追跡し、前回の同期以降に変更されたコンテンツをインデックス化できます。
+ **Secret Amazon Resource Name (ARN)** — Salesforce アカウントの認証情報を含む Secrets Managerシークレットの Amazon リソースネーム (ARN) を指定します。シークレットは、次のキーを含む JSON 構造に保存されます。

  ```
  {
      "authenticationUrl": "OAUTH endpoint that Amazon Kendra connects to get an OAUTH token",
      "consumerKey": "Application public key generated when you created your Salesforce application",
      "consumerSecret": "Application private key generated when you created your Salesforce application",
      "password": "Password associated with the user logging in to the Salesforce instance",
      "securityToken": "Token associated with the user account logging in to the Salesforce instance",
      "username": "User name of the user logging in to the Salesforce instance"
  }
  ```
+ **IAMrole** — を呼び出し`CreateDataSource`て IAMロールにSecrets Managerシークレットへのアクセス許可を付与し、Salesforce コネクタと に必要なパブリック APIsを呼び出す`RoleArn`タイミングを指定しますAmazon Kendra。詳細については、「[Salesforce データソースの IAM ロール](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)」を参照してください。

オプションで、次の機能を追加することもできます。
+  **[仮想プライベートクラウド (VPC)]** - `VpcConfiguration` で `CreateDataSource` を呼び出すタイミングを指定します。詳細については、「[を使用する Amazon Kendra ように を設定する Amazon VPC](vpc-configuration.md)」を参照してください。
+ **包含フィルターと除外フィルター** - 特定のドキュメント、アカウント、キャンペーン、ケース、連絡先、リード、機会、ソリューション、タスク、グループ、Chatter、カスタムエンティティファイルを含めるか除外するかを指定できます。
**注記**  
ほとんどのデータソースは、フィルターと呼ばれる包含または除外パターンである正規表現パターンを使用しています。包含フィルターを指定すると、包含フィルターに一致するコンテンツのみのインデックスが作成されます。包含フィルターに一致しないドキュメントのインデックスは作成されません。包含フィルターと除外フィルターを指定した場合、除外フィルターに一致するドキュメントは、包含フィルターと一致してもインデックスは作成されません。
+ **[ID クローラー]** - Amazon Kendra の ID クローラーを有効にするかどうかを指定します。ID クローラーは、ドキュメントのアクセスコントロールリスト (ACL) 情報を使用して、ユーザーまたはそのグループのドキュメントへのアクセス権に基づいて検索結果をフィルタリングします。ドキュメントの ACL があり、ACL を使用することを選択した場合は、Amazon KendraID クローラをオンにして検索結果の[ユーザーコンテキストフィルタリング](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)を設定することもできます。それ以外の場合は、ID クローラーがオフになっている場合、すべてのドキュメントは公開され検索可能になります。ID クローラーがオフになっているときにドキュメントのアクセスコントロールを使用する場合は、代わりに [PutPrincipalMapping](https://docs.aws.amazon.com/kendra/latest/APIReference/API_PutPrincipalMapping.html) API を使用して、ユーザーコンテキストフィルタリング用にユーザーとグループのアクセス情報をアップロードすることができます。
+  **フィールドマッピング** - 選択すると、Salesforce データソースフィールドを Amazon Kendra インデックスフィールドにマッピングします。詳細については、「[データソースフィールドのマッピング](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)」を参照してください。
**注記**  
がドキュメントAmazon Kendraを検索するには、ドキュメント本文フィールドまたはドキュメントと同等のドキュメント本文が必要です。データソースのドキュメント本文フィールド名をインデックスフィールド名 `_document_body` にマッピングする必要があります。その他のすべてのフィールドはオプションです。
**注記**  
`_document_body` へのインデックスマッピングが必要です。`Salesforce ID` フィールドと Amazon Kendra `_document_id ` フィールド間のマッピングは変更できません。任意の Salesforce フィールドを、ドキュメントタイトルまたはドキュメント本文の Amazon Kendra の予約済み/デフォルトのインデックスフィールドにマッピングできます。  
Salesforce フィールドを Amazon Kendra のドキュメントタイトルフィールドとドキュメント本文フィールドにマッピングすると、Amazon Kendra で、検索のレスポンスにドキュメントのタイトルと本文のフィールドが使用されます。

設定が必要なその他の重要な JSON キーのリストについては、「[Salesforce テンプレートスキーマ](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html#ds-salesforce-schema)」を参照してください。

------

## 詳細はこちら
<a name="salesforce-v2-learn-more"></a>

Salesforce データソースAmazon Kendraとの統合の詳細については、以下を参照してください。
+ [の更新された Salesforce コネクタ (V2) の発表Amazon Kendra](https://aws.amazon.com/blogs/machine-learning/announcing-the-updated-salesforce-connector-v2-for-amazon-kendra/)

## 注意事項
<a name="salesforce-notes"></a>
+ アクセスコントロール (ACL) が有効になっている場合、Salesforce API の制限により、[新規または変更されたコンテンツのみを同期] オプションを使用することができません。この同期モードを使用する必要がある場合は、代わりに「完全同期」または「新規、変更済み、または削除済みコンテンツ同期」モードを使用するか、ACL を無効にすることをお勧めします。