将 SOAR 权限迁移到 IAM
本文档面向需要将其环境从现有 SOAR 权限组迁移到 Google Cloud Identity and Access Management (IAM) 以进行访问权限控制的 Google Security Operations 统一客户和 SOAR 独立用户。如需观看此过程的视频演示,请参阅 SOAR IAM 迁移视频
Google Cloud 控制台验证流程通过执行以下关键步骤,自动完成从 SOAR 权限到Google Cloud IAM 的过渡:
- 读取现有权限配置,包括自定义权限组和用户分配。
- 生成可复制现有权限组的自定义 IAM 角色。
- 将现有用户和群组映射到新创建的 IAM 角色,以确保保留所有访问权限。
- 创建 IAM 政策,将用户和群组绑定到其分配的角色。
准备工作
在开始迁移之前,请确认满足以下要求:
如果您是 Google SecOps 统一客户,请确保您使用 Cloud IAM 来管理平台 SIEM 端的角色和权限。如需了解详情,请参阅将旧版 RBAC 迁移到功能 RBAC。
请确保您在 Google Cloud 控制台和 SOAR 中使用的是同一身份(电子邮件地址或账号)。
当前用户需要使用其用户凭证登录 Google SecOps 平台,并检查是否可以在 SOAR 设置中看到“群组映射”页面。
IdP 群组映射:如果您使用员工身份联合进行身份验证,请验证所有用户均已映射到群组映射页面中的身份提供方 (IdP) 群组。如需了解 IdP 群组映射,请参阅映射平台中的用户。迁移工具会使用这些映射来创建脚本,以将用户邮箱或群组绑定到 IAM 主账号。
邮箱群组映射:如果您使用 Cloud Identity 进行身份验证,请验证所有用户均已映射到群组映射页面中的邮箱群组。如需了解电子邮件地址映射,请参阅使用 Cloud Identity 在平台中映射用户。迁移工具会使用这些映射来创建脚本,以将用户邮箱或群组绑定到 IAM 主账号。
权限:确认您拥有必要的权限:
迁移后,如果存在未解决的问题,请点击停用 IAM 以将迁移从权限组恢复为 IAM 角色。新创建的 IAM 角色和绑定不会被删除。
您可以通过以下两种方式迁移 SOAR 权限:
使用 Google Cloud CLI 迁移 SOAR 权限
如需将 SOAR 权限迁移到 Google Cloud IAM,请按以下步骤操作:
- 在 Google Cloud 控制台中,前往 Google SecOps 管理设置。
- 点击 SOAR IAM 迁移标签页。

- 在迁移角色绑定部分中,复制 Google Cloud CLI 命令。当系统提供指定新条件的选项时,请选择 2。无。。
- 在 Google Cloud 工具栏中,点击激活 Cloud Shell。
- 在终端窗口中,粘贴 Google Cloud CLI 命令,然后按 Enter 键。

- 确保脚本已成功执行。
- 返回 Google Cloud 控制台,然后在完成此任务部分中,点击启用 IAM。

使用 Terraform 迁移 SOAR 权限
如需使用 Terraform 将 SOAR 权限迁移到 Google Cloud IAM,请按以下步骤操作:
- 在 Google Cloud 控制台中,前往 Google SecOps 管理设置。
- 点击 SOAR IAM 迁移标签页。

- 在迁移角色绑定部分中,复制 Google Cloud CLI 命令。
- 前往您的 Terraform 代码库,并将 Google Cloud CLI 命令映射到相应的 Terraform 等效命令。下表将 Google Cloud CLI 创建自定义角色命令与 Terraform 命令进行了对照。
| gcloud 标志 | Terraform 实参 | 备注 |
|---|---|---|
ROLE_ID(位置) |
role_id |
在 Terraform 中,请勿添加 projects/PROJECT_ID/roles/ 前缀。仅使用 ID 字符串(例如 myCustomRole)。 |
--project |
project |
定义自定义角色的项目的 ID。 |
--title |
title |
角色的直观易懂的名称。 |
--description |
description |
角色用途和权限的摘要。 |
--permissions |
permissions |
gcloud 接受以逗号分隔的字符串。Terraform 需要一个字符串列表:["perm.a", "perm.b"]。 |
--stage |
stage |
有效值:ALPHA、BETA、GA、DEPRECATED、DISABLED、EAP。 |
Google Cloud CLI 到 Terraform 的映射示例
Google Cloud CLI 命令:
gcloud iam roles create SOAR_Custom_managedUser_google.com --project="{customer project}"
--title="SOAR Custom managedUser Role"
--description="SOAR Custom role generated for IDP Mapping Group ManagedUser"
--stage=GA
--permissions=chronicle.cases.get
Terraform 命令:
resource "google_project_iam_custom_role" "{terraform_name}" {
role_id = "SOAR_Custom_managedUser_google.com"
title = "SOAR Custom managedUser Role"
project = "{customer project}"
stage = "GA"
permissions = [
#This is an example!
"chronicle.cases.get"
]
}
IAM 政策绑定(分配角色)
使用 Google Cloud CLI projects add-iam-policy-binding 时,您可以向特定成员(用户、服务账号或群组)授予特定角色。下表将 Google Cloud CLI 命令与 Terraform 命令进行了对应。按顺序映射命令以分配 IAM 角色。
| gcloud 标志 | Terraform 实参 | 备注 |
|---|---|---|
PROJECT_ID(位置) |
project |
目标项目的 ID。 |
--member |
member |
主账号身份(例如 user:email、serviceAccount:email、group:email)。 |
--role |
role |
角色 ID。自定义角色使用完整路径 (projects/ID/roles/NAME),标准角色使用简称 (roles/NAME)。 |
角色分配示例
Google Cloud CLI 命令:
gcloud projects add-iam-policy-binding
{customer project}
--member="user:alice@example.com"
--role="projects/{customer project}/roles/SOAR_Custom_managedUser_google.com"
Terraform 命令:
resource "google_project_iam_member" "{terraform_name}" {
project = "{customer project}"
role = "projects/{customer project}/roles/SOAR_Custom_managedUser_google.com"
member = "user:alice@example.com"
}
迁移后
切换为使用 IAM 权限后,您用于调用 API 的每个 curl 命令都必须通过以下方式发送:使用已映射的服务账号(在 IDP 映射组中映射)发送,或使用至少登录过平台一次的用户发送。
常见问题解答
- 如需查看有关问题和最佳实践的详细列表,请参阅 IAM 角色迁移常见问题解答。