共用方式為


部署和設定裝載 SAP 資料連接器代理程式的容器

本文說明如何部署裝載 SAP 資料連接器代理程式的容器,以及如何將其用來建立 SAP 系統的連線。 必須執行此雙步驟程序,才能將 SAP 資料擷取至 Microsoft Sentinel 中,作為適用於 SAP 應用程式的 Microsoft Sentinel 解決方案的一部分。

部署容器和建立 SAP 系統連線的建議方法,是透過 Azure 入口網站。 本文會說明此方法,此外在 YouTube 上的這段影片中也有相關示範。 本文也說明從命令列呼叫 kickstart 指令碼來完成這些目標的方法。

或者,您可以手動部署資料連接器 Docker 容器代理程式,例如,在 Kubernetes 叢集中。 如需詳細資訊,請開啟支援票證。

重要

透過 Azure 入口網站部署容器及建立 SAP 系統連線,目前屬於預覽功能。 Azure 預覽補充條款 包含適用於 Azure 功能 (搶鮮版 (Beta)、預覽版,或尚未發行的版本) 的其他法律條款。

Microsoft Sentinel 現已在 Microsoft Defender 入口網站中 Microsoft 統一的安全性作業平台中正式推出。 如需詳細資訊,請參閱 Microsoft Defender 入口網站中的 Microsoft Sentinel

部署里程碑

適用於 SAP® 應用程式的 Microsoft Sentinel 解決方案的部署分成以下幾部分:

  1. 部署概觀

  2. 部署必要條件

  3. 跨多個工作區使用 SAP 解決方案 (預覽)

  4. 準備 SAP 環境

  5. 設定稽核

  6. 部署資料連接器代理程式 (您在這裡)

  7. 從內容中樞部署適用於 SAP® 應用程式的 Microsoft Sentinel 解決方案

  8. 設定適用於 SAP® 應用程式的 Microsoft Sentinel 解決方案

  9. 選用部署步驟

資料連接器代理程式部署概觀

若要讓適用於 SAP 應用程式的 Microsoft Sentinel 解決方案正確運作,您必須先將 SAP 資料放入 Microsoft Sentinel 中。 若要達成此目的,您需要部署解決方案的 SAP 資料連接器代理程式。

資料連接器代理程式會在 Linux 虛擬機器 (VM) 上以容器的形式執行。 此 VM 可以裝載於 Azure、第三方雲端或內部部署環境。 建議您使用 Azure 入口網站 (預覽版) 來安裝和設定此容器;不過,您可以選擇使用 kickstart 指令碼來部署容器。 如果您想要手動部署資料連接器 Docker 容器代理程式 (例如,在 Kubernetes 叢集中),請開啟支援票證以取得詳細資料。

代理程式會連線至您的 SAP 系統,以從中提取記錄和其他資料,然後將這些記錄傳送至您的 Microsoft Sentinel 工作區。 若要這樣做,代理程式必須向 SAP 系統進行驗證 — 這就是您在上一個步驟中為 SAP 系統中的代理程式建立使用者和角色的原因。

對於代理程式設定資訊 (包括您的 SAP 驗證秘密) 的儲存方式與位置,您有數種選擇。 決定要使用何種選擇時,您部署 VM 的位置和決定要使用哪個 SAP 驗證機制,可能會產生影響。 以下是依遞減喜好設定順序的選項:

  • 透過 Azure 系統指派的受控識別存取的 Azure Key Vault
  • 透過 Microsoft Entra ID 已註冊的應用程式服務主體存取的 Azure Key Vault
  • 純文字「設定檔」

在前述任何案例中,您都有額外的選項可使用 SAP 的安全網路通訊 (SNC) 和 X.509 憑證進行驗證。 此選項可提供較高層級的驗證安全性,但適用的案例較有限。

資料連接器代理程式容器的部署包含下列步驟:

  1. 建立虛擬機器並設定 SAP 系統認證的存取權。 此程序可能必須由組織中的其他小組執行,但必須在本文所述的其他程序之前執行。

  2. 設定和部署資料連接器代理程式

  3. 設定代理程式以連線至 SAP 系統

必要條件

在部署資料連接器代理程式之前,請確定已符合所有部署必要條件。 如需詳細資訊,請參閱部署適用於 SAP 應用程式的 Microsoft Sentinel 解決方案的必要條件

