开始使用 GCP 的 CSPM编辑

概述编辑

此页面说明如何使用云安全态势管理 (CSPM) 功能开始监控 GCP 云资产的安全态势。

初始设置编辑

您可以通过注册单个项目或注册包含多个项目的组织来设置 GCP 的 CSPM。无论哪种方式,您都需要先添加 CSPM 集成,然后启用云帐户访问。

添加您的 CSPM 集成编辑
  1. 从 Elastic Security 入门 页面,单击 添加集成
  2. 搜索 CSPM,然后单击结果。
  3. 单击 添加云安全态势管理 (CSPM)
  4. 配置集成 下,选择 GCP,然后选择 GCP 组织(推荐)或 单个帐户
  5. 为您的集成指定一个与您要监控的 GCP 帐户的用途或团队相匹配的名称,例如 dev-gcp-project
设置云帐户访问编辑

要为 GCP 项目设置 CSPM,您需要该项目的管理员权限。

对于大多数用户而言,最简单的选项是使用 Google Cloud Shell 脚本自动在您的 GCP 帐户中配置必要的资源和权限。下面介绍了此方法以及两个手动选项。

Cloud Shell 脚本设置(推荐)编辑

  1. 设置访问 下,选择 Google Cloud Shell。输入您的 GCP 项目 ID,对于 GCP 组织部署,输入您的 GCP 组织 ID。
  2. 将此集成添加到何处

    1. 选择 新主机
    2. 为 Elastic Agent 策略命名。使用与您要监控的云帐户或帐户的用途或团队相匹配的名称。例如,dev-gcp-account
    3. 单击 保存并继续,然后单击 将 Elastic Agent 添加到您的主机添加代理 向导出现并提供 Elastic Agent 二进制文件,您可以下载并部署到您的 GCP 帐户中的 VM。
  3. 单击 保存并继续
  4. 复制出现的命令,然后单击 启动 Google Cloud Shell。它将在新窗口中打开。
  5. 选中复选框以信任 Elastic 的 cloudbeat 存储库,然后单击 确认

    The cloud shell confirmation popup
  6. 在 Google Cloud Shell 中,执行您复制的命令。完成后,返回 Kibana 并等待从您的新集成接收到的数据的确认。然后,您可以单击 查看资产 以查看您的数据。

如果您在运行命令时遇到任何问题,请返回 Kibana 并再次导航到 Google Cloud Shell。

在 Cloud Shell 设置期间,CSPM 集成会将角色添加到 Google 的默认服务帐户,这会启用自定义角色创建以及将服务帐户附加到计算实例。设置后,这些角色会从服务帐户中移除。如果您尝试删除部署但发现部署管理器缺少必要的权限,请考虑将缺少的角色添加到服务帐户:项目 IAM 管理员角色管理员

手动身份验证(GCP 组织)编辑

要手动验证以监控 GCP 组织,您需要创建一个新的 GCP 服务帐户,为其分配必要的角色,生成凭据,然后将这些凭据提供给 CSPM 集成。

使用以下命令,将 <SA_NAME> 替换为新服务帐户的名称,将 <ORG_ID> 替换为您的 GCP 组织 ID,将 <PROJECT_ID> 替换为要置备将运行 CSPM 的计算实例的 GCP 项目的项目 ID。

创建新的服务帐户

gcloud iam service-accounts create <SA_NAME> \
    --description="Elastic agent service account for CSPM" \
    --display-name="Elastic agent service account for CSPM" \
    --project=<PROJECT_ID>

将必要的角色分配给服务帐户

gcloud organizations add-iam-policy-binding <ORG_ID> \
    --member=serviceAccount:<SA_NAME>@<PROJECT_ID>.iam.gserviceaccount.com \
    --role=roles/cloudasset.viewer

gcloud organizations add-iam-policy-binding <ORG_ID> \
    --member=serviceAccount:<SA_NAME>@<PROJECT_ID>.iam.gserviceaccount.com \
    --role=roles/browser

Cloud Asset Viewer 角色授予对云资产元数据的读取访问权限。Browser 角色授予对项目层次结构的读取访问权限。

下载凭据 JSON(首先,将 <KEY_FILE> 替换为您要将其保存到的位置)

gcloud iam service-accounts keys create <KEY_FILE> \
    --iam-account=<SA_NAME>@<PROJECT_ID>.iam.gserviceaccount.com

将凭据 JSON 保存在安全的位置;您稍后会需要它。

向 CSPM 集成提供凭证

  1. 设置访问权限 下的 CSPM 设置屏幕上,选择 手动
  2. 输入你的 GCP 组织 ID。输入你要置备将运行 CSPM 的计算实例的 GCP 项目 ID
  3. 选择 凭证 JSON,并输入你之前生成的值。
  4. 将此集成添加到何处 下,选择 新主机
  5. 为 Elastic Agent 策略命名。使用与您要监控的云帐户或帐户的用途或团队相匹配的名称。例如,dev-gcp-account
  6. 点击 保存并继续,然后按照说明在所选 GCP 项目中安装 Elastic Agent。

等待 Kibana 从你的新集成接收数据的确认。然后你可以点击 查看资产 来查看你的数据。

手动身份验证(GCP 项目)编辑

要手动进行身份验证以监控单个 GCP 项目,你需要创建一个新的 GCP 服务帐户,为其分配必要的角色,生成凭证,然后将这些凭证提供给 CSPM 集成。

在将 <SA_NAME> 替换为你的新服务帐户的名称,并将 <PROJECT_ID> 替换为你的 GCP 项目 ID 后,使用以下命令。

创建新的服务帐户

gcloud iam service-accounts create <SA_NAME> \
    --description="Elastic agent service account for CSPM" \
    --display-name="Elastic agent service account for CSPM" \
    --project=<PROJECT_ID>

将必要的角色分配给服务帐户

gcloud projects add-iam-policy-binding <PROJECT_ID> \
    --member=serviceAccount:<SA_NAME>@<PROJECT_ID>.iam.gserviceaccount.com \
    --role=roles/cloudasset.viewer

gcloud projects add-iam-policy-binding <PROJECT_ID> \
    --member=serviceAccount:<SA_NAME>@<PROJECT_ID>.iam.gserviceaccount.com \
    --role=roles/browser

Cloud Asset Viewer 角色授予对云资产元数据的读取访问权限。Browser 角色授予对项目层次结构的读取访问权限。

下载凭据 JSON(首先,将 <KEY_FILE> 替换为您要将其保存到的位置)

gcloud iam service-accounts keys create <KEY_FILE> \
    --iam-account=<SA_NAME>@<PROJECT_ID>.iam.gserviceaccount.com

将凭据 JSON 保存在安全的位置;您稍后会需要它。

向 CSPM 集成提供凭证

  1. 设置访问权限 下的 CSPM 设置屏幕上,选择 手动
  2. 输入你的 GCP 项目 ID
  3. 选择 凭证 JSON,并输入你之前生成的值。
  4. 将此集成添加到何处 下,选择 新主机
  5. 为 Elastic Agent 策略命名。使用与您要监控的云帐户或帐户的用途或团队相匹配的名称。例如,dev-gcp-account
  6. 点击 保存并继续,然后按照说明在所选 GCP 项目中安装 Elastic Agent。

等待 Kibana 从你的新集成接收数据的确认。然后你可以点击 查看资产 来查看你的数据。