从版本 2022.15(2022 QRC3) 开始,SAP Analytics Cloud分析云 (SAC) 支持使用安全网络通信 (Secure Network Communication, 即SNC) 创建到 SAP BW 的导入数据连接,以加密Cloud Agent和 SAP BW 之间的通信。在 SAP Note 3234061 中,您可以查看关于该配置的简要步骤。
本篇博客是记录我在内部测试SAC系统、Cloud Agent和BW中如何实现该功能的详细步骤。整个场景假定ABAP服务器端已经启用了SNC。如果没有,建议您先参考KBA 2979858在ABAP端完成前置配置。
此外,以下所有步骤目前仅在内部系统中进行验证。其中一些将来可能会更改,您可能需要根据不同的系统条件进行调整。
免责声明:所有屏幕截图、命令和其他信息均来自示例测试系统,不代表实际数据(任何相似之处纯属巧合)。
让我们一起开始配置吧!
步骤一:设置本地SAP Crypto Libraries
首先,我们需要在运行 Cloud Agent 的机器上准备 SAP Crypto Libraries。
- 按照本指南将 Cloud Agent更新到最新版本。
- 通过以下两种方法之一获取 SAP Crypto Libraries 文件:
- 您可以在从上面下载的 Cloud Agent 压缩包中提取到的文件夹中找到它们。相对路径为C4AAGENT355_0-80000881win64_x64tp.sap.cryptolib。
- 按照 KBA 1954305 下载 SAP Crypto 库。
- 或者您可以合并这些文件以避免任何潜在问题:)
- 创建一个本地目录来存储 SAP Crypto 库。 (这里我使用C:UsersAdministratorDesktopSAPCRYPTO)
- 将步骤 2 中的所有文件复制到此位置 (C:UsersAdministratorDesktopSAPCRYPTO)
- 创建一个名为“sec”的子目录(C:UsersAdministratorDesktopSAPCRYPTOsec)
- 创建一个名为“cpic”的子目录 (C:UsersAdministratorDesktopSAPCRYPTOcpic)
- 创建 Windows 系统环境变量如下:
Variable name Variable value SNC_LIB C:UsersAdministratorDesktopSAPCRYPTO SECUDIR C:UsersAdministratorDesktopSAPCRYPTOsec CPIC_TRACE C:UsersAdministratorDesktopSAPCRYPTOcpic CPIC_TRACE 0 CPIC_TRACE_DIR C:UsersAdministratorDesktopSAPCRYPTOcpic - 编辑 Windows 系统环境变量 Path 并添加包含 sapcrypto 库的根目录(在本例中为 C:UsersAdministratorDesktopSAPCRYPTO)
- 打开 Windows 开始菜单->Tomcat 配置->登录。然后更改/确保Tomcat的登录用户是操作系统管理员(而不是LocalSystem)。
- 重新启动整个操作系统以确保所有更改都能生效。
步骤二:生成PSE证书
- 打开 Windows 命令行并切换到包含 sapgenpse.exe 的文件夹。(在本例中为 C:UsersAdministratorDesktopSAPCRYPTO)
- 运行命令 sapgenpse gen_pse -v -p <NAME_OF_PSE>
- 将 <NAME_OF_PSE> 更改为您要分配给 PSE 文件的文件名。我将在这里使用 CloudAgent.pse。
- 出现提示时,提供 PSE PIN/密码。
- 出现提示时,为服务器提供一个专有名称。
- 这里我使用 CN=Cloud Agent。
- 您可以使用服务器的 DN。
- 完成后,结果应该类似于此,pse 文件将在 sec 文件夹下生成。
- 运行命令:sapgenpse export_own_cert -x <PSE PIN/Passphrase> -v -p <NAME_OF_PSE> -o <NAME_OF_CLIENT_CERT>
- 将 <PSE PIN/Passphrase> 更改为您刚刚设置的密码。
- 将 <NAME_OF_PSE> 更改为上面的 PSE 文件名。
- 将 <NAME_OF_CLIENT_CERT> 更改为要分配给 CRT 文件的文件名。我使用证书的名称“CloudAgent.crt”
- 完成后,结果应与此类似,并且应在根文件夹 (C:UsersAdministratorDesktopSAPCRYPTO) 中生成 crt 文件。
步骤三:交换证书
导入Cloud Agent证书到SAP BW系统
- 登录BW/ABAP系统并运行STRUST T-code.
- 展开 “SNC (SAPCryptolib)” 然后点击Certificate > Import Certificate.
- 选择之前生成好的CRT证书(CloudAgent.crt) 然后点击绿色对号图标导入。
- 点击 “Add to Certificate list” 把证书添加到SAP PSE文件中。
从SAP系统中导出证书
- 在”Own Certificate” 中双击Subject DN,以选定该证书 (“Certificate”部分将会随之展现该证书详细信息)。
- 点击 “Export Certificate”.
- 为导出证书提供导出路径和文件名 (这里我给它命名为G75.crt)
- 选择”Base64″ 文件格式。
- 点击绿色对号图标导出,然后把文件复制到root文件夹(C:UsersAdministratorDesktopSAPCRYPTO).
- 返回 “Trust Manager” 界面并点击保存图标以完成上面所有的配置更改!(非常重要!!!)
将SNC ACL Entry添加到SAP系统
- 进入T-code SNC0 然后点击”New Entries”.
- 提供一个System ID (例如:CloudAgent)
- 提供一个Cloud Agent证书的SNC name, 以 p: 开头 (这里设置的值应该和Step2.4一致。本文中为 p:CN=CloudAgent).
- 勾选 “Entry for RFC activated,” “Entry for CPIC activated” 以及 “Entry for ext. ID activated” 三个选项。
- 保存然后SNC Data部分的状态应该会变成 “Canonical name defined“.
在Cloud Agent机器上完成信任
- 打开Windows命令行然后切换到包含sapgenpse.exe的文件夹。(C:UsersAdministratorDesktopSAPCRYPTO)
- 运行 sapgenpse maintain_pk -v -a <NAME_OF_SERVER_CERT> -p <NAME_OF_PSE>
- 将 <NAME_OF_SERVER_CERT> 替换成刚才从BW导出的证书(G75.crt)。
- 将 <NAME_OF_PSE>替换成步骤2.2生成的PSE文件(CloudAgent.pse)。
- 填写PSE PIN/Passphrase。
- 完成之后,得到和下图类似的结果:
- 运行 sapgenpse seclogin -x <PSE PIN/Passphrase> -p <NAME_OF_PSE>
- 您应该使用Tomcat的启动用户去运行这个命令。
- 将<PSE PIN/Passphrase>替换成 步骤2.3设置的值。
- 将<NAME_OF_PSE>替换成步骤2.2生成的PSE文件(CloudAgent.pse
- 运行 sapgenpse get_my_name -p <NAME_OF_PSE>
- 运行 sapgenpse maintain_pk -l -p <NAME_OF_PSE>
- 完成之后,得到和下图类似的结果:
- 重启Tomcat.
步骤四:在SAC中启用SNC
-
- 登录 SAC 然后切换到System > Administration > Date Source Configuration.
- 创建或者编辑Cloud agent location.
- 开启 Enable SNC support选项。
- 添加SAP crypto library的完整路径。本文里,该值为 C:UsersAdministratorDesktopSAPCRYPTOsapcrypto.dll
- 输入Cloud Agent的SNC name。该值在步骤三 > Adding SNC ACL Entry in SAP System中设置。本文里该值为p:CN=CloudAgent.
- 选择SNC quality of protection或者使用默认值。
- 切换到SAC > Connections.
- 创建一个新的或者编辑一个已存的BW导入数据连接。
- 选择我们刚刚已经启用SNC的Cloud agent location。
- 勾选Enable Secure Network Communication (SNC)。
- 属于BW系统的SNC name. 你可以在STRUTS的subject DN中或者在命令sapgenpse maintain_pk -v -a <NAME_OF_SERVER_CERT> -p <NAME_OF_PSE>的结果中找到这个值。本文中该值为p:CN=G75 OU=XX C=XX。
- 填写其他必要信息并保存。
之后,您就可以在SNC的保护下使用此连接创建模型。
如果您有任何进一步的问题,请在这里留言!
Subscribe
Login
Please login to comment
0 Comments