收集 Microsoft Azure 活动日志和 Entra ID 日志

支持的平台:

本文档介绍了如何通过设置 Google Security Operations Feed 来收集 Microsoft Azure 活动和 Entra ID 日志。您可以使用以下两种方法配置数据注入:

  • 方法 1:Microsoft Azure 事件中心(推荐):Azure 诊断设置将活动和 Entra ID 日志流式传输到 Azure 事件中心命名空间,Google SecOps 从该命名空间近乎实时地注入这些日志。这是首选方法。
  • 方法 2:Microsoft Azure Blob Storage V2:Azure 诊断设置会将日志归档到 Azure 存储账号,而 Google SecOps 会按计划轮询 Blob 容器。

Azure 活动日志可让您深入了解对 Azure 资源执行的订阅级操作,例如创建存储账号、删除事件中心或修改虚拟机。Microsoft Entra ID(以前称为 Azure Active Directory)日志可捕获身份和访问管理事件,包括用户登录、审核日志、预配活动和安全风险检测。

准备工作

请确保满足以下前提条件:

  • Google SecOps 实例
  • Microsoft Azure 门户的特权访问权限,包括:
    • 创建事件中心命名空间(方法 1)或存储账号(方法 2)
    • 为 Azure Monitor 和 Entra ID 配置诊断设置
    • 管理事件中心访问权限政策(方法 1)或存储访问密钥(方法 2)
  • Entra ID 中的“安全管理员”角色或更高级别的角色(适用于 Entra ID 诊断设置)

使用此方法,Azure 诊断设置会将 Azure 活动和 Entra ID 日志流式传输到 Azure 事件中心命名空间,而 Google SecOps 会近乎实时地直接从事件中心提取这些日志。

每个 Google SecOps Feed 都将一个事件中心映射到一个日志类型。为每个 Google SecOps 日志类型创建一个事件中心,并将匹配的 Azure 日志类别路由到该事件中心:

事件中心 Azure 日志类别 Google SecOps 日志类型
azure-activity Azure 活动日志 Azure 活动
entra-id SignInLogs、NonInteractiveUserSignInLogs、ServicePrincipalSignInLogs、ManagedIdentitySignInLogs、ProvisioningLogs、RiskyUsers、UserRiskEvents Azure AD
entra-id-audit AuditLogs Azure AD 审核
entra-id-graph MicrosoftGraphActivityLogs Microsoft Graph 活动日志

创建事件中心命名空间

事件中心命名空间是一个管理容器,用于容纳一个或多个事件中心。

  1. Azure 门户中,搜索事件中心
  2. 点击 + 创建
  3. 提供以下配置详细信息:

    设置
    订阅 选择您的 Azure 订阅
    资源组 选择现有组或创建新组
    命名空间名称 输入唯一名称(例如 secops-azure-logs
    位置 选择与 Google SecOps 实例相同的区域(部署在其他区域会降低提取吞吐量)
    价格层级 标准版或更高级别(基本版每个命名空间仅支持一个事件中心)
    吞吐量单位 从 1 开始,并启用自动充气
  4. 点击审核 + 创建,然后点击创建

  5. 等待部署完成。

创建事件中心

为上表中列出的每种 Google SecOps 日志类型创建一个事件中心。

  1. 部署命名空间后,前往事件中心命名空间
  2. 在左侧导航栏中,选择实体下的事件中心
  3. 点击 + 事件中心,然后使用以下设置创建事件中心:

    设置
    名称 azure-activity
    分区数 40(建议值,可实现最佳 Google SecOps 伸缩;在标准层级和基本层级中,创建后无法更改)
    消息保留 至少 7 天(设置尽可能长的保留期限,以便在配额限制结束后,日志不会在提取恢复之前被删除)
    拍摄 已停用(直接提取 Event Hub 时不需要)
  4. 点击审核 + 创建,然后点击创建

  5. 重复此步骤,创建 entra-identra-id-auditentra-id-graph 事件中心。

获取 Event Hub 连接字符串

Google SecOps 需要连接字符串才能向事件中心进行身份验证。请使用命名空间级连接字符串,以便一个凭据可用于您创建的所有事件中心。

  1. 前往事件中心命名空间
  2. 在左侧导航栏中,选择设置下的共享访问权限政策
  3. 点击 RootManageSharedAccessKey 政策,或点击 + 添加以创建具有 Listen 权限的专用政策。
  4. 复制连接字符串 - 主密钥
  5. 请妥善保存此连接字符串。

配置 Azure 活动日志诊断设置(事件中心)

如需将 Azure 活动日志流式传输到 azure-activity 事件中心,请执行以下操作:

  1. Azure 门户中,搜索监控
  2. 点击左侧导航栏中的活动日志
  3. 点击窗口顶部的导出活动日志
  4. 点击添加诊断设置
  5. 提供以下配置详细信息:
    • 诊断设置名称:输入一个描述性名称(例如 activity-logs-to-eventhub)。
    • 日志部分,选择以下类别:
      • 行政区
      • 安全性
      • Service Health
      • 提醒
      • 建议
      • 政策
      • 自动扩缩
      • 资源健康状况
    • 目标详细信息部分中,选中流式传输到事件中心复选框。
    • 订阅:选择包含 Event Hub 命名空间的订阅。
    • 事件中心命名空间:选择您之前创建的命名空间(例如 secops-azure-logs)。
    • Event Hub 名称:选择 azure-activity
    • Event Hub 政策名称:选择共享访问权限政策(例如 RootManageSharedAccessKey)。
  6. 点击保存

配置 Entra ID 诊断设置(事件中心)

每项诊断设置都会流式传输到单个事件中心,因此请为每个 Entra ID 事件中心创建一个诊断设置,并按 Google SecOps 日志类型对类别进行分组。

  1. Azure 门户中,搜索 Microsoft Entra IDAzure Active Directory
  2. 在左侧导航栏中,依次前往监控和健康状况 > 诊断设置
  3. 点击添加诊断设置,然后逐一创建以下设置:

    entra-id 事件中心(日志类型为 Azure AD)的诊断设置

    • 诊断设置名称entraid-azuread-to-eventhub
    • 日志部分,选择以下类别:
      • SignInLogs
      • NonInteractiveUserSignInLogs
      • ServicePrincipalSignInLogs
      • ManagedIdentitySignInLogs
      • ProvisioningLogs
      • RiskyUsers
      • UserRiskEvents
    • 目标详细信息部分中,选择将数据流式传输到事件中心、您的事件中心命名空间,以及具有共享访问策略的 entra-id 事件中心。

    entra-id-audit 事件中心的诊断设置(日志类型为“Azure AD 审核”)

    • 诊断设置名称entraid-audit-to-eventhub
    • 日志部分,选择 AuditLogs
    • 目标详细信息部分中,选择将数据流式传输到事件中心、您的事件中心命名空间和 entra-id-audit 事件中心。

    entra-id-graph Event Hub 的诊断设置(日志类型为“Microsoft Graph 活动日志”)

    • 诊断设置名称entraid-graph-to-eventhub
    • 日志部分,选择 MicrosoftGraphActivityLogs
    • 目标详细信息部分中,选择将数据流式传输到事件中心、您的事件中心命名空间和 entra-id-graph 事件中心。
  4. 配置完每项设置后,点击保存

(可选)创建专用消费者群组

默认情况下,每个事件中心都提供一个名为 $Default 的消费者群组。对于生产环境,建议在每个事件中心上为 Google SecOps 创建专用消费者组。

  1. 前往事件中心(而非命名空间)。
  2. 在左侧导航栏中,选择消费群体
  3. 点击 + 消费群体,输入名称(例如 chronicle),然后点击创建
  4. 针对每个事件中心重复上述步骤。

在 Google SecOps (Event Hub) 中配置 Feed

为每个事件中心创建一个 Feed。所有 Feed 都使用相同的命名空间级连接字符串,仅在事件中心名称日志类型方面有所不同:

Feed 名称 事件中心名称 Google SecOps 日志类型
Azure Activity Logs azure-activity Azure 活动
Azure AD Logs entra-id Azure AD
Azure AD Audit Logs entra-id-audit Azure AD 审核
Microsoft Graph Activity Logs entra-id-graph Microsoft Graph 活动日志

对于表格中的每一行:

  1. 依次前往 SIEM 设置 > Feed
  2. 点击添加新 Feed
  3. 在下一页上,点击配置单个 Feed
  4. Feed 名称字段中,输入 Feed 名称(例如 Azure Activity Logs)。
  5. 选择 Microsoft Azure Event Hub 作为来源类型
  6. 选择相应的日志类型(例如 Azure Activity)。
  7. 点击下一步
  8. 为以下输入参数指定值:

    • 事件中心名称:输入表格中的事件中心名称(例如 azure-activity)。
    • Event Hub Consumer Group(事件中心消费者组):输入 $Default 或您创建的专用消费者组(例如 chronicle)。
    • 事件中心连接字符串:输入您之前捕获的命名空间级连接字符串。
    • Azure Storage 连接字符串(可选):用于事件中心检查点存储的旧版字段;留空。
    • Azure Storage 容器名称(可选):用于 Event Hub 检查点存储的旧版字段;留空。
    • Azure SAS 令牌(可选):当您的安全政策禁止共享事件中心连接字符串时,可使用此令牌作为事件中心的替代身份验证方式;如果您已提供上述连接字符串,请将此字段留空。
    • 资产命名空间资产命名空间
    • 提取标签:要应用于相应 Feed 中事件的标签。
  9. 点击下一步

  10. 最终确定界面中查看新的 Feed 配置,然后点击提交

方法 2:Microsoft Azure Blob Storage V2

使用此方法,Azure 诊断设置会将 Azure 活动日志和 Entra ID 日志归档到 Azure 存储账号,而 Google SecOps 会按计划轮询 Blob 容器。如果不需要近乎实时的提取,或者您的环境标准化为 Blob Storage,请使用此方法。

配置 Azure 存储账号

创建存储账号

  1. Azure 门户中,搜索存储账号
  2. 点击 + 创建
  3. 提供以下配置详细信息:

    设置
    订阅 选择您的 Azure 订阅
    资源组 选择现有组或创建新组
    存储账号名称 输入唯一名称(例如 secops-azure-logs
    区域 选择区域(例如 East US
    性能 标准(推荐)
    冗余 GRS(地理位置冗余存储)或 LRS(本地冗余存储)
  4. 点击检查 + 创建

  5. 查看账号概览,然后点击创建

  6. 等待部署完成。

获取存储账号凭据

  1. 前往您刚刚创建的存储账号
  2. 在左侧导航栏中,选择安全性 + 网络下的访问密钥
  3. 点击显示密钥
  4. 复制并保存以下内容以供日后使用:
    • 存储账号名称:您的存储账号名称(例如 secops-azure-logs
    • 密钥 1密钥 2:共享访问密钥(采用 base-64 编码的 512 位随机字符串)

获取 Blob 服务端点

  1. 在同一存储账号中,从左侧导航栏中选择端点
  2. 复制并保存 Blob 服务端点网址。
    • 示例:https://secops-azure-logs.blob.core.windows.net/

配置 Azure 活动日志诊断设置

如需将 Azure 活动日志导出到存储账号,请执行以下操作:

  1. Azure 门户中,搜索监控
  2. 点击左侧导航栏中的活动日志
  3. 点击窗口顶部的导出活动日志
  4. 点击添加诊断设置
  5. 提供以下配置详细信息:
    • 诊断设置名称:输入一个描述性名称(例如 activity-logs-to-secops)。
    • 日志部分,选择以下类别:
      • 行政区
      • 安全性
      • Service Health
      • 提醒
      • 建议
      • 政策
      • 自动扩缩
      • 资源健康状况
    • 目标详细信息部分中,选中归档到存储账号复选框。
    • 订阅:选择包含您的存储空间的订阅。
    • 存储账号:选择您之前创建的存储账号(例如 secops-azure-logs)。
  6. 点击保存

配置 Entra ID 诊断设置

如需将 Entra ID 日志导出到存储账号,请执行以下操作:

  1. Azure 门户中,搜索 Microsoft Entra IDAzure Active Directory
  2. 在左侧导航栏中,依次前往监控和健康状况 > 诊断设置
  3. 点击添加诊断设置
  4. 提供以下配置详细信息:
    • 诊断设置名称:输入一个描述性名称(例如 entraid-logs-to-secops)。
    • 日志部分,选择要导出的日志类别:
      • SignInLogs:交互式用户登录
      • NonInteractiveUserSignInLogs:非交互式用户登录(代表用户执行操作的服务正文、托管身份)
      • ServicePrincipalSignInLogs:服务正文和应用登录
      • ManagedIdentitySignInLogs:托管式身份登录
      • AuditLogs:Entra ID 中所有更改(用户创建、角色分配等)的审核跟踪记录
      • ProvisioningLogs:用户和群组预配事件
      • RiskyUsers:Identity Protection 标记的用户
      • UserRiskEvents:用户账号的风险检测
      • MicrosoftGraphActivityLogs:Microsoft Graph API 活动日志
    • 目标详细信息部分中,选中归档到存储账号复选框。
    • 订阅:选择包含您的存储空间的订阅。
    • 存储账号:选择您之前创建的存储账号(例如 secops-azure-logs)。
  5. 点击保存

检索 Google SecOps 服务账号

Google SecOps 使用唯一的服务账号从您的 Azure Blob Storage 读取数据。您必须向此服务账号授予对您的存储账号的访问权限。

获取服务账号电子邮件地址

  1. 依次前往 SIEM 设置 > Feed
  2. 点击添加新 Feed
  3. 点击配置单个 Feed
  4. Feed 名称字段中,输入一个临时名称。
  5. 选择 Microsoft Azure Blob Storage V2 作为来源类型
  6. 选择任意日志类型(此设置后续可以更改)。
  7. 点击获取服务账号
  8. 系统会显示一个唯一的服务账号电子邮件地址,例如:

    chronicle-12345678@chronicle-gcp-prod.iam.gserviceaccount.com
    
  9. 复制此电子邮件地址。您将在下一步骤中用到它。

  10. 点击取消以退出 Feed 创建流程(您稍后将创建实际的 Feed)。

向 Google SecOps 服务账号授予 IAM 权限

Google SecOps 服务账号需要对您的存储账号具有 Storage Blob Data Reader 角色。

  1. Azure 门户中,前往存储账号
  2. 点击您的存储账号名称(例如 secops-azure-logs)。
  3. 前往访问权限控制 (IAM) 标签页。
  4. 依次点击 + 添加 > 添加角色分配
  5. 角色标签页中,搜索并选择 Storage Blob Data Reader
  6. 点击下一步
  7. 成员标签页中,点击 + 选择成员
  8. 在搜索框中,粘贴 Google SecOps 服务账号电子邮件地址。
  9. 从结果中选择服务账号。
  10. 点击选择
  11. 点击检查并分配
  12. 查看分配,然后再次点击查看 + 分配

在 Google SecOps 中配置 Feed

您必须为每种日志类型和容器分别创建一个 Feed。下表显示了 Azure 容器与 Google SecOps 日志类型之间的映射关系:

容器名称 Chronicle 日志类型 数据源
insights-activity-logs Azure 活动 Azure 活动日志
insights-logs-signinlogs Azure AD Entra ID 交互式登录
insights-logs-noninteractiveusersigninlogs Azure AD Entra ID 非交互式登录
insights-logs-serviceprincipalsigninlogs Azure AD Entra ID 服务正文登录
insights-logs-managedidentitysigninlogs Azure AD Entra ID 托管式身份登录
insights-logs-auditlogs Azure AD 审核 Entra ID 审核日志
insights-logs-provisioninglogs Azure AD Entra ID 预配日志
insights-logs-riskyusers Azure AD Entra ID 风险用户
insights-logs-userriskevents Azure AD Entra ID 用户风险事件
insights-logs-microsoftgraphactivitylogs Microsoft Graph 活动日志 Microsoft Graph Activity

为 Azure 活动日志创建 Feed

  1. 依次前往 SIEM 设置 > Feed
  2. 点击添加新 Feed
  3. 在下一页上,点击配置单个 Feed
  4. Feed 名称字段中,输入 Azure Activity Logs
  5. 选择 Microsoft Azure Blob Storage V2 作为来源类型
  6. 选择 Azure 活动作为日志类型
  7. 点击下一步
  8. 为以下输入参数指定值:

    • Azure URI:输入包含容器路径的 Blob 服务端点网址:

      https://secops-azure-logs.blob.core.windows.net/insights-activity-logs/
      

    secops-azure-logs 替换为您的 Azure 存储账号名称。

    • 来源删除选项:根据您的偏好选择删除选项:
      • 永不:转移后永不删除任何文件。
      • 删除已转移的文件:在成功转移后删除文件。
      • 删除已转移的文件和空目录:成功转移后删除文件和空目录。
    • 文件存在时间上限:包含在过去指定天数内修改的文件。默认值为 180 天。
    • 从身份验证下拉菜单(默认设置为访问/共享密钥)中,选择要使用的方法并提供相应的凭据:

      • 访问密钥/共享密钥:在密钥字段中,粘贴之前捕获的存储账号访问密钥(密钥 1密钥 2)。
      • SAS 令牌:在令牌字段中,粘贴为容器签发的共享访问签名 (SAS) 令牌。
      • Azure V2 工作负载身份联合:输入 Microsoft Entra 应用客户端 ID租户 ID。复制 Feed 显示的只读正文 ID,并在 Azure 端向匹配的身份授予对存储空间的访问权限。
    • 资产命名空间资产命名空间

    • 提取标签:要应用于相应 Feed 中事件的标签。

  9. 点击下一步

  10. 最终确定界面中查看新的 Feed 配置,然后点击提交

为 Entra ID 日志创建 Feed

针对您在诊断设置中配置的每种 Entra ID 日志类型重复以下步骤:

对于互动式登录日志

  1. 依次前往 SIEM 设置 > Feed
  2. 点击添加新 Feed
  3. 点击配置单个 Feed
  4. Feed 名称字段中,输入 Azure AD Interactive Sign-in Logs
  5. 选择 Microsoft Azure Blob Storage V2 作为来源类型
  6. 选择 Azure AD 作为日志类型
  7. 点击下一步
  8. 为以下输入参数指定值:

    • Azure URI

      https://secops-azure-logs.blob.core.windows.net/insights-logs-signinlogs/
      
    • 来源删除选项:根据您的偏好选择。
    • 文件最长使用时间:180 天(默认)。
    • 从身份验证下拉菜单(默认设置为访问/共享密钥)中,选择要使用的方法并提供相应的凭据:

      • 访问密钥/共享密钥:在密钥字段中,粘贴之前捕获的存储账号访问密钥(密钥 1密钥 2)。
      • SAS 令牌:在令牌字段中,粘贴为容器签发的共享访问签名 (SAS) 令牌。
      • Azure V2 工作负载身份联合:输入 Microsoft Entra 应用客户端 ID租户 ID。复制 Feed 显示的只读正文 ID,并在 Azure 端向匹配的身份授予对存储空间的访问权限。
    • 资产命名空间:资产命名空间。

    • 注入标签:要应用的标签。

  9. 点击下一步,然后点击提交

对于非互动式登录日志

使用以下设置创建另一个 Feed:

  • Feed 名称Azure AD Non-interactive Sign-in Logs
  • 日志类型Azure AD
  • Azure URIhttps://secops-azure-logs.blob.core.windows.net/insights-logs-noninteractiveusersigninlogs/

对于服务正文登录日志

使用以下设置创建另一个 Feed:

  • Feed 名称Azure AD Service Principal Sign-in Logs
  • 日志类型Azure AD
  • Azure URIhttps://secops-azure-logs.blob.core.windows.net/insights-logs-serviceprincipalsigninlogs/

对于托管式身份登录日志

使用以下设置创建另一个 Feed:

  • Feed 名称Azure AD Managed Identity Sign-in Logs
  • 日志类型Azure AD
  • Azure URIhttps://secops-azure-logs.blob.core.windows.net/insights-logs-managedidentitysigninlogs/

对于审核日志

使用以下设置创建另一个 Feed:

  • Feed 名称Azure AD Audit Logs
  • 日志类型Azure AD Audit
  • Azure URIhttps://secops-azure-logs.blob.core.windows.net/insights-logs-auditlogs/

对于配置日志

使用以下设置创建另一个 Feed:

  • Feed 名称Azure AD Provisioning Logs
  • 日志类型Azure AD
  • Azure URIhttps://secops-azure-logs.blob.core.windows.net/insights-logs-provisioninglogs/

对于有风险的用户

使用以下设置创建另一个 Feed:

  • Feed 名称Azure AD Risky Users
  • 日志类型Azure AD
  • Azure URIhttps://secops-azure-logs.blob.core.windows.net/insights-logs-riskyusers/

对于用户风险事件

使用以下设置创建另一个 Feed:

  • Feed 名称Azure AD User Risk Events
  • 日志类型Azure AD
  • Azure URIhttps://secops-azure-logs.blob.core.windows.net/insights-logs-userriskevents/

对于 Microsoft Graph 活动日志

使用以下设置创建另一个 Feed:

  • Feed 名称Microsoft Graph Activity Logs
  • 日志类型Microsoft Graph Activity Logs
  • Azure URIhttps://secops-azure-logs.blob.core.windows.net/insights-logs-microsoftgraphactivitylogs/

更新日志

查看相应解析器的更改日志

需要更多帮助?获得社区成员和 Google SecOps 专业人士的解答。