配置 Salesforce 连接 - AWS 连接词

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

配置 Salesforce 连接

配置 Salesforce 连接,请执行以下操作:

  1. 在 S AWS ecrets Manager 中,创建一个包含以下详细信息的密钥:

    1. 对于 JWT_TOKEN 授权类型,密钥应包含 JWT_TOKEN 密钥及其值。

    2. 对于 AuthorizationCode 授权类型:对于客户托管的互联应用程序,密钥应包含USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET作为密钥的关联应用程序 Consumer Secret。对于 AWS 托管连接的应用程序,为空密或具有临时值的密钥。

    3. 注意:您必须在中为每个连接创建一个密钥 AWS Glue。

  2. 在 AWS Glue 数据目录中,按照以下步骤创建连接:

    1. 选择连接类型时,请选择 Salesforce。

    2. 提供你要连接的 Salesforce 的 INSTANCE_URL。

    3. 提供 Salesforce 环境。

    4. 选择 AWS Glue 可以代入并有权执行以下操作的 AWS IAM 角色:

    5. 选择要用于连接的 OAuth2 授权类型。授权类型决定了如何与 Salesforce AWS Glue 通信以请求访问您的数据。您的选择会影响您在创建连接之前必须满足的要求。您可以选择以下任一类型:

      • JWT_BEARER 授权类型:此授权类型非常适合自动化场景,因为它允许使用Salesforce实例中特定用户的权限预先创建 JSON Web 令牌 (JWT)。创建者可以控制 JWT 的有效期。 AWS Glue 能够使用 JWT 获取用于调用 Salesforce API 的访问令牌。

        此流程要求用户在其 Salesforce 实例中创建连接的应用程序,以便为用户发放基于 JWT 的访问令牌。

        有关为 JWT 承载 OAuth 流程创建互联应用程序的信息,请参阅 OAuth 2.0 JWT 承载流程进行集成。 server-to-server 要使用连接 Salesforce 的应用程序设置 JWT 承载流程,请参阅。为 Salesforce 设置 JWT 持有人 OAuth 流程

      • AUTH@@ ORIZATION_CODE 授权类型:此授权类型被视为 “三足型” OAuth,因为它依赖于将用户重定向到第三方授权服务器来对用户进行身份验证。它用于通过 AWS Glue 控制台创建连接。默认情况下,创建连接的用户可以依赖 AWS Glue 已连接的应用程序(AWS Glue 托管客户端应用程序),在该应用程序中,除了 Salesforce 实例 URL 之外,他们无需提供任何与 OAuth 相关的信息。 AWS Glue 控制台会将用户重定向到 Salesforce,用户必须登录并允许 AWS Glue 请求的权限才能访问他们的 Salesforce 实例。

        用户仍然可以选择在 Salesforce 中创建自己的联网应用程序,并在通过 AWS Glue 控制台创建连接时提供自己的客户端 ID 和客户端密钥。在这种情况下,他们仍会被重定向到 Salesforce 以登录并授权 AWS Glue 访问其资源。

        此授权类型会生成刷新令牌和访问令牌。访问令牌的有效期很短,无需用户使用刷新令牌进行交互即可自动刷新。

        有关为授权码 OAuth 流程创建关联应用程序的信息,请参阅为授权码和凭证流程配置已连接的应用程序

    6. 选择要用于此连接secretName的,然后放 AWS Glue 入令牌。

    7. 如果要使用网络,请选择网络选项。向与您的 AWS Glue 任务关联的 IAM 角色授予读取权限secretName

  3. 向与您的 AWS Glue 任务关联的 IAM 角色授予读取权限secretName

  4. 在您的 AWS Glue 任务配置中,提供connectionName作为附加网络连接

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:DescribeSecret", "secretsmanager:GetSecretValue", "secretsmanager:PutSecretValue", "ec2:CreateNetworkInterface", "ec2:DescribeNetworkInterface", "ec2:DeleteNetworkInterface", ], "Resource": "*" } ] }