此外,如果您打算使用安全網路通訊 (SNC) 透過安全連線擷取 NetWeaver/ABAP 記錄,請執行相關準備步驟。 如需詳細資訊,請參閱使用 SNC 部署適用於 SAP 的 Microsoft Sentinel 資料連接器

建立虛擬機器並設定認證的存取權

理想情況下,您的 SAP 設定和驗證祕密可以且應該儲存在 Azure Key Vault 中。 存取金鑰保存庫的方式取決於您 VM 的部署位置:

注意

此程序可能必須由組織中的其他小組執行,但必須在本文所述的其他程序之前執行。

根據您預計要如何儲存及存取驗證認證和設定資料,選取下列其中一個索引標籤。

使用 Azure VM 建立受控識別

  1. 執行下列命令,在 Azure 中建立 VM (請將 <placeholders> 替代為環境中的實際名稱):

    az vm create --resource-group <resource group name> --name <VM Name> --image Canonical:0001-com-ubuntu-server-focal:20_04-lts-gen2:latest --admin-username <azureuser> --public-ip-address "" --size  Standard_D2as_v5 --generate-ssh-keys --assign-identity --role <role name> --scope <subscription Id>
    
    

    如需詳細資訊,請參閱快速入門:使用 Azure CLI 快速建立 Linux 虛擬機器

    重要

    建立 VM 之後,請務必套用組織中適用的任何安全性需求和強化程序。

    上述命令將會建立 VM 資源,並產生如下所示的輸出:

    {
      "fqdns": "",
      "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/resourcegroupname/providers/Microsoft.Compute/virtualMachines/vmname",
      "identity": {
        "systemAssignedIdentity": "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy",
        "userAssignedIdentities": {}
      },
      "location": "westeurope",
      "macAddress": "00-11-22-33-44-55",
      "powerState": "VM running",
      "privateIpAddress": "192.168.136.5",
      "publicIpAddress": "",
      "resourceGroup": "resourcegroupname",
      "zones": ""
    }
    
  2. 複製 systemAssignedIdentity GUID,因為會將其用於後續步驟。 這是您的受控識別

建立金鑰保存庫

此程序說明如何建立金鑰保存庫來儲存代理程式設定資訊,包括您的 SAP 驗證秘密。 如果您要使用現有的金鑰保存庫,請直接跳至步驟 2

若要建立金鑰保存庫

  1. 執行下列命令 (請將 <placeholder> 值替換為實際名稱)。

    az keyvault create \
      --name <KeyVaultName> \
      --resource-group <KeyVaultResourceGroupName>
    
  2. 複製金鑰保存庫的名稱及其資源群組的名稱。 當您在後續步驟中指派金鑰保存庫存取權限及執行部署指令碼時,將需要這些資料。

指派金鑰保存庫存取權限

  1. 在您的金鑰保存庫中,將秘密範圍內的下列 Azure 角色型存取控制或保存庫存取原則權限指派給您先前建立和複製的身分識別

    權限模型 需要的權限
    Azure 角色型存取控制 \(部分機器翻譯\) Key Vault 祕密使用者
    保存庫存取原則 %

    使用入口網站中的選項來指派權限,或執行下列其中一個命令,將金鑰保存庫秘密權限指派給您的身分識別 (請將 <placeholder> 值替換為實際名稱)。 針對您所建立的身分識別類型,選取對應的索引標籤。

    根據您慣用的 Key Vault 權限模型執行下列其中一個命令,將金鑰保存庫秘密權限指派給 VM 系統指派的受控識別。 在命令中指定的原則,可讓 VM 列出及讀取金鑰保存庫中的秘密。

    • Azure 角色型存取控制權限模型

      az role assignment create --assignee-object-id <ManagedIdentityId> --role "Key Vault Secrets User" --scope /subscriptions/<KeyVaultSubscriptionId>/resourceGroups/<KeyVaultResourceGroupName> /providers/Microsoft.KeyVault/vaults/<KeyVaultName>
      
    • 保存庫存取原則權限模型

      az keyvault set-policy -n <KeyVaultName> -g <KeyVaultResourceGroupName> --object-id <ManagedIdentityId> --secret-permissions get list
      
  2. 在相同的金鑰保存庫中,將秘密範圍內的下列 Azure 角色型存取控制或保存庫存取原則權限指派給設定資料連接器代理程式的使用者:

    權限模型 需要的權限
    Azure 角色型存取控制 \(部分機器翻譯\) Key Vault 祕密人員
    保存庫存取原則

    使用入口網站中的選項來指派權限,或執行下列其中一個命令,將金鑰保存庫秘密權限指派給使用者 (請將 <placeholder> 值替換為實際名稱):

    • Azure 角色型存取控制權限模型

      az role assignment create --role "Key Vault Secrets Officer" --assignee <UserPrincipalName> --scope /subscriptions/<KeyVaultSubscriptionId>/resourceGroups/<KeyVaultResourceGroupName>/providers/Microsoft.KeyVault/vaults/<KeyVaultName>
      
    • 保存庫存取原則權限模型

      az keyvault set-policy -n <KeyVaultName> -g <KeyVaultResourceGroupName> --upn <UserPrincipalName>--secret-permissions get list set delete
      

