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

支持的平台:

本文档介绍了如何通过使用 Microsoft Azure Blob Storage 设置 Google Security Operations Feed 来收集 Microsoft Azure 活动和 Entra ID 日志。

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

准备工作

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

  • Google SecOps 实例
  • Microsoft Azure 门户拥有特权访问权限,并具有以下权限:
    • 创建存储账号
    • 为 Azure Monitor 和 Entra ID 配置诊断设置
    • 管理访问密钥
  • Entra ID 中的安全管理员角色或更高级别的角色(适用于 Entra ID 诊断设置)

配置 Azure 存储账号

创建存储账号

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

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

  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)。
    • 日志部分,选择以下类别:
      • 行政区
      • 安全性
      • 服务运行状况
      • 提醒
      • 建议
      • 政策
      • 自动扩缩
      • 资源健康状况
    • 目标详细信息部分中,选中归档到存储账号复选框。
    • 订阅:选择包含您的存储账号的订阅。
    • 存储账号:选择您之前创建的存储账号(例如 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. 点击获取服务账号。系统会显示一个唯一的服务账号电子邮件地址,例如:

    chronicle-12345678@chronicle-gcp-prod.iam.gserviceaccount.com
    
  8. 复制此电子邮件地址,以便在下一步中使用。

  9. 点击取消退出 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 活动

为 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 天。

    • 共享密钥:输入您之前从存储账号中捕获的共享密钥值(访问密钥)。

    • 资产命名空间资产命名空间

    • 注入标签:要应用于此 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 天(默认)。
    • 共享密钥:输入共享密钥值。
    • 资产命名空间:资产命名空间。
    • 注入标签:要应用的标签。
  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 专业人士的解答。