Openflow Connector for Salesforce Bulk API : Configurer Salesforce¶
Note
Ce connecteur est soumis aux conditions d’utilisation de Snowflake Connector.
Ce chapitre décrit les étapes de la configuration de Salesforce pour la Openflow Connector for Salesforce Bulk API.
Le connecteur s’authentifie auprès de Salesforce à l’aide du flux de porteur JWT OAuth 2.0. Cela nécessite la création d’une paire de clés de certificat, la configuration d’une application cliente externe dans Salesforce et l’autorisation d’un utilisateur à se servir de l’application.
Important
Salesforce a abandonné les applications connectées au profit des applications clientes externes. Si vous disposez d’une application connectée, Snowflake vous recommande de créer une application cliente externe à la place.
Créer des certificats¶
Vous avez besoin d’une clé privée et d’un certificat public pour configurer l’application client externe dans Salesforce. La clé privée est utilisée par le connecteur pour signer les jetons JWT, et le certificat public est chargé vers l’application cliente externe dans Salesforce afin que ce dernier puisse vérifier la signature.
Générez la clé privée. Un mot de passe vous est demandé pour sécuriser la clé privée.
Enregistrez le mot de passe. Vous en aurez besoin lors de la configuration des paramètres du connecteur dans Snowflake.
Créez un certificat auto-signé à partir de la clé privée.
Vous pouvez également générer une demande de signature de certificat (CSR) afin qu’un certificat soit signé par l’autorité de certification (CA) de votre entreprise.
Note
Vous êtes responsable de la sauvegarde et de la rotation des fichiers de clés publiques et de clés privées utilisés pour l’authentification par paire de clés conformément aux politiques de sécurité de votre organisation.
Créer une application client externe dans Salesforce¶
Créez une application client externe dans Salesforce avec JWT Bearer Flow. Le connecteur requiert ce flux OAuth spécifique pour s’authentifier. L’utilisation d’un autre flux OAuth (tel que le flux de code d’autorisation) provoque des erreurs invalid_grant.
Connectez-vous à Salesforce en tant qu’administrateur.
Accédez à Setup » Apps » App Manager, puis sélectionnez New External Client App.
Remplissez les champs obligatoires :
External Client App Name : Par exemple,
Openflow connector for Salesforce Bulk API.Contact Email : Par exemple,
salesforceadmin@mycompany.com.
Dans la section API (Enable OAuth Settings), cochez la case Enable OAuth.
Fournissez une Callback URL valide (par exemple,
https://www.google.com/).Note
L’URL de rappel est requise par Salesforce, mais n’est pas utilisée par le flux de porteur JWT. Vous pouvez fournir n’importe quelle URL valide.
Fournissez les OAuth Scopes souhaités pour l’application. Les champs d’application suivants sont nécessaires au bon fonctionnement du connecteur :
Gérer les données utilisateur via les APIs (
api)Exécuter des requêtes à tout moment (
refresh_token,offline_access)
Dans Flow Enablement, cochez la case Enable JWT Bearer Flow et chargez le fichier
public.crtcréé à l’étape précédente.Important
Vous devez spécifiquement sélectionner Activer le flux de porteur JWT. N’activez pas d’autres flux, sauf si vous avez une raison particulière de le faire. Le certificat que vous chargez ici doit correspondre à la clé privée (
private.key) que vous configurez dans les paramètres du connecteur.Cliquez sur Create pour terminer le processus de création d’applications.
Accédez à l’onglet Settings, développez la section OAuth Settings et cliquez sur Consumer Key and Secret pour récupérer les identifiants de connexion de votre application.
Enregistrez les valeurs de la Consumer Key et de la:extui:
Consumer Secretà utiliser lors de la configuration du connecteur dans Snowflake. La Consumer Key est utilisée comme paramètre OAuth2 Client ID dans la configuration du connecteur.
Approuver l’application cliente d’un utilisateur¶
Le connecteur interagit avec les APIs Salesforce au nom d’un utilisateur spécifique (le sujet OAuth2 configuré dans les paramètres du connecteur). Vous devez autoriser cet utilisateur à se servir de l’application cliente externe en lui attribuant les profils ou les ensembles d’autorisations appropriés.
Si cette étape n’est pas effectuée, le connecteur reçoit une erreur d’autorisation lorsqu’il tente de s’authentifier, même si le flux de porteur JWT est correctement configuré.
Accédez à l’onglet Policies de l’application cliente.
Cliquez sur Edit.
Développez la section OAuth Policies et remplacez Permitted Users par Admin approved users are pre-authorized.
Développez la section App Policies et sélectionnez les profils ou les ensembles d’autorisations qui sont attribués à l’utilisateur Salesforce que vous souhaitez que le connecteur utilise. Par exemple, si l’utilisateur a le profil
System Administrator, sélectionnez ce profil.Note
L’utilisateur spécifié comme OAuth2 Subject dans la configuration du connecteur doit appartenir à au moins un des profils ou ensembles d’autorisations sélectionnés ici. Si l’utilisateur n’est pas autorisé, vous recevez une erreur d’autorisation lors de la vérification ou de l’exécution du connecteur.
Cliquez sur Save.
Vérifier la correspondance des identifiants de connexion¶
Avant de procéder à la configuration de Snowflake, confirmez que les identifiants de connexion suivants appartiennent tous à la même application cliente externe et à la même paire de clés :
La clé du consommateur (ID client) a été récupérée dans l’application cliente externe que vous venez de créer.
La clé privée (
private.key) correspond au certificat (public.crt) chargé vers la même application cliente externe.Le sujet OAuth2 (utilisateur) est autorisé pour cette application cliente externe via l’attribution de profil ou d’ensemble d’autorisations.
Si vous avez créé plusieurs applications clientes externes ou si vous avez testé différentes configurations, la confusion entre les identifiants de connexion de différentes applications ou paires de clés est une source courante d’erreurs invalid_grant. En cas de doute, créez une nouvelle application cliente externe avec un certificat récent et une paire de clés récente.
Prochaines étapes¶
Effectuez les tâches d’installation de Snowflake :
Openflow Connector for Salesforce Bulk API : Configurer Snowflake