部署資料連線器代理程式

現在您已建立 VM 和 Key Vault,下一個步驟是建立新的代理程式並連線至其中一個 SAP 系統。

  1. 以具有 sudo 權限的使用者身分,登入用來安裝代理程式的新建 VM

  2. SAP NetWeaver SDK 下載或傳輸至機器。

根據您使用受控識別還是已註冊的應用程式來存取金鑰保存庫,以及您使用 Azure 入口網站還是命令列來部署代理程式,執行下列其中一組程序:

提示

Azure 入口網站只能與 Azure 金鑰保存庫搭配使用。 如果要改用組態檔,請使用相關的命令列選項

Azure 入口網站選項 (預覽)

根據您用來存取金鑰保存庫的身分識別類型,選取下列其中一個索引標籤。

注意

如果您先前以手動方式或使用 kickstart 指令碼來安裝 SAP 連接器代理程式,則無法在 Azure 入口網站中設定或管理這些代理程式。 如果您想要使用入口網站來設定和更新代理程式,必須使用入口網站重新安裝現有的代理程式。

此程序說明如何透過 Azure 入口網站建立新的代理程式,並使用受控識別進行驗證:

  1. 從 Microsoft Sentinel 導覽功能表中,選取 [資料連接器]

  2. 在搜尋列中,輸入 SAP

  3. 從搜尋結果中選取 [適用於 SAP 的 Microsoft Sentinel],然後選取 [開啟連接器頁面]

  4. 若要從 SAP 系統中收集資料,必須遵循以下兩個步驟:

    1. 建立新的代理程式
    2. 將代理程式連線至新的 SAP 系統

