你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
本文提供用于部署 SAP 数据连接器代理的命令行选项。 对于典型的部署,我们建议使用 门户 而不是命令行,因为只能通过命令行管理通过命令行安装的数据连接器代理。
但是,如果使用配置文件来存储凭据而不是Azure 密钥保管库,或者如果你是想要手动部署数据连接器的高级用户(例如在 Kubernetes 群集中),请改用本文中的过程。
虽然可以在一台计算机上运行多个数据连接器代理,但建议仅从一个数据连接器代理开始,监视性能,然后缓慢增加连接器的数量。 我们还建议 安全 团队在 SAP BASIS 团队的帮助下执行此过程。
注意
本文仅与数据连接器代理相关,与 SAP 无代理数据连接器无关。
重要
根据世纪互联发布的公告,所有Microsoft Sentinel功能将于 2026 年 8 月 18 日在世纪互联区域运营的Azure正式停用。 由于即将停用,客户无法再将新订阅加入服务。
我们建议客户与由世纪互联运营的Microsoft Azure的帐户代表合作,评估此次停用对其自身运营的影响。
先决条件
在部署数据连接器之前,请确保 创建虚拟机并配置对凭据的访问权限。
如果使用 SNC 进行安全连接,请确保 SAP 系统配置正确,然后在部署数据连接器代理之前 准备 kickstart 脚本,以便与 SNC 进行安全通信 。
有关详细信息,请参阅 SAP 文档 和 用于 RFC 集成的 SAP SNC 入门 - SAP 博客。
使用托管标识或已注册的应用程序部署数据连接器代理
此过程介绍如何创建新的代理,并通过命令行将其连接到 SAP 系统,并使用托管标识或已注册Microsoft Entra ID的应用程序进行身份验证。
如果使用的是 SNC,请确保已完成首先 准备用于与 SNC 进行安全通信的 kickstart 脚本 。
如果使用配置文件来存储凭据,请参阅 改为使用配置文件部署数据连接器 。
若要部署数据连接器代理,请执行以下操作:
下载并运行部署 kickstart 脚本:
对于托管标识,请使用以下命令选项之一:
对于Azure公有商业云:
wget -O sapcon-sentinel-kickstart.sh https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/sapcon-sentinel-kickstart.sh && bash ./sapcon-sentinel-kickstart.sh对于由世纪互联运营的Microsoft Azure,请将 添加到
--cloud mooncake复制的命令的末尾。对于 Azure 政府 - US,请将 添加到
--cloud fairfax复制的命令的末尾。
对于已注册的应用程序,请使用以下命令从 Microsoft Sentinel GitHub 存储库下载部署 kickstart 脚本并将其标记为可执行:
wget https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/sapcon-sentinel-kickstart.sh chmod +x ./sapcon-sentinel-kickstart.sh运行脚本,指定在前面步骤中复制的应用程序 ID、机密 (“密码”) 、租户 ID 和密钥保管库名称。 例如:
./sapcon-sentinel-kickstart.sh --keymode kvsi --appid aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa --appsecret ssssssssssssssssssssssssssssssssss -tenantid bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb -kvaultname <key vault name>若要配置安全的 SNC 配置,请指定以下基参数:
--use-snc--cryptolib <path to sapcryptolib.so>--sapgenpse <path to sapgenpse>--server-cert <path to server certificate public key>
如果客户端证书采用 .crt 或 .key 格式,请使用以下开关:
--client-cert <path to client certificate public key>--client-key <path to client certificate private key>
如果客户端证书采用 .pfx 或 .p12 格式,请使用以下开关:
--client-pfx <pfx filename>--client-pfx-passwd <password>
如果客户端证书是由企业 CA 颁发的,请为信任链中的每个 CA 添加以下开关:
--cacert <path to ca certificate>
例如:
wget https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/sapcon-sentinel-kickstart.sh chmod +x ./sapcon-sentinel-kickstart.sh --use-snc --cryptolib /home/azureuser/libsapcrypto.so --sapgenpse /home/azureuser/sapgenpse --client-cert /home/azureuser/client.crt --client-key /home/azureuser/client.key --cacert /home/azureuser/issuingca.crt --cacert /home/azureuser/rootca.crt --server-cert /home/azureuser/server.crt
该脚本更新 OS 组件,安装 Azure CLI 和 Docker 软件以及其他所需的实用工具, (jq、netcat、curl) ,并提示输入配置参数值。 为脚本提供额外的参数,以最大程度地减少提示数或自定义容器部署。 有关可用命令行选项的详细信息,请参阅 Kickstart 脚本参考。
按照屏幕上的说明 输入 SAP 和密钥保管库详细信息并完成部署。 部署完成后,将显示一条确认消息:
The process has been successfully completed, thank you!记下脚本输出中的 Docker 容器名称。 若要查看 VM 上的 docker 容器列表,请运行:
docker ps -a在下一步中,将使用 docker 容器的名称。
部署 SAP 数据连接器代理需要使用 Microsoft Sentinel 业务应用程序代理操作员和读取者角色,向代理的 VM 标识授予对启用 Microsoft Sentinel 的 Log Analytics 工作区的特定权限。
若要在此步骤中运行命令,你必须是启用了 Microsoft Sentinel 的 Log Analytics 工作区的资源组所有者。 如果你不是工作区的资源组所有者,也可以在以后执行此过程。
将Microsoft Sentinel业务应用程序代理操作员和读取者角色分配给 VM 的标识:
通过运行以下命令获取代理 ID,并将
<container_name>占位符替换为使用 kickstart 脚本创建的 docker 容器的名称:docker inspect <container_name> | grep -oP '"SENTINEL_AGENT_GUID=\K[^"]+例如,返回的代理 ID 可能是
234fba02-3b34-4c55-8c0e-e6423ceb405b。通过运行以下命令,分配Microsoft Sentinel业务应用程序代理操作员和读取者角色:
az role assignment create --assignee-object-id <Object_ID> --role --assignee-principal-type ServicePrincipal "Microsoft Sentinel Business Applications Agent Operator" --scope /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP_NAME>/providers/microsoft.operationalinsights/workspaces/<WS_NAME>/providers/Microsoft.SecurityInsights/BusinessApplicationAgents/<AGENT_IDENTIFIER> az role assignment create --assignee-object-id <Object_ID> --role --assignee-principal-type ServicePrincipal "Reader" --scope /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP_NAME>/providers/microsoft.operationalinsights/workspaces/<WS_NAME>/providers/Microsoft.SecurityInsights/BusinessApplicationAgents/<AGENT_IDENTIFIER>按如下所示替换占位符值:
占位符 值 <OBJ_ID>VM 标识对象 ID。
若要在 Azure中查找 VM 标识对象 ID,请执行以下操作:
- 对于托管标识,对象 ID 在 VM 的 “标识 ”页上列出。
- 对于服务主体,请转到 Azure 中的企业应用程序。 选择“ 所有应用程序 ”,然后选择 VM。 对象 ID 显示在 “概述 ”页上。<SUB_ID>为 Microsoft Sentinel启用 Log Analytics 工作区的订阅 ID <RESOURCE_GROUP_NAME>为 Microsoft Sentinel启用的 Log Analytics 工作区的资源组名称 <WS_NAME>为Microsoft Sentinel启用的 Log Analytics 工作区的名称 <AGENT_IDENTIFIER>在 上一步中运行命令后显示的代理 ID。 若要将 Docker 容器配置为自动启动,请运行以下命令,并将
<container-name>占位符替换为容器的名称:docker update --restart unless-stopped <container-name>
部署过程生成一个包含 SAP 数据连接器代理的配置详细信息 的 systemconfig.json 文件。 该文件位于 /sapcon-app/sapcon/config/system VM 上的 目录中。
使用配置文件部署数据连接器
Azure 密钥保管库是存储身份验证凭据和配置数据的推荐方法。 如果阻止使用 Azure 密钥保管库,此过程介绍如何改为使用配置文件部署数据连接器代理容器。
如果使用的是 SNC,请确保已完成首先 准备用于与 SNC 进行安全通信的 kickstart 脚本 。
如果使用托管标识或已注册的应用程序,请参阅 改为使用托管标识或已注册的应用程序部署数据连接器代理 。
若要部署数据连接器代理,请执行以下操作:
创建要部署代理的虚拟机。
将 SAP NetWeaver SDK 传输到要安装代理的计算机。
运行以下命令,从 Microsoft Sentinel GitHub 存储库下载部署 Kickstart 脚本并将其标记为可执行:
wget https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/sapcon-sentinel-kickstart.sh chmod +x ./sapcon-sentinel-kickstart.sh运行脚本:
./sapcon-sentinel-kickstart.sh --keymode cfgf该脚本更新 OS 组件,安装 Azure CLI 和 Docker 软件以及其他所需的实用工具, (jq、netcat、curl) ,并提示输入配置参数值。 根据需要向脚本提供额外的参数,以最大程度地减少提示数或自定义容器部署。 有关详细信息,请参阅 Kickstart 脚本参考。
按照屏幕上的说明 输入请求的详细信息并完成部署。 部署完成后,将显示一条确认消息:
The process has been successfully completed, thank you!记下脚本输出中的 Docker 容器名称。 若要查看 VM 上的 docker 容器列表,请运行:
docker ps -a在下一步中,将使用 docker 容器的名称。
部署 SAP 数据连接器代理需要使用 Microsoft Sentinel 业务应用程序代理操作员和读取者角色,向代理的 VM 标识授予对启用 Microsoft Sentinel 的 Log Analytics 工作区的特定权限。
若要运行此步骤中的命令,你必须是工作区的资源组所有者。 如果你不是工作区的资源组所有者,也可以在以后执行此步骤。
将Microsoft Sentinel业务应用程序代理操作员和读取者角色分配给 VM 的标识:
通过运行以下命令获取代理 ID,并将
<container_name>占位符替换为使用 Kickstart 脚本创建的 docker 容器的名称:docker inspect <container_name> | grep -oP '"SENTINEL_AGENT_GUID=\K[^"]+'例如,返回的代理 ID 可能是
234fba02-3b34-4c55-8c0e-e6423ceb405b。通过运行以下命令,分配Microsoft Sentinel业务应用程序代理操作员和读取者角色:
az role assignment create --assignee-object-id <Object_ID> --role --assignee-principal-type ServicePrincipal "Microsoft Sentinel Business Applications Agent Operator" --scope /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP_NAME>/providers/microsoft.operationalinsights/workspaces/<WS_NAME>/providers/Microsoft.SecurityInsights/BusinessApplicationAgents/<AGENT_IDENTIFIER> az role assignment create --assignee-object-id <Object_ID> --role --assignee-principal-type ServicePrincipal "Reader" --scope /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP_NAME>/providers/microsoft.operationalinsights/workspaces/<WS_NAME>/providers/Microsoft.SecurityInsights/BusinessApplicationAgents/<AGENT_IDENTIFIER>按如下所示替换占位符值:
占位符 值 <OBJ_ID>VM 标识对象 ID。
若要在 Azure 中查找 VM 标识对象 ID:对于托管标识,该对象 ID 在 VM 的“标识”页上列出。 对于服务主体,请转到 Azure 中的企业应用程序。 选择“ 所有应用程序 ”,然后选择 VM。 对象 ID 显示在 “概述 ”页上。<SUB_ID>为 Microsoft Sentinel 启用的 Log Analytics 工作区的订阅 ID <RESOURCE_GROUP_NAME>为 Microsoft Sentinel启用的 Log Analytics 工作区的资源组名称 <WS_NAME>为Microsoft Sentinel启用的 Log Analytics 工作区的名称 <AGENT_IDENTIFIER>在 上一步中运行命令后显示的代理 ID。
运行以下命令,将 Docker 容器配置为自动启动。
docker update --restart unless-stopped <container-name>
部署过程生成一个包含 SAP 数据连接器代理的配置详细信息 的 systemconfig.json 文件。 该文件位于 /sapcon-app/sapcon/config/system VM 上的 目录中。
准备 kickstart 脚本,以便与 SNC 进行安全通信
此过程介绍如何准备部署脚本,以配置使用 SNC 与 SAP 系统进行安全通信的设置。 如果使用 SNC,则必须在部署数据连接器代理之前执行此过程。
配置容器以便与 SNC 进行安全通信:
将 libsapcrypto.so 和 sapgenpse 文件传输到要在其中创建容器的系统。
将客户端证书(包括私钥和公钥)传输到要在其中创建容器的系统。
客户端证书和密钥可以是 .p12、 .pfx 或 Base64 .crt , .key 格式。
仅将服务器证书 (公钥) 传输到要在其中创建容器的系统。
服务器证书必须采用 Base64 .crt 格式。
如果客户端证书是由企业证书颁发机构颁发的,请将颁发 CA 证书和根 CA 证书转移到要在其中创建容器的系统。
从 Microsoft Sentinel GitHub 存储库获取 kickstart 脚本:
wget https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/sapcon-sentinel-kickstart.sh更改脚本的权限,使其可执行:
chmod +x ./sapcon-sentinel-kickstart.sh
有关详细信息,请参阅 sap 应用程序数据连接器代理Microsoft Sentinel的 Kickstart 部署脚本参考。
优化 SAP PAHI 表监视 (建议)
为了获得最佳结果来监视 SAP PAHI 表,请打开 systemconfig.json 文件进行编辑,并在 部分下 [ABAP Table Selector](reference-systemconfig-json.md#abap-table-selector) 启用 PAHI_FULL 和 PAHI_INCREMENTAL 参数。
有关详细信息,请参阅 Systemconfig.json文件引用 和 验证 PAHI 表是否定期更新。
检查连接性和运行状况
部署 SAP 数据连接器代理后,检查代理的运行状况和连接。 有关详细信息,请参阅 监视 SAP 系统的运行状况和角色。
后续步骤
部署连接器后,继续为 SAP 应用程序内容部署Microsoft Sentinel解决方案: