迁移前验证指南

支持的平台:

本文档概述了一种系统性的分步诊断方法,用于在 SOAR 迁移之前验证 Google Security Operations 实例和身份验证设置。本指南重点介绍用于用户身份验证和授权的 SAML 标准。

Chronicle API 设置验证

如需检查 Chronicle API 是否已在您的 Google Cloud 项目中正确配置,请按以下步骤操作:

  1. 登录 Google Cloud 控制台,然后从顶部导航栏中的项目列表中选择正确的 Google Cloud 项目。
  2. 打开导航菜单 (≡),然后依次前往 API 和服务 > 已启用的 API 和服务
  3. 前往已启用的 API 和服务列表,找到 Chronicle API
  4. 如果该 API 已列出:则表示该 API 已启用。

    如果未列出:点击顶部的 + 启用 API 和服务,搜索 Chronicle API,然后点击启用

如需验证服务账号是否已创建,请执行以下操作:

  1. 前往 Google Cloud 控制台中的 IAM 页面
  2. 显示隐藏的账号(关键步骤):您必须选中过滤栏右侧的方框,其中显示包括 Google 提供的角色授权
  3. 搜索代理:在过滤条件栏中,输入 chronicle。您要查找的电子邮件地址符合以下特定模式:service-[PROJECT_NUMBER]@gcp-sa-chronicle.iam.gserviceaccount.com
  4. 验证权限:确保该服务账号具有 Chronicle Service Agent 角色。如果缺少该角色,请点击修改 修改,然后重新添加。

身份验证工作流架构

了解请求流程对于隔离任何故障点至关重要。下图展示了成功登录的顺序路径。

身份验证工作流架构

分步问题排查程序

为了有效地诊断和跟踪 SAML 身份验证过程,您可以使用以下各部分中列出的基于 Web 的实用程序。

虽然 Google 不认可任何特定产品,但以下工具可帮助排查此流程中的问题:

第 1 阶段:环境准备

在开始之前,请执行以下操作,确保浏览器环境已准备好捕获网络流量:

  1. 打开新的空白浏览器标签页。
  2. 打开开发者工具(按 F12Ctrl + Shift + I [Windows /Linux] 或 Cmd + Option + I [macOS]),然后前往网络标签页。
  3. 选中保留日志框,以确保在重定向期间不会丢失任何数据。

    保留日志

  4. 前往您的 Google SecOps 环境网址,以启动登录流程。在面向 SOAR 独立客户的迁移阶段 1 的第 5 步中完成 Google SecOps 设置后,您将通过电子邮件收到此网址。 电子邮件的主题为 YourGoogle SecOps instance is ready

阶段 2:验证发送到 IdP 的 SAML 请求

此步骤用于验证 Google Cloud 发送给身份提供方 (IDP) 的初始消息。

  1. 找到请求:在网络标签页的过滤条件栏中,搜索 saml

    找到相应请求

  2. 提取数据:选择相应请求,然后点击 Payload 标签页。找到标有 SAMLRequest 的查询字符串参数。

    提取数据

  3. 解码:复制请求值并将其粘贴到 SAML 验证工具 (samltool.io) 中以进行解码。

    解码

  4. 验证

    • 检查请求目的地
    • 确认此网址与 IDP 中的配置设置一致。

第 3 阶段:验证来自 IDP 的 SAML 响应

此步骤用于验证 IDP 在身份验证后返回给 Google Cloud 的属性。

  1. 找到响应:在网络标签页的过滤条件栏中,搜索 signin-callback

    找到回答

  2. 提取数据:选择相应请求,然后点击 Payload 标签页。找到 SAMLResponse 数据。

    找到 SAML 响应数据

  3. 解码:复制响应值并将其粘贴到 SAML 验证工具中。

  4. 验证

    • 查看返回的声明(属性),例如 groupsfirst namelast nameemail
    • 重要提示:请确保这些属性与 Google Cloud中员工池设置中的配置一致。
    • 确认这些值对于尝试登录的特定用户是否正确。

      员工池设置

下图显示了属性映射:

attribute-mapping

图片中的映射如下:

  • google.subject = assertion.subject
  • attribute.last_name = assertion.attributes.last_name[0]
  • attribute.user_email = assertion.attributes.user_email[0]
  • attribute.first_name = assertion.attributes.first_name[0]
  • google.groups = assertion.attributes.groups

左侧部分始终相同,是 Google 语法。右侧是根据 SAML 响应中显示的声明属性键。

[0] 对于所列出的特定属性(last_nameuser_emailfirst_name)至关重要,但与 subjectgroups 无关。

第 4 阶段:验证 Google SecOps 身份验证

此步骤用于验证 Google Cloud 是否正在对用户进行身份验证,以登录 Google SecOps SOAR。

  1. 在用户的浏览器中找到令牌:在网络标签页的过滤条件栏中,搜索端点 auth/siem

    在用户的浏览器中找到令牌

  2. 提取数据:选择相应请求,然后查看载荷标签页。找到 jwt 字符串。

  3. 解码:复制 JWT 字符串,然后将其粘贴到 JWT 检查工具 (jwt.io) 中。

    复制 JWT 字符串并粘贴

  4. 验证

    • 比较 given_namefamily_nameemailidpgroups 的解码后声明。
    • 匹配确认:这些值必须与第 3 阶段(SAML 响应)中验证的属性完全一致
    • 如果值匹配,但您仍然没有访问权限,请检查 IAM 中的角色分配。请确保所有用户都分配了某个 Chronicle 预定义角色,并为您的身份设置(员工身份联合或 Cloud Identity [适用于 Google 管理的账号])使用正确的主账号格式。

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