建立新的代理程式

  1. 在 [設定] 區域中,選取 [新增代理程式 (預覽)]

    此螢幕擷取畫面顯示新增 SAP API 型收集器代理程式的指示。

  2. 在右側的 [建立收集器代理程式] 底下,定義代理程式詳細資料:

    名稱 描述
    代理程式名稱 輸入代理程式名稱,包括下列任何字元:
    • a-z
    • A-Z
    • 0-9
    • _ (底線)
    • . (period)
    • - (虛線)
    訂用帳戶 / 金鑰保存庫 從各自的下拉式清單中選取 [訂用帳戶] 和 [金鑰保存庫]
    代理程式 VM 上的 NWRFC SDK zip 檔案路徑 輸入 VM 中包含 SAP NetWeaver 遠端函式呼叫 (RFC) 軟體開發套件 (SDK) 封存 (.zip 檔案) 的路徑。

    請確定此路徑包含下列語法的 SDK 版本號碼:<path>/NWRFC<version number>.zip。 例如: /src/test/nwrfc750P_12-70002726.zip
    啟用 SNC 連線支援 選取此選項,可使用安全網路通訊 (SNC) 透過安全連線擷取 NetWeaver/ABAP 記錄。

    如果您選取此選項,請在 [代理程式 VM 上的 SAP 密碼編譯程式庫路徑] 底下,輸入包含 sapgenpse 二進位檔和 libsapcrypto.so 程式庫的路徑。
    對 Azure Key Vault 進行驗證 若要使用受控識別對金鑰保存庫進行驗證,請保留已選取的預設 [受控識別] 選項。

    您必須事先設定受控識別。 如需詳細資訊,請參閱建立虛擬機器並設定認證的存取權

    注意

    如果您想要使用 SNC 連線,請務必在此階段選取 [啟用 SNC 連線支援],因為您無法在代理程式部署完成後再回過頭啟用 SNC 連線。 如需詳細資訊,請參閱使用 SNC 部署適用於 SAP 的 Microsoft Sentinel 資料連接器

    例如:

    [建立收集器代理程式] 區域的螢幕擷取畫面。

  3. 選取 [建立] 並檢閱建議,然後再完成部署:

    代理程式部署最後階段的螢幕擷取畫面。

  4. 部署 SAP 資料連接器代理程式時,您必須使用 Microsoft Sentinel Business Applications 代理程式操作員讀者角色,為代理程式的 VM 身分識別授與 Microsoft Sentinel 工作區的特定權限。

    若要執行此步驟中的命令,您必須是 Microsoft Sentinel 工作區上的資源群組擁有者。 如果您不是工作區上的資源群組擁有者,也可以在代理程式部署完成後執行此程序。

    複製步驟 1 中的角色指派命令,並在代理程式 VM 上加以執行 (請將 Object_ID 預留位置取代為您的 VM 身分識別物件識別碼)。 例如:

    此螢幕擷取畫面顯示步驟 1 中的命令的 [複製] 圖示。

    若要在 Azure 中尋找您的 VM 身分識別物件識別碼,請移至 [企業應用程式]>[所有應用程式],然後選取您的 VM 名稱。 複製 [物件識別碼] 欄位的值,以用於您先前複製的命令。

    這些命令會將 Microsoft Sentinel Business Applications 代理程式操作員讀者 Azure 角色指派給 VM 的受控識別,僅包括工作區中指定代理程式的資料範圍。

    重要

    透過 CLI 指派 Microsoft Sentinel Business Applications 代理程式操作員讀者角色時,只會在工作區中指定代理程式的資料範圍內指派該角色。 這是最安全的選項,因此建議使用。

    如果您必須透過 Azure 入口網站指派角色,建議在小範圍內指派角色,例如,僅在 Microsoft Sentinel 工作區上指派。

  5. 選取步驟 2 中的代理程式部署命令旁的 [複製 ] [複製] 圖示的螢幕擷取畫面。。 例如:

    此螢幕擷取畫面顯示要在步驟 2 中複製的代理程式命令。

  6. 在複製命令列後,選取 [關閉]

    相關的代理程式資訊會部署到 Azure Key Vault 中,且新的代理程式會顯示在 [新增 API 型收集器代理程式] 底下的資料表中。

    在此階段中,代理程式的 [健全狀態][未完成安裝。請依照指示操作]。 代理程式成功安裝後,狀態會變更為 [代理程式狀況良好]。 此更新可能需要 10 分鐘的時間。 例如:

    此螢幕擷取畫面顯示 SAP 資料連接器頁面上的 API 型收集器代理程式健全狀態。

    注意

    資料表中僅針對您透過 Azure 入口網站部署的代理程式顯示其代理程式名稱和健全狀態。 此處不會顯示使用命令列部署的代理程式。

  7. 在您預計要安裝代理程式的 VM 上開啟終端機,然後執行您在上一個步驟中複製的代理程式部署命令

    指令碼會更新 OS 元件,並安裝 Azure CLI、Docker 軟體和其他必要的公用程式,例如 jq、netcat 和 curl。

    如有必要,可以對指令碼提供其他參數,以自訂容器部署。 如需可用命令列選項的詳細資訊,請參閱 Kickstart 指令碼參考

    如果您需要再次複製命令,請選取 [健康情況] 資料行右側的 [檢視] [檢視] 圖示的螢幕擷取畫面。,並複製右下方的代理程式部署命令旁的命令。

連線至新的 SAP 系統

