# SAP Extractor

本节介绍如何在数据任务中设置 SAP Extractor 源。在开始数据任务之前，请确保已完成 [先决条件](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Global_Common/Content/SharedReplicateHDD/SAP-Extractor/extractor_Prerequisites.htm)，并熟悉 [限制和考虑事项](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Global_Common/Content/SharedReplicateHDD/SAP-Extractor/extractor_Limitations_SAP_app.htm)。

信息注释仅 Qlik Talend Cloud Enterprise 订阅支持此连接器。

## 设置连接属性

本节介绍可用的连接属性。除非另有说明，否则所有属性都是必需的。

要打开连接器，请执行以下操作：

1. 在连接中单击创建连接。

2. 选择 SAP Extractor 源连接器，然后提供以下设置：

### 连接到特定的 SAP 应用程序服务器

#### 数据源

* 数据网关

  选择用于移动您的数据 数据移动网关。

  有关 数据移动网关 的信息，请参阅[Qlik Data Gateway - Data Movement](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/replication-gateway.htm)。

* 连接到：选择应用程序服务器。

* 服务器：SAP Extractor 源所在的应用程序服务器的 IP 地址。

* 实例编号：SAP Extractor 数据源的实例号。

* 客户端标识符：SAP Extractor 数据源的系统 ID。

#### 帐户属性

* 用户名：用于访问 SAP Extractor 数据源的用户名。这是先前在 SAP 中创建的通信用户的用户名。

* 密码：用于访问 SAP Extractor 数据源的密码。这是先前在 SAP 中创建的通信用户的密码。

#### 安全性

