将 SOAR 权限迁移到 Google Cloud IAM

支持的平台:

本文档面向 Google Security Operations 统一客户和 SOAR 独立用户,他们需要将环境从现有的 SOAR 权限组迁移到 Google Cloud Identity and Access Management (IAM) 以进行访问权限控制。如需观看此过程的视频演示,请参阅 SOAR IAM 迁移视频

Google Cloud 控制台验证流程通过执行以下关键步骤,自动完成从 SOAR 权限到Google Cloud IAM 的过渡:

  • 读取现有权限配置,包括自定义权限组和用户分配。
  • 生成可复制现有权限组的自定义 IAM 角色。
  • 将现有用户和群组映射到新创建的 IAM 角色,以确保保留所有访问权限。
  • 创建 IAM 政策,以将用户和群组绑定到其分配的角色。

准备工作

在开始迁移之前,请确认满足以下要求:

您可以通过以下两种方式迁移 SOAR 权限:

  • 使用 Google Cloud CLI
  • 使用 Terraform

使用 Google Cloud CLI 迁移 SOAR 权限

如需将 SOAR 权限迁移到 Google Cloud IAM,请按以下步骤操作:

  1. 在 Google Cloud 控制台中,前往 Google SecOps 管理设置。
  2. 点击 SOAR IAM 迁移标签页。 SOAR IAM 迁移
  3. 迁移角色绑定部分中,复制 Google Cloud CLI 命令。
  4. 在 Google Cloud 工具栏上,点击激活 Cloud Shell
  5. 在终端窗口中,粘贴 Google Cloud CLI 命令,然后按 Enter 键。 粘贴命令
  6. 确保脚本已成功执行。
  7. 返回 Google Cloud 控制台,然后在完成此任务部分中,点击启用 IAM粘贴命令

使用 Terraform 迁移 SOAR 权限

如需使用 Terraform 将 SOAR 权限迁移到 Google Cloud IAM,请按以下步骤操作:

  1. 在 Google Cloud 控制台中,前往 Google SecOps 管理设置。
  2. 点击 SOAR IAM 迁移标签页。 SOAR IAM 迁移
  3. 迁移角色绑定部分中,复制 Google Cloud CLI 命令。
  4. 前往您的 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 有效值:ALPHABETAGADEPRECATEDDISABLEDEAP

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:emailserviceAccount:emailgroup: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"
}