

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

# ナレッジベースの Salesforce に接続する
<a name="salesforce-data-source-connector"></a>

Salesforce は、サポート、営業、マーケティングの各チームを管理するための顧客関係管理 (CRM) ツールです。Amazon Bedrock の [AWS マネジメントコンソールまたは CreateDataSource API を使用して、Amazon Bedrock ](https://console.aws.amazon.com/bedrock/home)ナレッジベースの Salesforce インスタンスに接続できます (「Amazon Bedrock が[サポートする SDKs AWS CLI](https://docs.aws.amazon.com/bedrock/latest/APIReference/welcome.html)」を参照）。 [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html) 

**注記**  
Salesforce データソースコネクタはプレビューリリースの段階であり、変更される可能性があります。  
Salesforce データソースは、テーブル、グラフ、図、その他の画像などのマルチモーダルデータはサポートしていません。

現在、このデータソースで使用できるのは Amazon OpenSearch Serverless ベクトルストアのみです。

クロールできるファイル数とファイルあたりの MB に制限があります。「[Quotas for knowledge bases](https://docs.aws.amazon.com/bedrock/latest/userguide/quotas.html)」を参照してください。

**Topics**
+ [サポートされている機能](#supported-features-salesforce-connector)
+ [前提条件](#prerequisites-salesforce-connector)
+ [接続設定](#configuration-salesforce-connector)

## サポートされている機能
<a name="supported-features-salesforce-connector"></a>
+ メインドキュメントフィールドの自動検出
+ 包含/除外コンテンツフィルター
+ 追加、更新、削除されたコンテンツの増分同期
+ OAuth 2.0 認証

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

**Salesforce で、次の作業を行ったことを確認してください。**
+ Salesforce インスタンス URL を書き留めます。例えば、{{https://company.salesforce.com/}} です。インスタンスは Salesforce 接続アプリケーションを実行している必要があります。
+ Salesforce 接続アプリケーションを作成し、クライアント認証情報を設定します。次に、選択したアプリで、OAuth 設定からコンシューマーキー (クライアント ID) とコンシューマーシークレット (クライアントシークレット) をコピーします。詳細については、「[接続されたアプリケーションの作成](https://help.salesforce.com/s/articleView?id=sf.connected_app_create.htm&type=5)」および「[OAuth 2.0 クライアント認証情報用の接続されたアプリケーションの設定](https://help.salesforce.com/s/articleView?id=sf.connected_app_client_credentials_setup.htm&type=5)」の Salesforce ドキュメントを参照してください。
**注記**  
Salesforce Connected Apps の場合、クライアント認証情報フローの [として実行] フィールドで、クライアント認証情報のユーザー名またはエイリアスを検索して選択します。

** AWS アカウントで、以下を確認してください**。
+ 認証の認証情報を[AWS Secrets Manager シークレット](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html)に保存し、シークレットの Amazon リソースネーム (ARN) を書き留めます。このページの**接続設定**の説明に従って、シークレットに入れる必要があるキーと値のペアを含めます。
+ ナレッジベースの AWS Identity and Access Management (IAM) ロール/アクセス許可ポリシーに、データソースに接続するために必要なアクセス許可を含めます。このデータソースがナレッジベース IAM ロールに追加するために必要なアクセス許可については、[「データソースへのアクセス許可](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html#kb-permissions-access-ds)」を参照してください。

**注記**  
コンソールを使用する場合は、 に移動 AWS Secrets Manager してシークレットを追加するか、データソース設定ステップの一部として既存のシークレットを使用できます。必要なすべてのアクセス許可を持つ IAM ロールは、ナレッジベースを作成するためのコンソールステップの一部として作成できます。データソースやその他の設定を行うと、必要なすべてのアクセス許可を持つ IAM ロールが特定のナレッジベースに適用されます。  
認証情報とシークレットは、定期的に更新またはローテーションすることをお勧めします。セキュリティに必要なアクセスレベルのみを提供してください。データソース間で認証情報とシークレットを再利用することはお勧めしません。

## 接続設定
<a name="configuration-salesforce-connector"></a>

Salesforce インスタンスに接続するには、Amazon Bedrock がデータにアクセスしてクロールできるように、必要な設定情報を提供する必要があります。また、[前提条件](#prerequisites-salesforce-connector) に従う必要があります。

このデータソースの設定例をこのセクションに示します。

ドキュメントフィールドの自動検出、包含/除外フィルター、増分同期、シークレット認証情報、およびこれらの仕組みの詳細については、以下を選択してください。

### メインドキュメントフィールドの自動検出
<a name="ds-salesforce-document-fields"></a>

データソースコネクタは、ドキュメントまたはコンテンツのすべてのメインメタデータフィールドを自動的に検出してクロールします。例えば、データソースコネクタは、ドキュメントの本文に相当する部分、ドキュメントタイトル、ドキュメントの作成日または変更日、またはドキュメントに適用される可能性のあるその他のコアフィールドをクロールできます。

**重要**  
コンテンツに機密情報が含まれている場合、 Amazon Bedrock は機密情報を使用して応答できます。

メタデータフィールドにフィルタリング演算子を適用して、レスポンスの関連性をさらに高めることができます。例えば、ドキュメントの「epoch\_modification\_time」は、ドキュメントの最終更新日を 1970 年 1 月 1 日からの経過秒数で表します。「epoch\_modification\_time」にフィルターを適用して、その値が特定の数*より大きい*最新のデータだけを取得できます。メタデータフィールドに適用できるフィルタリング演算子の詳細については、「[メタデータとフィルタリング](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html)」を参照してください。

### 包含/除外フィルター
<a name="ds-salesforce-inclusion-exclusion"></a>

特定のコンテンツのクロールを含めることも除外することもできます。例えば、ファイル名に「private」が含まれているファイルのクロールをスキップするために、除外プレフィックス/正規表現パターンを指定することができます。特定のコンテンツエンティティまたはコンテンツタイプを含めるように、包含プレフィックス/正規表現パターンを指定することもできます。包含フィルターと除外フィルターを指定し、両方がドキュメントに一致する場合、除外フィルターが優先され、ドキュメントはクロールされません。

キャンペーン名に「private」を含むキャンペーンを除外する正規表現パターンの例: *「.\*private.\*」*

包含/除外フィルターは、次のコンテンツタイプに適用できます。
+ `Account`: アカウント番号/識別子
+ `Attachment`: 拡張子付きの添付ファイル名
+ `Campaign`: キャンペーン名と関連する識別子
+ `ContentVersion`: ドキュメントバージョンと関連する識別子
+ `Partner`: 関連付けられた識別子を含むパートナー情報フィールド
+ `Pricebook2`: 製品/料金リスト名
+ `Case`: 顧客の問い合わせ/発行番号、および関連する識別子を含むその他の情報フィールド (注意: 個人情報を含めることができ、除外に使用できます)
+ `Contact`: 顧客情報フィールド (注意: 個人情報を含めることができ、除外に使用できます)
+ `Contract`: 契約名と関連する識別子
+ `Document`: 拡張子を持つファイル名
+ `Idea`: アイデア情報フィールドと関連する識別子
+ `Lead`: 潜在的な新しい顧客情報フィールド (注意: 個人情報を含めることができ、除外に使用できます)
+ `Opportunity`: 保留中の販売/取引情報フィールドおよび関連する識別子
+ `Product2`: 製品情報フィールドと関連する識別子
+ `Solution`: 顧客の問い合わせ/問題のソリューション名と関連する識別子
+ `Task`: タスク情報フィールドと関連する識別子
+ `FeedItem`: Chatter フィード投稿の識別子
+ `FeedComment`: コメントが属する Chatter フィード投稿の識別子
+ `Knowledge__kav`: ナレッジ記事のタイトル
+ `User`: 組織内のユーザーエイリアス
+ `CollaborationGroup`: Chatter グループ名 (一意)

### 増分同期
<a name="ds-salesforce-incremental-sync"></a>

データソースコネクタは、データソースがナレッジベースと同期するたびに、新規、変更、削除されたコンテンツをクロールします。 Amazon Bedrock は、データソースのメカニズムを使用してコンテンツの変更を追跡し、前回の同期以降に変更されたコンテンツをクロールできます。データソースをナレッジベースと初めて同期すると、デフォルトですべてのコンテンツがクロールされます。

データソースをナレッジベースと同期するには、[StartIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html) API を使用するか、コンソールでナレッジベースを選択し、データソースの概要セクションで **[同期]** を選択します。

**重要**  
データソースから同期するすべてのデータは、データを取得する `bedrock:Retrieve` アクセス許可を持つすべてのユーザーが利用できるようになります。これには、データソースのアクセス許可が制御されているデータを含めることもできます。詳細については、「[Knowledge base permissions](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html)」を参照してください。

### シークレット認証情報
<a name="ds-salesforce-secret-auth-credentials"></a>

(OAuth 2.0 認証の場合) AWS Secrets Manager のシークレット認証情報には、次のキーと値のペアを含める必要があります。
+ `consumerKey`: {{アプリクライアント ID}}
+ `consumerSecret`: {{アプリケーションクライアントシークレット}}
+ `authenticationUrl`: {{Salesforce インスタンス URL または認証トークンをリクエストする URL}}

**注記**  
のシークレット AWS Secrets Manager は、ナレッジベースの同じリージョンを使用する必要があります。

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

**Salesforce インスタンスをナレッジベースに接続する**

1. [Amazon Bedrock ナレッジベースでデータソースに接続してナレッジベースを作成する](knowledge-base-create.md) の手順に従って、データソースとして **Salesforce** を選択します。

1. データソース名と説明 (オプション) を入力します。

1. Salesforce インスタンス URL を指定します。例えば、{{https://company.salesforce.com/}} です。インスタンスは Salesforce 接続アプリケーションを実行している必要があります。

1. **[詳細設定]** セクションでは、必要に応じて以下を設定できます。
   + **一時的なデータストレージ用の KMS キー。**– デフォルト AWS マネージドキー または独自の KMS キーを使用して、データを埋め込みに変換しながら、一時的なデータを暗号化できます。詳細については、「[データインジェスト時の一時データストレージの暗号化](encryption-kb.md#encryption-kb-ingestion)」を参照してください。
   + **データ削除ポリシー** – デフォルトでベクトルストアに保存されているデータソースのベクトル埋め込みを削除したり、ベクトルストアデータを保持するように選択したりできます。

1. Salesforce インスタンスに接続するための認証情報を指定します。

   1. OAuth 2.0 認証の場合は、 に移動 AWS Secrets Manager してシークレット認証情報を追加するか、作成したシークレットに既存の Amazon リソースネーム (ARN) を使用します。シークレットには、Salesforce Connected App コンシューマーキー (クライアント ID)、コンシューマーシークレット (クライアントシークレット)、および Salesforce インスタンス URL または認証トークンをリクエストする URL が含まれている必要があります。詳細については、「[接続されたアプリケーションの作成](https://help.salesforce.com/s/articleView?id=sf.connected_app_create.htm&type=5)」および「[OAuth 2.0 クライアント認証情報用の接続されたアプリケーションの設定](https://help.salesforce.com/s/articleView?id=sf.connected_app_client_credentials_setup.htm&type=5)」の Salesforce ドキュメントを参照してください。

1. (オプション) **[コンテンツの解析とチャンキング]** セクションで、データの解析とチャンキングの方法をカスタマイズできます。これらのカスタマイズの詳細については、次のリソースを参照してください。
   + 解析オプションの詳細については、「[データソースの解析オプション](kb-advanced-parsing.md)」を参照してください。
   + チャンキング戦略の詳細については、「[ナレッジベースのコンテンツのチャンキングの仕組み](kb-chunking.md)」を参照してください。
**警告**  
データソースに接続した後はチャンキング戦略を変更できません。
   + Lambda 関数を使用してデータのチャンキングとメタデータの処理をカスタマイズする方法の詳細については、「[カスタム変換 Lambda 関数を使用してデータの取り込み方法を定義する](kb-custom-transformation.md)」を参照してください。

1. フィルター/正規表現パターンの使用を選択して、特定のコンテンツを含めるか除外します。指定しない場合、標準コンテンツはすべてクロールされます。

1. 埋め込みモデルとベクトルストアの選択を続行します。残りの手順を確認するには、「[Amazon Bedrock ナレッジベースでデータソースに接続してナレッジベースを作成する](knowledge-base-create.md)」に戻り、データソースを接続した後の手順から続行します。

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

以下は、Amazon Bedrock ナレッジベースの Salesforce に接続するための設定の例です。または Python などの AWS CLI サポートされている SDK で API を使用してデータソースを設定します。[CreateKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html) を呼び出した後、[CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html) を呼び出して、`dataSourceConfiguration` の接続情報を使用してデータソースを作成します。

オプションの `vectorIngestionConfiguration` フィールドを含めることで取り込みに適用できるカスタマイズの詳細については、「[データソースの取り込みをカスタマイズする](kb-data-source-customize-ingestion.md)」を参照してください。

**AWS Command Line Interface**

```
aws bedrock create-data-source \
 --name "Salesforce connector" \
 --description "Salesforce data source connector for Amazon Bedrock to use content in Salesforce" \
 --knowledge-base-id "your-knowledge-base-id" \
 --data-source-configuration file://salesforce-bedrock-connector-configuration.json \
 --data-deletion-policy "DELETE" \
 --vector-ingestion-configuration '{"chunkingConfiguration":[{"chunkingStrategy":"FIXED_SIZE","fixedSizeChunkingConfiguration":[{"maxTokens":"100","overlapPercentage":"10"}]}]}'

salesforce-bedrock-connector-configuration.json
{
    "salesforceConfiguration": {
        "sourceConfiguration": {
            "hostUrl": "https://company.salesforce.com/",
            "authType": "OAUTH2_CLIENT_CREDENTIALS",
            "credentialsSecretArn": "arn:aws::secretsmanager:your-region:secret:AmazonBedrock-Salesforce"
        },
        "crawlerConfiguration": {
            "filterConfiguration": {
                "type": "PATTERN",
                "patternObjectFilter": {
                    "filters": [
                        {
                            "objectType": "Campaign",
                            "inclusionFilters": [
                                ".*public.*"
                            ],
                            "exclusionFilters": [
                                ".*private.*"
                            ]
                        }
                    ]
                }
            }
        }
    },
    "type": "SALESFORCE"
}
```

------