從命令列部署 SAP 資料連接器代理程式
本文提供部署 SAP 資料連接器代理程式的命令行選項。 針對一般部署,我們建議您使用入口 網站 ,而不是命令行,因為透過命令行安裝的數據連接器代理程式只能透過命令行進行管理。
不過,如果您使用組態檔來儲存認證,而不是 Azure 金鑰保存庫,或者如果您是想要手動部署數據連接器的進階使用者,例如在 Kubernetes 叢集中,請改用本文中的程式。
雖然您可以在單一計算機上執行多個數據連接器代理程式,但我們建議您從一部計算機開始,監視效能,然後慢慢增加連接器數目。 我們也建議您的安全性小組在SAP BASIS小組的協助下執行此程式。
注意
本文僅與數據連接器代理程序相關,且與 SAP 無代理程式解決方案無關(有限預覽)。
必要條件
在部署數據連接器之前,請務必 建立虛擬機並設定認證存取權。
如果您使用 SNC 進行安全連線,請確定 SAP 系統已正確設定,然後 準備啟動腳本,以在部署數據連接器代理程式之前與 SNC 進行安全通訊。
如需詳細資訊,請參閱 SAP 檔和開始使用 SAP SNC 進行 RFC 整合 - SAP 部落格。
使用受控識別或已註冊的應用程式部署數據連接器代理程式
此程式描述如何建立新的代理程式,並透過命令行將它連線到 SAP 系統,並使用受控識別或Microsoft Entra ID 註冊的應用程式進行驗證。
如果您使用 SNC,請確定您已完成 準備啟動腳本,以便先與 SNC 進行安全通訊。
如果您使用組態檔來儲存認證,請參閱 改用組態檔 部署數據連接器。
若要部署您的資料連接器代理程式:
下載並執行部署啟動文稿:
針對受控識別,請使用下列其中一個命令選項:
針對 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
對於由 21Vianet 營運的 Azure Microsoft,請在複製的命令結尾處加上
--cloud mooncake
。對於 Azure Government - US,請在複製的命令結尾處加上
--cloud fairfax
。
對於已註冊的應用程式,請使用下列命令,從 Microsoft sentinel GitHub 存放庫下載部署啟動腳本,並將其標示為可執行檔:
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 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 Business Applications Agent 操作員 和 讀取者 角色,將特定許可權授與代理程式的 VM 身分識別給已啟用 Microsoft Sentinel 的 Log Analytics 工作區。
若要在此步驟中執行命令,您必須是已啟用 Microsoft Sentinel 之 Log Analytics 工作區的資源群組擁有者。 如果您不是工作區上的資源群組擁有者,也可以稍後再執行此程序。
將 Microsoft Sentinel Business Applications 代理程式操作員和讀者角色指派給 VM 的身分識別:
執行下列命令以取得代理程式識別碼,並將 佔位元元取代
<container_name>
為您以kickstart腳本建立的 Docker 容器名稱:docker inspect <container_name> | grep -oP '"SENTINEL_AGENT_GUID=\K[^"]+
例如,傳回的代理程式識別碼可能是
234fba02-3b34-4c55-8c0e-e6423ceb405b
。執行下列命令,以指派 Microsoft Sentinel Business Applications 代理程式操作員和讀者角色:
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 身分識別物件識別碼。
若要在 Azure 中尋找您的 VM 身分識別物件識別碼:
- 針對受控識別,對象標識碼會列在 VM 的 [身分 識別] 頁面上。
- 針對服務主體,請移至 Azure 中的企業應用程式 。 選取 [所有應用程式 ],然後選取您的 VM。 物件識別碼會顯示在 [ 概觀 ] 頁面上。<SUB_ID>
已啟用 sentinel Microsoft Log Analytics 工作區的訂用帳戶標識碼 <RESOURCE_GROUP_NAME>
已啟用 Microsoft Sentinel 之 Log Analytics 工作區的資源組名 <WS_NAME>
已啟用 Microsoft Sentinel 的 Log Analytics 工作區名稱 <AGENT_IDENTIFIER>
執行上一個步驟中的命令後顯示的代理程式識別碼。 若要將 Docker 容器設定為自動啟動,請執行下列命令 (請將
<container-name>
預留位置取代為您的容器名稱):docker update --restart unless-stopped <container-name>
部署程式會產生systemconfig.json檔案,其中包含 SAP 數據連接器代理程式的組態詳細數據。 檔案位於 /sapcon-app/sapcon/config/system
VM 上的目錄中。
使用組態檔部署數據連接器
Azure 金鑰保存庫 是儲存驗證認證和組態數據的建議方法。 如果您無法使用 Azure 金鑰保存庫,此程式說明如何使用組態檔來部署數據連接器代理程式容器。
如果您使用 SNC,請確定您已完成 準備啟動腳本,以便先與 SNC 進行安全通訊。
如果您使用受控識別或已註冊的應用程式,請參閱 改用受控識別或已註冊的應用程式 部署數據連接器代理程式。
若要部署您的資料連接器代理程式:
建立用來部署代理程式的虛擬機器。
將 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 Business Applications Agent 操作員 和 讀取者 角色,將特定許可權授與代理程式的 VM 身分識別給已啟用 Microsoft Sentinel 的 Log Analytics 工作區。
若要在此步驟中執行命令,您必須是工作區上的資源群組擁有者。 如果您不是工作區上的資源群組擁有者,也可以稍後再執行此步驟。
將 Microsoft Sentinel Business Applications 代理程式操作員和讀者角色指派給 VM 的身分識別:
執行下列命令以取得代理程式識別碼,並將 佔位元元取代
<container_name>
為您以 Kickstart 腳本建立的 Docker 容器名稱:docker inspect <container_name> | grep -oP '"SENTINEL_AGENT_GUID=\K[^"]+'
例如,傳回的代理程式識別碼可能是
234fba02-3b34-4c55-8c0e-e6423ceb405b
。執行下列命令,以指派 Microsoft Sentinel Business Applications 代理程式操作員和讀者角色:
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 身分識別物件識別碼。
若要在 Azure 中尋找您的 VM 身分識別物件識別碼:針對受控識別,對象識別碼會列在 VM 的 [身 分識別] 頁面上。 針對服務主體,請移至 Azure 中的企業應用程式 。 選取 [所有應用程式 ],然後選取您的 VM。 物件識別碼會顯示在 [ 概觀 ] 頁面上。<SUB_ID>
已啟用 Microsoft Sentinel 之 Log Analytics 工作區的訂用帳戶標識碼 <RESOURCE_GROUP_NAME>
已啟用 Microsoft Sentinel 之 Log Analytics 工作區的資源組名 <WS_NAME>
已啟用 Microsoft Sentinel 的 Log Analytics 工作區名稱 <AGENT_IDENTIFIER>
執行上一個步驟中的命令後顯示的代理程式識別碼。
執行下列命令,將 Docker 容器設定為自動啟動。
docker update --restart unless-stopped <container-name>
部署程式會產生systemconfig.json檔案,其中包含 SAP 數據連接器代理程式的組態詳細數據。 檔案位於 /sapcon-app/sapcon/config/system
VM 上的目錄中。
準備啟動腳本,以安全地與SNC通訊
此程式說明如何準備部署腳本,以設定設定,以使用SNC與 SAP 系統進行安全通訊。 如果您使用 SNC,您必須先執行此程式,才能部署資料連接器代理程式。
若要設定容器,以便與SNC進行安全通訊:
將 libsapcrypto.so 和 sapgenpse 檔案傳送至您要建立容器的系統。
將客戶端憑證,包括私鑰和公鑰傳輸至您要建立容器的系統。
用戶端憑證和金鑰可以是 .p12、 .pfx 或Base64 .crt 和 .key 格式。
將伺服器證書(僅限公鑰)傳送至您要建立容器的系統。
伺服器證書必須是Base64.crt 格式。
如果客戶端憑證是由企業證書頒發機構單位所簽發,請將發行 CA 和根 CA 憑證轉移至您要建立容器的系統。
從 Microsoft Sentinel GitHub 存放庫取得啟動腳稿:
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 解決方案: