

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Connexion à Salesforce pour votre base de connaissances
<a name="salesforce-data-source-connector"></a>

Salesforce est un outil de gestion de la relation client (CRM) permettant de gérer les équipes d’assistance, de vente et de marketing. Vous pouvez vous connecter à votre instance Salesforce pour votre base de connaissances Amazon Bedrock en utilisant la [console de gestion AWS pour Amazon Bedrock](https://console.aws.amazon.com/bedrock/home) ou l’API [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html) (consultez [les commandes de l’AWS CLI et les kits SDK pris en charge](https://docs.aws.amazon.com/bedrock/latest/APIReference/welcome.html) par Amazon Bedrock).

**Note**  
Le connecteur de source de données Salesforce est proposé en version préliminaire et peut faire l’objet de modifications.  
Les sources de données Salesforce ne prennent pas en charge les données multimodales, telles que les tableaux, les graphiques, les diagrammes ou autres images.

Actuellement, seul le magasin de vecteurs Amazon OpenSearch sans serveur peut être utilisé avec cette source de données.

Il existe des limites au nombre de fichiers et de Mo par fichier pouvant être indexés. Consultez [Quotas pour les bases de connaissances](https://docs.aws.amazon.com/bedrock/latest/userguide/quotas.html).

**Topics**
+ [Fonctionnalités prises en charge](#supported-features-salesforce-connector)
+ [Conditions préalables](#prerequisites-salesforce-connector)
+ [Configuration de la connexion](#configuration-salesforce-connector)

## Fonctionnalités prises en charge
<a name="supported-features-salesforce-connector"></a>
+ Détection automatique des principaux champs d’un document
+ Filtres de contenu d’inclusion/exclusion
+ Synchronisation incrémentielle du contenu ajouté, mis à jour et supprimé
+ Authentification OAuth 2.0

## Conditions préalables
<a name="prerequisites-salesforce-connector"></a>

**Dans Salesforce** :
+ Assurez-vous de noter l’URL de votre instance Salesforce. Par exemple, *https://company.salesforce.com/*. L’instance doit exécuter une application connectée Salesforce.
+ Créez une application connectée Salesforce et configurez les informations d’identification client. Ensuite, pour l’application sélectionnée, copiez la clé consommateur (ID client) et le secret consommateur (secret client) à partir des paramètres OAuth. Pour plus d’informations, consultez [Create a Connected App](https://help.salesforce.com/s/articleView?id=sf.connected_app_create.htm&type=5) et [Configure a Connected App for the OAuth 2.0 Client Credentials Flow](https://help.salesforce.com/s/articleView?id=sf.connected_app_client_credentials_setup.htm&type=5) dans la documentation Salesforce.
**Note**  
Pour les applications connectées Salesforce, sous Flux d’informations d’identification client, assurez-vous de rechercher et de sélectionner le nom ou l’alias des informations d’identifications de votre client dans le champ « Exécuter sous ».

**Dans votre compte AWS** :
+ Pour l’authentification, assurez-vous de stocker vos informations d’identification dans un [secret AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html) et notez l’Amazon Resource Name (ARN) du secret. Suivez les instructions de la section **Configuration de la connexion** sur cette page pour inclure les paires clé-valeur qui doivent être incluses dans votre secret.
+ Incluez dans votre politique de rôle/d’autorisations Gestion des identités et des accès AWS (IAM) les autorisations nécessaires afin de vous connecter à votre source de données pour votre base de connaissances. Pour en savoir plus sur les autorisations requises afin d’ajouter cette source de données à votre rôle IAM dans la base de connaissances, consultez [Autorisations d’accès aux sources de données](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html#kb-permissions-access-ds).

**Note**  
Si vous utilisez la console, vous pouvez accéder à AWS Secrets Manager pour ajouter votre secret ou utiliser un secret existant dans le cadre de l’étape de configuration de la source de données. Le rôle IAM possédant toutes les autorisations requises peut être créé pour vous dans le cadre des étapes de la console pour créer une base de connaissances. Une fois votre source de données configurée et les autres configurations effectuées, le rôle IAM possédant toutes les autorisations requises est appliqué à votre base de connaissances spécifique.  
Nous vous recommandons d’actualiser ou de modifier régulièrement vos informations d’identification et votre secret. Pour votre propre sécurité, fournissez uniquement le niveau d’accès nécessaire. Nous vous recommandons de ne pas réutiliser vos informations d’identification et vos secrets d’une source de données à l’autre.

## Configuration de la connexion
<a name="configuration-salesforce-connector"></a>

Afin de vous connecter à votre instance Salesforce, vous devez fournir les informations de configuration nécessaires pour qu’Amazon Bedrock puisse accéder à vos données et les indexer. Vous devez également respecter les [Conditions préalables](#prerequisites-salesforce-connector).

Un exemple de configuration pour cette source de données est inclus dans cette section.

Pour plus d’informations sur la détection automatique des champs d’un document, les filtres d’inclusion/exclusion, la synchronisation incrémentielle, les informations d’identification secrètes et leur fonctionnement, développez les sections suivantes :

### Détection automatique des principaux champs d’un document
<a name="ds-salesforce-document-fields"></a>

Le connecteur de source de données détecte et indexe automatiquement les principaux champs de métadonnées de vos documents ou contenus. Par exemple, le connecteur de source de données peut indexer le contenu principal (ou son équivalent), le titre et la date de création ou de modification de vos documents, ou d’autres champs de base susceptibles de s’appliquer à ceux-ci.

**Important**  
Si votre contenu contient des informations sensibles, Amazon Bedrock peut répondre en utilisant des informations sensibles.

Vous pouvez appliquer des opérateurs de filtrage aux champs de métadonnées afin d’améliorer davantage la pertinence des réponses. Par exemple, « epoch\$1modification\$1time » pour connaître le nombre de secondes écoulées depuis le 1er janvier 1970 jusqu’au moment de la dernière mise à jour du document. Vous pouvez filtrer les données en fonction des plus récentes, pour lesquelles « epoch\$1modification\$1time » est *supérieur à* un certain nombre. Pour plus d’informations sur les opérateurs de filtrage que vous pouvez appliquer à vos champs de métadonnées, consultez [Métadonnées et filtrage](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html).

### Filtres d’inclusion et d’exclusion
<a name="ds-salesforce-inclusion-exclusion"></a>

Vous pouvez inclure ou exclure l’indexation de certains contenus. Par exemple, vous pouvez spécifier un préfixe d’exclusion/un modèle d’expression régulière pour éviter d’indexer tout fichier dont le nom contient le mot « privé ». Vous pouvez également spécifier un préfixe d’inclusion/un modèle d’expression régulière pour inclure certaines entités ou certains types de contenu. Si vous spécifiez un filtre d’inclusion et un filtre d’exclusion et que les deux correspondent à un document, le filtre d’exclusion est prioritaire et le document n’est pas indexé.

Exemple de modèle d’expression régulière permettant d’exclure ou de filtrer les campagnes dont le nom contient « privé » : *".\$1privé.\$1"*

Vous pouvez appliquer des filtres d’inclusion/exclusion aux types de contenus suivants :
+ `Account` : numéro/identifiant de compte
+ `Attachment` : nom de fichier joint avec son extension
+ `Campaign` : nom de la campagne et identifiants associés
+ `ContentVersion` : Version du document et identifiants associés
+ `Partner` : champs d’informations sur les partenaires, y compris les identifiants associés
+ `Pricebook2` : nom de la liste de produits/prix
+ `Case` : numéro de demande/de problème d’un client et autres champs d’information, y compris les identifiants associés (Attention : peut contenir des informations personnelles que vous pouvez choisir d’exclure ou de filtrer)
+ `Contact` : champs d’informations d’un client (Attention : peut contenir des informations personnelles que vous pouvez choisir d’exclure ou de filtrer)
+ `Contract` : nom du contrat et identifiants associés
+ `Document` : nom de fichier avec son extension
+ `Idea` : champs d’informations d’une idée et identifiants associés
+ `Lead` : champs d’informations d’un nouveau client potentiel (Attention : peut contenir des informations personnelles que vous pouvez choisir d’exclure ou de filtrer)
+ `Opportunity` : champs d’informations d’une vente/affaire en attente et identifiants associés
+ `Product2` : champs d’informations d’un produit et identifiants associés
+ `Solution` : nom de la solution à la demande/au problème d’un client et identifiants associés
+ `Task` : champs d’informations d’une tâche et identifiants associés
+ `FeedItem` : identifiant d’une publication du flux Chatter
+ `FeedComment` : identifiant de la publication du flux Chatter à laquelle appartiennent les commentaires
+ `Knowledge__kav` : titre de l’article de la base de connaissances
+ `User` : alias utilisateur au sein de votre organisation
+ `CollaborationGroup` : nom du groupe Chatter (unique)

### Synchronisation incrémentielle
<a name="ds-salesforce-incremental-sync"></a>

Le connecteur de source de données indexe le contenu nouveau, modifié et supprimé chaque fois que votre source de données se synchronise avec votre base de connaissances. Amazon Bedrock peut utiliser le mécanisme de votre source de données pour suivre les modifications et indexer le contenu modifié depuis la dernière synchronisation. Lorsque vous synchronisez votre source de données avec votre base de connaissances pour la première fois, l’ensemble du contenu est indexé par défaut.

Pour synchroniser votre source de données avec votre base de connaissances, utilisez l’API [StartIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html) ou sélectionnez votre base de connaissances dans la console, puis sélectionnez **Synchroniser** dans la section Vue d’ensemble des sources de données.

**Important**  
Toutes les données que vous synchronisez à partir de votre source de données sont accessibles à toute personne disposant des autorisations `bedrock:Retrieve` pour récupérer les données. Cela peut également inclure toutes les données dont les autorisations de source de données sont contrôlées. Pour plus d’informations, consultez [Autorisations de la base de connaissances](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html).

### Informations d’identification secrètes
<a name="ds-salesforce-secret-auth-credentials"></a>

(Pour l’authentification OAuth 2.0) Vos informations d’identification dans AWS Secrets Manager doivent inclure les paires clé-valeur suivantes :
+ `consumerKey` : *ID client de l’application*
+ `consumerSecret` : *secret client de l’application*
+ `authenticationUrl` : *URL de l’instance Salesforce ou URL à laquelle demander le jeton d’authentification*

**Note**  
Votre secret dans AWS Secrets Manager doit utiliser la même région que celle de votre base de connaissances.

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

**Connexion d’une instance Salesforce à votre base de connaissances**

1. Suivez les étapes décrites dans [Création d’une base de connaissances en se connectant à une source de données dans Amazon Bedrock Knowledge Bases](knowledge-base-create.md) et choisissez **Salesforce** comme source de données.

1. Indiquez un nom et une description facultative de la source de données.

1. Fournissez l’URL de votre instance Salesforce. Par exemple, *https://company.salesforce.com/*. L’instance doit exécuter une application connectée Salesforce.

1. Dans la section **Paramètres avancés**, vous pouvez éventuellement configurer les éléments suivants :
   + **Clé KMS pour le stockage de données transitoires**  : vous pouvez chiffrer les données transitoires lors de la conversion de vos données en vectorisations à l’aide de la Clé gérée par AWS par défaut ou de votre propre clé KMS. Pour plus d’informations, consultez [Chiffrement du stockage des données transitoires lors de l’ingestion de données](encryption-kb.md#encryption-kb-ingestion).
   + **Politique de suppression des données** : vous pouvez supprimer les vectorisations de votre source de données qui sont stockées dans le magasin de vecteurs par défaut, ou choisir de conserver les données du magasin de vecteurs.

1. Fournissez les informations d’authentification pour vous connecter à votre instance Salesforce :

   1. Pour l’authentification OAuth 2.0, rendez-vous sur AWS Secrets Manager pour ajouter vos informations d’identification secrètes ou utilisez un Amazon Resource Name (ARN) existant pour le secret que vous avez créé. Votre secret doit contenir la clé consommateur Salesforce Connected App (ID client), le secret consommateur (secret client) et l’URL d’instance Salesforce ou l’URL auprès de laquelle demander le jeton d’authentification. Pour plus d’informations, consultez [Create a Connected App](https://help.salesforce.com/s/articleView?id=sf.connected_app_create.htm&type=5) et [Configure a Connected App for the OAuth 2.0 Client Credentials Flow](https://help.salesforce.com/s/articleView?id=sf.connected_app_client_credentials_setup.htm&type=5) dans la documentation Salesforce.

1. (Facultatif) Dans la section **Analyse et découpage du contenu**, vous pouvez personnaliser le mode d’analyse et de découpage de vos données. Consultez les ressources suivantes pour en savoir plus sur ces personnalisations :
   + Pour plus d’informations sur les options d’analyse, consultez [Options d’analyse structurée pour votre source de données](kb-advanced-parsing.md).
   + Pour plus d’informations sur les stratégies de découpage, consultez [Fonctionnement du découpage du contenu pour les bases de connaissances](kb-chunking.md).
**Avertissement**  
Une fois connecté à la source de données, vous ne pouvez plus modifier la stratégie de découpage.
   + Pour plus d’informations sur la façon de personnaliser le découpage de vos données et le traitement de vos métadonnées avec une fonction Lambda, consultez [Utilisation d’une fonction Lambda de transformation personnalisée pour définir la manière dont vos données sont ingérées](kb-custom-transformation.md).

1. Utilisez des filtres/modèles d’expressions régulières pour inclure ou exclure certains contenus. Autrement, l’ensemble du contenu standard est indexé.

1. Continuez en choisissant un modèle de vectorisation et un magasin de vecteurs. Pour voir les étapes restantes, revenez à [Création d’une base de connaissances en se connectant à une source de données dans Amazon Bedrock Knowledge Bases](knowledge-base-create.md) et poursuivez après avoir connecté votre source de données.

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

Voici un exemple de configuration pour connecter votre base de connaissances Amazon Bedrock à Salesforce. Vous configurez votre source de données à l’aide de l’API avec l’AWS CLI ou d’un kit SDK compatible, tel que Python. Après avoir appelé [CreateKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html), vous appelez [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html) pour créer votre source de données contenant vos informations de connexion dans `dataSourceConfiguration`.

Pour en savoir plus sur les personnalisations que vous pouvez appliquer à l’ingestion en incluant le champ facultatif `vectorIngestionConfiguration`, consultez [Personnalisation de l’ingestion pour une source de données](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"
}
```

------