

# 配置 Salesforce Commerce Cloud 连接
<a name="salesforce-commerce-cloud-configuring-connections"></a>

 Salesforce Commerce Cloud 支持 OAuth2 的 CLIENT CREDENTIALS 的客户端凭证授权类型。
+  此授权类型被视为双足型 OAuth 2.0，因为客户端将其用于在用户环境之外获取访问令牌。AWS Glue 能够使用客户端 ID 和客户端密钥对由您定义的自定义服务提供的 Salesforce Commerce Cloud API 进行身份验证。
+  每项自定义服务均归仅限 API 的用户所有，该用户拥有一组角色和权限，可授权该服务执行特定操作。访问令牌与单项自定义服务相关联。
+  这种授权类型会生成一个短期有效的访问令牌，并且可以通过调用身份端点来续订。
+  有关生成客户端凭证的 Salesforce Commerce Cloud 文档的更多信息，请参阅 [Salesforce 文档](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization.html)。

要配置 Salesforce Commerce Cloud 连接，请执行以下操作：

1.  在 AWS Secrets Manager 中，创建一个包含以下详细信息的密钥。需要为 AWS Glue 中的每个连接创建一个密钥。

   1.  对于客户托管的关联应用程序：密钥应包含关联应用程序的使用者密钥，并将 USER\$1MANAGED\$1CLIENT\$1APPLICATION\$1CLIENT\$1SECRET 作为键。

1. 在 AWS Glue Studio 中，按照以下步骤在**数据连接**下创建连接：

   1.  在“数据连接”下，选择**创建连接**。

   1. 选择**数据来源**时，请选择 Salesforce Commerce Cloud。

   1. 请提供 Salesforce Commerce Cloud **短代码**、**组织 ID** 和**站点 ID**。

   1. 选择 Salesforce Commerce Cloud 账户的 Salesforce Commerce Cloud 域 URL。

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

------
#### [ JSON ]

****  

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

------

   1.  提供 OAuth 范围（可选），以及要连接的 Salesforce Commerce Cloud 的用户托管客户端应用程序 ClientId。

   1.  在 AWS Glue 中选择您要用于此连接的 `secretName`，然后放置令牌。

   1.  如果要使用网络，请选择网络选项。

1.  向与您的 AWS Glue 作业关联的 IAM 角色授予读取 `secretName` 的权限。

1.  在 AWS Glue 作业配置中，提供 `connectionName` 作为**附加网络连接**。