请参阅以下的[安全性](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/SourcesConnections/SAP-Extractor/SAP-Extractor-source.htm#Security)。

#### CDC 属性

每隔（分钟）运行提取器：指定检查更改的频率。

#### 名称

安全连接的显示名称。

### 使用负载平衡连接到 SAP 系统

#### 数据源

* 数据网关

  选择要使用的 数据移动网关。

  如果不想使用 数据移动网关，请选择无。有关 数据移动网关 的信息，请参阅[Qlik Data Gateway - Data Movement](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/replication-gateway.htm)。

  信息注释此字段不适用于 Qlik Talend Cloud Starter订阅，因为它不支持 数据移动网关

* 连接到：选择负载平衡环境。

* 邮件服务器：邮件服务器主机的主机名或 IP 地址。

* 应用程序服务器组名称：SAP 服务器组的名称。这是负载平衡连接中的一组可选应用程序服务器。

* SAP 系统名称：SAP R/3 名称。

* 邮件服务器服务：以下文件中指定的 SAP 邮件服务器服务的名称：

  `<system drive>:\WINDOWS\system32\drivers\etc\services`

  如果未指定值，Data Provider for SAP 将使用以下默认名称：

  `sapms<R/3 system name>`

* 客户端标识符：SAP Extractor 数据源的系统 ID。

#### 帐户属性

* 用户名：用于访问 SAP Extractor 数据源的用户名。这是先前在 SAP 中创建的通信用户的用户名。

* 密码：用于访问 SAP Extractor 数据源的密码。这是先前在 SAP 中创建的通信用户的密码。

#### 安全性

请参阅以下的[安全性](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/SourcesConnections/SAP-Extractor/SAP-Extractor-source.htm#Security)。

#### CDC 属性

每隔（分钟）运行提取器：指定检查更改的频率。

#### 内部属性

内部属性用于特殊用例，因此不会在对话框中公开。只有在 Qlik 支持部门的指示下，您才应该使用它们。

使用字段右侧的 the 新建 icon 和 the 取消 icon 按钮可以根据需要添加或删除特性。

#### 名称

安全连接的显示名称。

## 安全性

在安全设置中，您可以配置安全网络通信 (SNC)。

### 与 SNC 合作的先决条件

按照以下步骤在 Data Movement gateway 计算机上安装 Secure Network Communication (SNC) 客户端。

#### 您所需要的：

* SAP 服务器的导出证书 (.crt)。导出证书如下所示：
  1. 登录 SAP 系统。
  2. 运行 STRUST 事务。
  3. 选择 SNC SAPCryptolib。
  4. 选择自己的证书下的科目。
  5. 点击显示&gt;更改选项，然后选择导出证书。
  6. 在证书部分，选择类型并保存文件。
* SAPCAR.EXE
* SAP 用户（授权客户）
* 安装在相应 SAP 服务器上的加密库版本

#### 安装 SNC 客户端

1. 为 SAP SNC 文件和二进制文件创建一个工作区文件夹（以下简称“您的 SNC 文件夹”），例如：“C:\snc\”

2. 复制导出的服务器证书和 SAPCAR.EXE 到您的 SNC 文件夹。

3. 转到 https://support.sap.com/en/my-support/software-downloads.html 并在安装和更新下搜寻 SAPCRYPTOLIB。将 64 位置 .SAR 下载到您的 SNC 文件夹。

4. 打开命令提示符并将工作目录更改为 SNC 文件夹。然后运行以下命令将 .SAR 的内容解压缩到 SNC 文件夹中：

   `sapcar -xvf LibName.sar`

   示例：

   `sapcar -xvf SAPCRYPTOLIBP_8541-20011731_32.SAR`

5. 按如下方式添加系统环境变量：

   1. 添加一个名为 SECUDIR 的系统环境，将 SNC 文件夹的路径作为其值。
   2. 添加名为QLIK\_SNC\_LIB 的系统环境变量，其中包含 sapcrypto.dll 文件的路径作为其值。
   3. 将新添加的环境变量添加到“PATH”环境变量中。

6. 确定 &lt;PSE\_File\_Name&gt; 并选择 &lt;PSE\_PIN&gt; 对其进行保护。您需要在接下来的步骤中提供此信息。

   示例：

   `pseName: "CN=USR,OU=SAP,O=Qlik,C=IS" password: password123`

7. 确定 &lt;SNC\_NAME&gt;。它看上去应该是这样的：`CN=USR, OU=SAP, O=Qlik, C=IS`

   另请参阅下面的 [确定服务器 SNC 名称](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/SourcesConnections/SAP-Extractor/SAP-Extractor-source.htm#Getting)。

8. 确保您具有访问和执行 SECUDIR 文件夹中的文件所需的权限，然后运行以下命令以生成 PSE 文件：

   `sapgenpse get_pse -p <PSE_File_Name>.pse -x <PSE_PIN> <SNC_NAME>`

   示例：

   `sapgenpse get_pse -p usr.pse -x password123 "CN=USR,OU=SAP,O=Qlik,C=IS"`

9. 将 PSE 文件与 OS 用户绑定，并在 SECUDIR 文件夹中创建 CRED\_V2 文件，如下所示：

   1. 记下运行 Qlik Replication 服务器的操作系统用户。要在 Linux 上执行此操作，请运行 `ps aux` 命令。

   2. 然后运行以下命令：

      `sapgenpse seclogin -p <PSE_File_Name>.pse -x <PSE_PIN> -O <OS_USER>`

      示例：

      `sapgenpse seclogin -p usr.pse -x password123 -O SYSTEM`

10. 通过执行以下命令生成 CRT 文件：

    `sapgenpse export_own_cert -o <PSE_File_Name>.crt -p <PSE_File_Name>.pse -x <PSE_PIN>`

    示例：

    `sapgenpse export_own_cert -o usr.crt -p usr.pse -x password123`

11. 通过执行以下命令将 SAP 应用程序服务器证书 (&lt;SERVER\_CRT&gt;) 导入 PSE：

    `sapgenpse maintain_pk -a <SERVER_CRT>.crt -p <PSE_File_Name>.pse -x <PSE_PIN>`

    示例：

    `sapgenpse maintain_pk -a sapsys.crt -p usr.pse -x password123`

12. 要验证 SAP Server 的 PSE 的 DN 是否已导入客户端，请运行以下命令，然后检查“subject”值：

    `sapgenpse maintain_pk -v -l -p <PSE_File_Name>.pse`

    示例：

    `sapgenpse maintain_pk -v -l -p usr.pse`

#### 导入客户端证书

1. 连接到 SAP Application Server 并使用授权用户导航到“STRUST”事务。
2. 双击 SNC (SAPCryptolib) 文件夹。
3. 单击 ![显示更改按钮](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/Replicate/change-button-sap.png) 以切换到更改视图。
4. 单击 ![证书导入按钮](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/Replicate/import-cert-sap.png) 以导入证书
5. 在新对话框中，输入先前创建的 .crt 文件的路径，然后单击“继续”。
6. 在证书部分验证证书的详细信息。
7. 单击添加到证书列表将证书添加到列表中。
8. 保存更改。

#### 确定服务器 SNC 名称

有两种方法可以确定服务器名称：

* 方法 1：使用 OpenSSL 命令解密服务器 CRT 文件。服务器名称将是主题的一部分。
* 方法 2：此方法需要适当的权限。连接到系统时：
  1. 运行 RZ10 事务。

  2. 选择系统配置文件。

  3. 选择扩展维护选项，然后单击显示。

  4. snc/identity/as 参数的值应该是 SNC 名称。

### 连接设置

在 SAP Extractor 连接器 中配置SNC设置，如下所示：

* 激活安全网络通信：选择以打开 SNC。

* SNC 名称：SNC 合作伙伴名称。

  示例：

  p:CN=SYS, OU=SAP, O=Qlik, C=IS

* SNC 保护质量 - 选择以下选项之一：

  * 仅身份验证：选择以验证 SAP Extractor 计算机的身份。这是 SNC 提供的最低保护级别。
  * 完整性保护：选择可检测 Data Movement gateway 计算机和 SAP Extractor 计算机之间可能发生的任何数据更改或操作。
  * 隐私保护：选择此选项可加密正在传输的邮件以防止窃听。隐私保护还包括完整性保护。这是 SNC 提供的最大保护级别。
  * 最大可用安全性：SAP Extractor 计算机支持的最大数据保护级别。