你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
部署适用于 SAP BTP 的 Microsoft Sentinel 解决方案
本文介绍如何部署适用于 SAP 业务技术平台 (BTP) 系统的 Microsoft Sentinel 解决方案。 适用于 SAP BTP 的 Microsoft Sentinel 解决方案能够监视和保护 SAP BTP 系统。 它会从 BTP 基础结构和基于 BTP 的应用收集审核日志和活动日志,然后检测威胁、可疑活动、非法活动等。 详细了解该解决方案。
先决条件
在开始之前,请先确认:
- 已启用 Microsoft Sentinel 解决方案。
- 你有一个定义的 Microsoft Sentinel 工作区,并且对该工作区具有读取和写入权限。
- 你的组织使用 SAP BTP(在 Cloud Foundry 环境中)来简化与 SAP 应用程序和其他商务应用程序的交互。
- 你有一个 SAP BTP 帐户(该帐户支持 Cloud Foundry 环境中的 BTP 帐户)。 还可以使用 SAP BTP 试用帐户。
- 你有 SAP BTP 审核日志管理服务和服务密钥(请参阅设置 BTP 帐户和解决方案)。
- 你对目标 Microsoft Sentinel 工作区具有 Microsoft Sentinel 参与者角色。
设置 BTP 帐户和解决方案
若要设置 BTP 帐户和解决方案:
在 SAP BTP 控制台中,选择“审核日志管理服务”。
在 BTP 子帐户中创建审核日志管理服务的实例。
创建服务密钥并记录
url
、uaa.clientid
、uaa.clientecret
和uaa.url
的值。 部署数据连接器需要这些值。下面是这些字段值的示例:
- url:
https://auditlog-management.cfapps.us10.hana.ondemand.com
- uaa.clientid:
00001111-aaaa-2222-bbbb-3333cccc4444|auditlog-management!b1237
- uaa.clientsecret:
aaaaaaaa-0b0b-1c1c-2d2d-333333333333
- uaa.url:
https://trial.authentication.us10.hana.ondemand.com
- url:
登录 Azure 门户。
转到 Microsoft Sentinel 服务。
选择“内容中心”,然后在搜索栏中搜索 BTP。
选择“SAP BTP”。
选择“安装” 。
有关如何管理解决方案组件的详细信息,请参阅发现和部署现成内容。
选择创建。
选择要在其中部署解决方案的资源组和 Microsoft Sentinel 工作区。
选择“下一步”,直到通过验证,然后选择“创建”。
解决方案部署完成后,返回到 Microsoft Sentinel 工作区并选择“数据连接器”。
在搜索栏中,输入“BTP”,然后选择“SAP BTP”。
选择“打开连接器页面”。
在连接器页面中,确保满足列出的所需先决条件并完成配置步骤。 准备就绪后,选择“添加帐户”。
指定之前在配置期间定义的参数。 指定的子帐户名称将投影为
SAPBTPAuditLog_CL
表中的一个列,可用于在有多个子帐户时筛选日志。注意
检索全局帐户的审核不会自动检索子帐户的审核。 针对要监视的每个子帐户执行连接器配置步骤,并针对全局帐户执行这些步骤。 查看这些帐户审核配置注意事项。
确保 BTP 日志流入 Microsoft Sentinel 工作区:
- 登录到你的 BTP 子帐户并运行一些生成日志的活动,例如登录、添加用户、更改权限、更改设置。
- 等待 20 到 30 分钟,让日志开始流动。
- 在 SAP BTP 连接器页中,确认 Microsoft Sentinel 接收到了 BTP 数据,或直接查询 SAPBTPAuditLog_CL 表。
考虑你的帐户审核配置
部署过程的最后一步是考虑你的全局帐户和子帐户审核配置。
全局帐户审核配置
在 BTP 控制台中为全局帐户启用审核日志检索时:如果要为其授权审核日志管理服务的子帐户位于目录下,则必须先在目录级别授权服务。 只有这样之后才能在子帐户级别授权服务。
子帐户审核配置
若要为子帐户启用审核,请完成 SAP 子帐户审核检索 API 文档中的步骤。
API 文档介绍了如何使用 Cloud Foundry CLI 启用审核日志检索。
还可以通过 UI 检索日志:
- 在子帐户的 SAP 服务市场中,创建审核日志管理服务的实例。
- 在新实例中,创建服务密钥。
- 查看服务密钥,并在数据连接器 UI 中检索配置说明的步骤 4 中的必需参数(url、uaa.url、uaa.clientid、uaa.clientsecret)。
轮换 BTP 客户端密码
建议定期轮换 BPT 子帐户客户端密码。 以下示例脚本演示了将现有数据连接器更新为使用从 Azure 密钥保管库提取的新密码的过程。
在开始之前,请收集脚本参数所需的值,其中包括:
- 订阅 ID、资源组和 Microsoft Sentinel 工作区的工作区名称。
- 密钥保管库和密钥保管库密码的名称。
- 想要更新为使用新密码的数据连接器的名称。 若要标识数据连接器名称,请在 Microsoft Sentinel 数据连接器页面中打开 SAP BPT 数据连接器。 数据连接器名称采用以下语法:BTP_{连接器名称}
param(
[Parameter(Mandatory = $true)] [string]$subscriptionId,
[Parameter(Mandatory = $true)] [string]$workspaceName,
[Parameter(Mandatory = $true)] [string]$resourceGroupName,
[Parameter(Mandatory = $true)] [string]$connectorName,
[Parameter(Mandatory = $true)] [string]$clientId,
[Parameter(Mandatory = $true)] [string]$keyVaultName,
[Parameter(Mandatory = $true)] [string]$secretName
)
# Import the required modules
Import-Module Az.Accounts
Import-Module Az.KeyVault
try {
# Login to Azure
Login-AzAccount
# Retrieve BTP client secret from Key Vault
$clientSecret = (Get-AzKeyVaultSecret -VaultName $keyVaultName -Name $secretName).SecretValue
if (!($clientSecret)) {
throw "Failed to retrieve the client secret from Azure Key Vault"
}
# Get the connector from data connectors API
$path = "/subscriptions/{0}/resourceGroups/{1}/providers/Microsoft.OperationalInsights/workspaces/{2}/providers/Microsoft.SecurityInsights/dataConnectors/{3}?api-version=2024-01-01-preview" -f $subscriptionId, $resourceGroupName, $workspaceName, $connectorName
$connector = (Invoke-AzRestMethod -Path $path -Method GET).Content | ConvertFrom-Json
if (!($connector)) {
throw "Failed to retrieve the connector"
}
# Add the updated client ID and client secret to the connector
$connector.properties.auth | Add-Member -Type NoteProperty -Name "clientId" -Value $clientId
$connector.properties.auth | Add-Member -Type NoteProperty -Name "clientSecret" -Value ($clientSecret | ConvertFrom-SecureString -AsPlainText)
# Update the connector with the new auth object
Invoke-AzRestMethod -Path $path -Method PUT -Payload ($connector | ConvertTo-Json -Depth 10)
}
catch {
Write-Error "An error occurred: $_"
}