任何人若要將新連線新增至 SAP 系統,都必須具有對儲存 SAP 認證的金鑰保存庫的寫入權限。 如需詳細資訊,請參閱建立虛擬機器並設定認證的存取權

  1. 在 [設定] 區域中,選取 [新增系統 (預覽)]

    [新增系統] 區域的螢幕擷取畫面。

  2. 在 [選取代理程式] 底下,選取您在上一個步驟中建立的代理程式

  3. 在 [系統識別碼] 底下選取伺服器類型,並提供伺服器詳細資料。

  4. 選取 [下一步:驗證]

  5. 對於基本驗證,請提供使用者和密碼。 如果您在設定代理程式時選取了 SNC 連線,請選取 [SNC],並提供憑證詳細資料。

  6. 選取 [下一步:記錄]

  7. 選取您要從 SAP 提取的記錄,然後選取 [下一步:檢閱並建立]

  8. 檢閱您定義的設定。 選取 [上一步] 以修改任何設定,或選取 [部署] 以部署系統。

  9. 您定義的系統設定會部署到 Azure Key Vault 中。 您現在可以在 [設定 SAP 系統並將其指派給收集器代理程式] 底下的資料表中查看系統詳細資料。 此資料表顯示您透過 Azure 入口網站或其他方法新增之系統的相關代理程式名稱、SAP 系統識別碼 (SID) 和健全狀態。

    在此階段中,系統的 [健全狀態] 為 [擱置]。 如果代理程式成功更新,則會從 Azure Key Vault 中提取設定,而狀態會變更為 [系統狀況良好]。 此更新可能需要 10 分鐘的時間。

    深入了解如何監視 SAP 系統健康狀態

命令列選項

根據您用來存取金鑰保存庫的身分識別類型,選取下列其中一個索引標籤:

使用命令列建立新的代理程式,並使用受控識別進行驗證:

  1. 下載並執行部署 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
    
    • 對於由 21Vianet 營運的 Azure Microsoft,請在複製的命令結尾處加上 --cloud mooncake

    • 對於 Azure Government - US,請在複製的命令結尾處加上 --cloud fairfax

    指令碼會更新 OS 元件、安裝 Azure CLI 和 Docker 軟體以及其他必要公用程式 (jq、netcat、curl),並提示您提供設定參數值。 您可以為指令碼提供其他參數,以將提示數目降到最低,或自訂容器部署。 如需可用命令列選項的詳細資訊,請參閱 Kickstart 指令碼參考

  2. 「遵循畫面上的指示」來輸入您的 SAP 和金鑰保存庫詳細資料,並完成部署。 部署完成時,會顯示確認訊息:

    The process has been successfully completed, thank you!
    

    記下指令碼輸出中的 Docker 容器名稱。 若要查看 VM 上的 Docker 容器清單,請執行:

    docker ps -a
    

    您將在下一個步驟中使用 Docker 容器的名稱。

  3. 部署 SAP 資料連接器代理程式時,您必須使用 Microsoft Sentinel Business Applications 代理程式操作員讀者角色,為代理程式的 VM 身分識別授與 Microsoft Sentinel 工作區的特定權限。

    若要執行此步驟中的命令,您必須是 Microsoft Sentinel 工作區上的資源群組擁有者。 如果您不是工作區上的資源群組擁有者,也可以稍後再執行此程序。

    Microsoft Sentinel Business Applications 代理程式操作員讀者角色指派給 VM 的身分識別:

    1. 執行下列命令以取得代理程式識別碼 (請將 <container_name> 預留位置取代為您以 Kickstart 指令碼建立的 Docker 容器名稱):

      docker inspect <container_name> | grep -oP '"SENTINEL_AGENT_GUID=\K[^"]+
      

      例如,傳回的代理程式識別碼可能是 234fba02-3b34-4c55-8c0e-e6423ceb405b

    2. 執行下列命令,以指派 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 名稱。 複製 [物件識別碼] 欄位的值,以用於您先前複製的命令。
    <SUB_ID> 您的 Microsoft Sentinel 工作區訂用帳戶識別碼
    <RESOURCE_GROUP_NAME> 您的 Microsoft Sentinel 工作區資源群組名稱
    <WS_NAME> 您的 Microsoft Sentinel 工作區名稱
    <AGENT_IDENTIFIER> 執行上一個步驟中的命令後顯示的代理程式識別碼。
  4. 若要將 Docker 容器設定為自動啟動,請執行下列命令 (請將 <container-name> 預留位置取代為您的容器名稱):

    docker update --restart unless-stopped <container-name>
    

下一步

在部署連接器之後,繼續部署適用於 SAP® 應用程式的 Microsoft Sentinel 解決方案內容:

請在 Microsoft Security Community YouTube 頻道觀看此 YouTube 影片,以取得檢查 SAP 連接器健康情況和連線能力的指引。