Openflow Connector for Salesforce Bulk API:选择使用 时默认使用的角色和仓库。设置 Salesforce¶
备注
此连接器受 Snowflake 连接器条款 的约束。
本主题介绍为 Openflow Connector for Salesforce Bulk API 设置 Salesforce 的步骤。
该连接器使用 OAuth 2.0 JWT Bearer Flow 与 Salesforce 进行身份验证。这需要创建证书密钥对,在 Salesforce 中配置外部客户端应用程序,并授权用户使用该应用程序。
重要
Salesforce 已弃用连接应用程序,转而使用外部客户端应用程序。如果您有现有的连接应用程序,Snowflake 建议创建一个新的外部客户端应用程序。
创建证书¶
您需要私钥和公钥证书才能在 Salesforce 中配置外部客户端应用程序。连接器使用私钥对 JWT 令牌进行签名,并将公钥证书上传到 Salesforce 中的外部客户端应用程序,以便 Salesforce 可以验证签名。
生成私钥。系统将要求您输入密码以保护私钥。
记录密码。在 Snowflake 中配置连接器参数时需要它。
使用私钥创建自签名证书。
您也可以生成证书签名请求 (CSR),以获取由您公司 CA 签名的证书。
备注
您有责任根据组织的安全策略保护并轮换用于密钥对身份验证的公钥和私钥文件。
在 Salesforce 中创建外部客户端应用程序¶
在 Salesforce 中创建一个使用 JWT 流程的外部客户端应用程序。连接器需要此特定 OAuth 流进行身份验证。使用不同的 OAuth 流(如授权代码流)会导致 invalid_grant 错误。
以管理员身份登录 Salesforce。
转到 Setup » Apps » App Manager,然后选择 New External Client App。
填写必填字段:
External Client App Name:选择使用 时默认使用的角色和仓库。例如
Openflow connector for Salesforce Bulk API。Contact Email:选择使用 时默认使用的角色和仓库。例如
salesforceadmin@mycompany.com。
在 API (Enable OAuth Settings) 部分中,选中 Enable OAuth 复选框。
提供有效的 Callback URL`(例如,``https://www.google.com/`)。
备注
Salesforce 要求回调 URL,但 JWT Bearer Flow 并不会使用它。您可以提供任何有效的 URL。
为应用程序提供所需的 OAuth Scopes 范围。连接器需要以下范围才能正常运行:
通过 APIs 管理用户数据 (
api)随时执行请求(
refresh_token、offline_access)
在 Flow Enablement 部分,选中 Enable JWT Bearer Flow 复选框,并上传在上一步中创建的
public.crt文件。重要
您必须明确选择 Enable JWT Bearer Flow。除非有特定原因,否则不要启用其他流。您在此上传的证书必须与在连接器参数中配置的私钥 (
private.key) 相对应。点击 Create 以完成应用程序创建过程。
转到 Settings 选项卡,展开 OAuth Settings 部分,然后点击 Consumer Key and Secret 以检索您应用程序的凭据。
记录 Consumer Key 和 Consumer Secret 的值,以便在 Snowflake 中配置连接器时使用。其中,Consumer Key 在连接器配置中作为 OAuth2 Client ID 参数使用。
批准用户的客户端应用程序¶
连接器以特定用户的身份(即在连接器参数中配置的 OAuth2 主体)代表该用户与 Salesforce APIs 进行交互。您必须通过分配适当的配置文件或权限集来授权此用户使用外部客户端应用程序。
如果未完成此步骤,则连接器在尝试进行身份验证时会收到权限错误,即使 JWT Bearer Flow 配置正确。
转到客户端应用程序的 Policies 选项卡。
点击 Edit。
展开 OAuth Policies 部分,并将 Permitted Users 更改为 Admin approved users are pre-authorized。
展开 App Policies 部分,然后选择分配给您希望连接器使用的 Salesforce 用户的简档或权限集。例如,如果用户具有
System Administrator配置文件,请选择该配置文件。备注
在连接器配置中指定为 OAuth2 Subject 的用户,必须属于此处选择的至少一个配置文件或权限集。如果用户未获得授权,您在验证或运行连接器时会收到权限错误。
点击 Save。
验证凭据是否匹配¶
在继续进行 Snowflake 设置之前,请确认以下凭据都属于同一外部客户端应用程序和密钥对:
**使用者密钥**(客户端 ID)是从您刚刚创建的外部客户端应用程序中检索到的。
私钥 (
private.key) 与上传到同一外部客户端应用程序的 证书 (public.crt) 相对应。**OAuth2 主体**(用户)通过配置文件或权限集分配获得此外部客户端应用程序的授权。
如果您创建了多个外部客户端应用程序或尝试过不同配置,将不同应用程序或密钥对的凭据混用,是导致 invalid_grant 错误的常见原因。如有疑问,请使用新的证书和密钥对创建新的外部客户端应用程序。
后续步骤¶
执行 Snowflake 设置任务:
Openflow Connector for Salesforce Bulk API:选择使用 时默认使用的角色和仓库。设置 Snowflake