将 Compute Engine 与 Google SecOps 集成

集成版本:13.0

本文档介绍了如何将 Compute Engine 与 Google Security Operations 集成。

使用场景

Compute Engine 集成使用 Google SecOps 功能来支持以下使用情形:

  • 自动安全事件响应:使用 playbook 自动将遭入侵的 Compute Engine 实例与网络隔离。自动隔离可限制攻击的蔓延,缩短响应时间,并减轻安全团队的工作负担。

  • 威胁搜寻和调查:自动从多个项目中的 Compute Engine 实例收集日志和安全遥测数据。通过分析这些整合的数据,您可以主动搜寻威胁,并自动收集数据,从而加快调查速度。

  • 漏洞管理:将漏洞扫描工具与 Google SecOps 集成,以自动扫描 Compute Engine 实例是否存在已知漏洞。生成补救工单或直接修补漏洞,以降低被利用的风险并改善安全状况。

  • 合规性自动化:自动从 Compute Engine 实例收集审核日志和配置数据,以符合监管要求。为审核人员生成报告和信息中心,以简化合规性报告并减少人工工作量。

  • 安全编排:编排跨多个Google Cloud 服务(包括 Compute Engine)的安全工作流。例如,触发创建新的防火墙规则,以响应在实例上检测到的安全事件,从而实现更协调、更自动化的安全态势。

准备工作

如需将 Compute Engine 与 Google SecOps 集成,您必须配置具有必要权限的服务账号。

创建自定义 IAM 角色

创建自定义 Identity and Access Management (IAM) 角色,其中包含集成管理实例所需的特定权限。

  1. 在 Google Cloud 控制台中,前往 IAM 和管理 > 角色

    打开“角色”

  2. 点击 Create role

  3. 提供标题(例如 SecOps Compute Engine Integration)、说明和唯一的 ID

  4. 角色发布阶段设置为正式版

  5. 点击添加权限,然后添加以下权限:

    • compute.instances.list
    • compute.instances.start
    • compute.instances.stop
    • compute.instances.delete
    • compute.instances.setLabels
    • compute.instances.getIamPolicy
    • compute.instances.setIamPolicy
    • compute.instances.get
    • compute.zones.list
  6. 点击创建

创建服务账号

创建一个服务账号,供集成在您的项目中执行操作。

  1. 在 Google Cloud 控制台中,依次前往 IAM 和管理 > 服务账号

    转到“服务账号”

  2. 选择项目,然后点击创建服务账号

  3. 输入服务账号名称说明,然后点击创建并继续

  4. 向此服务账号授予对项目的访问权限这一步中,搜索并选择您在上一个部分中创建的自定义角色。

  5. 点击完成

配置身份验证方法

建议使用 Workload Identity 身份验证方法,因为该方法从根本上来说更安全。这些选项之间的区别如下:

  1. JSON 密钥:此方法依赖于静态的长期有效的 Secret,如果被破解,会带来持续的安全风险。

  2. Workload Identity:此方法使用短期有效的临时访问令牌,无需存储任何 Secret,从而大大提高安全性。

配置 JSON 密钥

如需创建 JSON 密钥,请完成以下步骤:

  1. 选择您的服务账号,然后前往密钥
  2. 点击添加密钥
  3. 选择创建新密钥
  4. 对于密钥类型,选择 JSON,然后点击创建。此时会显示一个对话框,提示私钥已保存到您的计算机,然后系统会将该私钥的副本下载到您的计算机。

配置 Workload Identity 凭据

借助 Workload Identity,您可以从 Google SecOps 实例安全地访问 Google Cloud 资源,而无需导出凭据。

向 Google SecOps 实例授予模拟权限

如需使用 Workload Identity,您必须向 Google SecOps 实例授予模拟服务账号的权限。这是最后一步,可让实例安全地访问 Google Cloud 资源。

  1. 在 Google SecOps 中,前往内容中心 > 响应集成

  2. 选择您要配置的集成,然后在 Workload Identity Email 字段中输入您的服务账号电子邮件地址。

  3. Delegated Email 字段中输入您希望集成模拟的电子邮件地址。

  4. 依次点击保存 > 测试。测试预计会失败。

  5. 点击测试右侧的 close_small,然后搜索错误消息中的 gke-init-python@YOUR_PROJECT。复制此唯一电子邮件地址,该地址用于标识您的 Google SecOps 实例。

  6. 依次前往 IAM 和管理 > 服务账号,选择您的项目,然后选择您的服务账号。

  7. 依次选择具有访问权限的主账号> 添加授予访问权限

  8. 添加主账号下,粘贴您复制的值。

  9. 添加角色下,选择 Service Account Token Creator (roles/iam.serviceAccountTokenCreator) 角色。

集成参数

Compute Engine 集成需要以下参数:

参数 说明
API Root

可选。

Compute Engine API 的基本网址。

默认值为 https://compute.googleapis.com

OS Config API Root

可选。

Cloud OS Config API 的基本网址。

默认值为 https://osconfig.googleapis.com

Account Type

可选。

Google Cloud 账号的类型。

这对应于服务账号密钥 JSON 文件中的 type 字段。

默认值为 service_account

Project ID

可选。

Google Cloud 项目的 ID。

这对应于服务账号密钥 JSON 文件中的 project_id 字段。

Private Key ID

可选。

Google Cloud 账号的私钥 ID。

这对应于服务账号密钥 JSON 文件中的 private_key_id 字段。

Private Key

可选。

Google Cloud 账号的私钥。

这对应于服务账号密钥 JSON 文件中的 private_key 字段。

Client Email

可选。

Google Cloud 账号的客户端电子邮件地址。

这对应于服务账号密钥 JSON 文件中的 client_email 字段。

Client ID

可选。

Google Cloud 账号的客户端 ID。

这对应于服务账号密钥 JSON 文件中的 client_id 字段。

Auth URI

可选。

Google Cloud 账号的身份验证 URI。

这对应于服务账号密钥 JSON 文件中的 auth_uri 字段。

默认值为 https://accounts.google.com/o/oauth2/auth

Token URI

可选。

Google Cloud 账号的令牌 URI。

这对应于服务账号密钥 JSON 文件中的 token_uri 字段。

默认值为 https://oauth2.googleapis.com/token

Auth Provider X509 URL

可选。

Google Cloud 账号的身份验证提供方 X.509 网址。

这对应于服务账号密钥 JSON 文件中的 auth_provider_x509_cert_url 字段。

默认值为 https://www.googleapis.com/oauth2/v1/certs

Client X509 URL

可选。

Google Cloud 账号的客户端 X.509 网址。

此字段对应于服务账号密钥 JSON 文件中的 client_x509_cert_url 字段。

Service Account Json File Content

可选。

服务账号密钥 JSON 文件的内容。

如果您使用服务账号密钥进行身份验证,请使用此参数。 粘贴下载的 JSON 文件的完整内容。

如果您使用此参数,请将 Workload Identity Email 留空。

Workload Identity Email

可选。

您要模拟的服务账号的电子邮件地址。

如果您使用 Workload Identity 进行身份验证,请使用此参数。

如果您使用此参数,请将 User Service Account JSON 留空。

Verify SSL

必填。

如果选择此项,集成会在连接到 Compute Engine 服务器时验证 SSL 证书。

默认处于启用状态。

如需了解如何在 Google SecOps 中配置集成,请参阅配置集成

如有需要,您可以在稍后阶段进行更改。配置集成实例后,您可以在 playbook 中使用该实例。如需详细了解如何配置和支持多个实例,请参阅支持多个实例

操作

如需详细了解操作,请参阅 在工作台页面中处理待处理的操作执行手动操作

向防火墙规则添加 IP

使用向防火墙规则添加 IP 范围操作,将 IP 范围附加到 Compute Engine 实例中的现有防火墙规则。

此操作不适用于 Google SecOps 实体。

操作输入

将 IP 添加到防火墙规则操作需要以下参数:

参数 说明
Resource Name

可选。

Compute Engine 实例的完整资源名称,格式为 /projects/PROJECT_ID/global/ firewallsFIREWALL

此参数的优先级高于 Project IDFirewall Rule

Project ID

可选。

与 Compute Engine 实例关联的项目名称。

如果未提供任何值,则操作会使用集成配置中的项目 ID。

Firewall Rule

可选。

要更新的特定防火墙规则的名称。

Type

必填。

要添加的 IP 范围的流量方向。

可能的值如下:

  • Source
  • Destination

默认值为 Source

IP Ranges

必填。

要添加到防火墙规则中的 IP 地址范围(CIDR 表示法)的逗号分隔列表。

操作输出

将 IP 添加到防火墙规则操作提供以下输出:

操作输出类型 可用性
案例墙附件 不可用
案例墙链接 不可用
“支持请求墙”表格 不可用
丰富化表 不可用
JSON 结果 可用
输出消息 可用
脚本结果 可用
JSON 结果

以下示例展示了使用向防火墙规则添加 IP 操作时收到的 JSON 结果输出:

{
  "kind": "compute#operation",
  "id": "0000000000000000000",
  "name": "operation-1716223324528-618e5619d1f93-174eac81-6b38200d",
  "operationType": "patch",
  "targetLink": "https://www.googleapis.com/compute/v1/projects/project-id/global/firewalls/firewall-name",
  "targetId": "7886634413370691799",
  "status": "DONE",
  "user": "compute-admin@project-id.iam.gserviceaccount.com",
  "progress": 100,
  "insertTime": "2024-05-20T09:42:05.150-07:00",
  "startTime": "2024-05-20T09:42:05.164-07:00",
  "endTime": "2024-05-20T09:42:09.381-07:00",
  "selfLink": "https://www.googleapis.com/compute/v1/projects/project-id/global/operations/operation-1234567890",
  "firewall": {
    "kind": "compute#firewall",
    "id": "6297155974506248217",
    "creationTimestamp": "2023-09-13T07:28:06.690-07:00",
    "name": "firewall-name",
    "description": "",
    "network": "https://www.googleapis.com/compute/v1/projects/project-id/global/networks/vpc-network",
    "priority": 1000,
    "sourceRanges": [
      "0.0.0.0/0"
    ],
    "destinationRanges": [
      "0.0.0.0/21"
    ],
    "allowed": [
      {
        "IPProtocol": "tcp",
        "ports": [
          "22"
        ]
      }
    ],
    "direction": "INGRESS",
    "logConfig": {
      "enable": false
    },
    "disabled": false,
    "selfLink": "https://www.googleapis.com/compute/v1/projects/project-id/global/firewalls/firewall-name"
  }
}
输出消息

将 IP 添加到防火墙规则操作可以返回以下输出消息:

输出消息 消息说明

Successfully updated firewall rule in Google Cloud Compute.

Waiting for the operation to finish execution on the RESOURCE_PATH instance in Google Cloud Compute.

操作成功。
Error executing action "Add IP To Firewall Rule". Reason: ERROR_REASON

操作失败。

检查与服务器的连接、输入参数或凭据。

脚本结果

下表列出了使用向防火墙规则添加 IP 操作时脚本结果输出的值:

脚本结果名称
is_success truefalse

为实例添加标签

使用为实例添加标签操作可为特定 Compute Engine 实例添加或更新标签。

此操作不适用于 Google SecOps 实体。

操作输入

向实例添加标签操作需要以下参数:

参数 说明
Resource Name

可选。

Compute Engine 实例的完整资源名称,格式为 /project/PROJECT_ID/zone/ ZONE_ID/instances/ INSTANCE_ID

此参数的优先级高于 Project IDInstance ZoneInstance ID

Project ID

可选。

与 Compute Engine 实例关联的项目的 ID。

如果未提供任何值,该操作会从集成配置中检索项目 ID。

Instance Zone

可选。

实例所在的具体可用区。

如果您使用 Instance ZoneInstance ID 标识实例,则此参数是必需的。

Instance ID

可选。

Compute Engine 实例的唯一 ID。

如果您使用 Instance ZoneInstance ID 标识实例,则此参数是必需的。

Instance Labels

必填。

以英文逗号分隔的标签列表,用于应用于实例,格式为 key:value(例如 vm_label_key:label1)。

操作输出

为实例添加标签操作提供以下输出:

操作输出类型 可用性
案例墙附件 不可用
案例墙链接 不可用
“支持请求墙”表格 不可用
丰富化表 不可用
JSON 结果 可用
输出消息 可用
脚本结果 可用
JSON 结果

以下示例介绍了使用向实例添加标签操作时收到的 JSON 结果输出:

{
   "id": "ID",
   "name": "operation-OPERATION_ID",
   "zone": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-central1-a",
   "operationType": "setLabels",
   "targetLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-central1-a/instances/INSTANCE_ID",
   "targetId": "INSTANCE_ID",
   "status": "RUNNING",
   "user": "user@example.com",
   "progress": 0,
   "insertTime": "2021-04-28T23:01:29.395-07:00",
   "startTime": "2021-04-28T23:01:29.397-07:00",
   "selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-central1-a/operations/operation-OPERATION_ID",
   "kind": "compute#operation"
}
输出消息

向实例添加标签操作可以返回以下输出消息:

输出消息 消息说明

Labels LABEL_LIST were successfully added to Compute Engine instance INSTANCE_ID.

Provided instance zone ZONE_ID is not valid.

Provided instance ID is not valid.

Labels were not added because provided label LABEL_ID has the key that already exist for the Compute Engine instance INSTANCE_ID.

操作成功。
Error executing action "Add Labels to Instance". Reason: ERROR_REASON

操作失败。

检查与服务器的连接、输入参数或凭据。

脚本结果

下表列出了使用为实例添加标签操作时脚本结果输出的值:

脚本结果名称
is_success truefalse

添加网络标记

使用添加网络标记操作可向特定 Compute Engine 实例附加一个或多个网络标记。

此操作不适用于 Google SecOps 实体。

操作输入

添加网络标记操作需要以下参数:

参数 说明
Resource Name

可选。

Compute Engine 实例的完整资源名称,格式为 /project/PROJECT_ID/zone/ ZONE_ID/instances/ INSTANCE_ID

此参数的优先级高于 Project IDInstance ZoneInstance ID

Project ID

可选。

与 Compute Engine 实例关联的项目的 ID。

如果未提供任何值,该操作会从集成配置中检索项目 ID。

Instance Zone

可选。

实例所在的具体可用区。

如果您使用 Instance ZoneInstance ID 标识实例,则此参数是必需的。

Instance ID

可选。

Compute Engine 实例的唯一 ID。

如果您使用 Instance ZoneInstance ID 标识实例,则此参数是必需的。

Network Tags

必填。

要添加到实例的网络标记的逗号分隔列表。

所有标记都只能包含小写字母、数字和连字符。

操作输出

添加网络标记操作提供以下输出:

操作输出类型 可用性
案例墙附件 不可用
案例墙链接 不可用
“支持请求墙”表格 不可用
丰富化表 不可用
JSON 结果 可用
输出消息 可用
脚本结果 可用
JSON 结果

以下示例展示了使用添加网络标记操作时收到的 JSON 结果输出:

{
  "kind": "compute#instance",
  "id": "1459671903146615834",
  "creationTimestamp": "2023-09-13T04:20:21.993-07:00",
  "name": "instance-2",
  "description": "",
  "tags": {
    "items": [
      "another-tag",
      "tag"
    ],
    "fingerprint": "BCeEINC7Ths="
  },
  "machineType": "https://www.googleapis.com/compute/v1/projects/project-id/zones/us-central1-a/machineTypes/e2-micro",
  "status": "RUNNING",
  "zone": "https://www.googleapis.com/compute/v1/projects/project-id/zones/us-central1-a",
  "canIpForward": false,
  "networkInterfaces": [
    {
      "kind": "compute#networkInterface",
      "network": "https://www.googleapis.com/compute/v1/projects/project-id/global/networks/default",
      "subnetwork": "https://www.googleapis.com/compute/v1/projects/project-id/regions/us-central1/subnetworks/default",
      "networkIP": "10.128.0.3",
      "name": "nic0",
      "fingerprint": "-ZnnV7hiDfs=",
      "stackType": "IPV4_ONLY"
    }
  ],
  "disks": [
    {
      "kind": "compute#attachedDisk",
      "type": "PERSISTENT",
      "mode": "READ_WRITE",
      "source": "https://www.googleapis.com/compute/v1/projects/project-id/zones/us-central1-a/disks/instance-2",
      "deviceName": "instance-2",
      "index": 0,
      "boot": true,
      "autoDelete": true,
      "licenses": [
        "https://www.googleapis.com/compute/v1/projects/centos-cloud/global/licenses/centos-7"
      ],
      "interface": "SCSI",
      "guestOsFeatures": [
        { "type": "UEFI_COMPATIBLE" },
        { "type": "GVNIC" }
      ],
      "diskSizeGb": "20",
      "architecture": "X86_64"
    }
  ],
  "metadata": {
    "kind": "compute#metadata",
    "fingerprint": "NBmH4-7Jw9U=",
    "items": []
  },
  "serviceAccounts": [
    {
      "email": "1111111111-compute@developer.gserviceaccount.com",
      "scopes": [
        "https://www.googleapis.com/auth/devstorage.read_only",
        "https://www.googleapis.com/auth/logging.write",
        "https://www.googleapis.com/auth/monitoring.write",
        "https://www.googleapis.com/auth/servicecontrol",
        "https://www.googleapis.com/auth/service.management.readonly",
        "https://www.googleapis.com/auth/trace.append"
      ]
    }
  ],
  "selfLink": "https://www.googleapis.com/compute/v1/projects/project-id/zones/us-central1-a/instances/instance-2",
  "scheduling": {
    "onHostMaintenance": "MIGRATE",
    "automaticRestart": true,
    "preemptible": false,
    "provisioningModel": "STANDARD"
  },
  "cpuPlatform": "Intel Broadwell",
  "deletionProtection": false,
  "shieldedInstanceConfig": {
    "enableSecureBoot": false,
    "enableVtpm": true,
    "enableIntegrityMonitoring": true
  }
}
输出消息

添加网络标记操作可以返回以下输出消息:

输出消息 消息说明

Successfully added network tags to the instance RESOURCE_PATH in Compute Engine.

Waiting for the operation to finish execution on the RESOURCE_PATH instance in Compute Engine.

操作成功。
Error executing action "Add Network Tags". Reason: ERROR_REASON

操作失败。

检查与服务器的连接、输入参数或凭据。

脚本结果

下表列出了使用添加网络标记操作时脚本结果输出的值:

脚本结果名称
is_success truefalse

删除实例

使用删除实例操作删除 Compute Engine 实例。

此操作不适用于 Google SecOps 实体。

操作输入

删除实例操作需要以下参数:

参数 说明
Resource Name

可选。

Compute Engine 实例的完整资源名称,格式为 /project/PROJECT_ID/zone/ ZONE_ID/instances/ INSTANCE_ID

此参数的优先级高于 Project IDInstance ZoneInstance ID

Project ID

可选。

与 Compute Engine 实例关联的项目的 ID。

如果未提供任何值,该操作会从集成配置中检索项目 ID。

Instance Zone

可选。

实例所在的具体可用区。

如果您使用 Instance ZoneInstance ID 标识实例,则此参数是必需的。

Instance ID

可选。

要启动的实例的唯一 ID。

您可以使用列出实例操作检索此值。

如果您使用 Instance ZoneInstance ID 标识实例,则此参数是必需的。

操作输出

删除实例操作会提供以下输出:

操作输出类型 可用性
案例墙附件 不可用
案例墙链接 不可用
“支持请求墙”表格 不可用
丰富化表 不可用
JSON 结果 可用
输出消息 可用
脚本结果 可用
JSON 结果

以下示例介绍了使用删除实例操作时收到的 JSON 结果输出:

{
   "id": "ID",
   "name": "operation-OPERATION_ID",
   "zone": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-central1-a",
   "operationType": "delete",
   "targetLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-central1-a/instances/INSTANCE_ID",
   "targetId": "INSTANCE_ID",
   "status": "RUNNING",
   "user": "user@example.com",
   "progress": 0,
   "insertTime": "2021-04-28T23:01:29.395-07:00",
   "startTime": "2021-04-28T23:01:29.397-07:00",
   "selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-central1-a/operations/operation-OPERATION_ID",
   "kind": "compute#operation"
}
输出消息

删除实例操作可能会返回以下输出消息:

输出消息 消息说明

Compute Engine instance INSTANCE_ID was deleted successfully.

Provided instance zone ZONE_ID is not valid.

Provided instance ID is not valid.

操作成功。

Error executing action "Start Instance". Reason: ERROR_REASON

Provided resource RESOURCE_PATH is not valid

操作失败。

检查与服务器的连接、输入参数或凭据。

脚本结果

下表列出了使用 Delete Instance 操作时脚本结果输出的值:

脚本结果名称
is_success truefalse

丰富实体

使用 Enrich Entities 操作,通过 Compute Engine 中的实例信息来丰富 Google SecOps IP Address 实体。

此操作适用于以下 Google SecOps 实体:

  • IP Address

操作输入

丰富实体操作需要以下参数:

参数 说明
Project ID

可选。

与 Compute Engine 实例关联的项目的 ID。

如果未提供任何值,该操作会从集成配置中检索项目 ID。

Instance Zone

可选。

实例所在的具体可用区。

操作输出

丰富实体操作提供以下输出:

操作输出类型 可用性
案例墙附件 不可用
案例墙链接 不可用
“支持请求墙”表格 可用
丰富化表 可用
JSON 结果 可用
输出消息 可用
脚本结果 可用
“支持请求墙”表格

执行完成后,丰富实体操作会提供下表:

表名称:ENTITY 扩充表

列:

  • 实体字段
丰富化表

丰富实体操作支持以下实体丰富功能:

扩充项字段 来源(JSON 键) 逻辑
Google_Compute_instance_id id 不可用
Google_Compute_creation_timestamp creationTimestamp 不可用
Google_Compute_instance_name name 不可用
Google_Compute_description description 不可用
Google_Compute_tags tags 以 CSV 列表形式提供标记
Google_Compute_machine_type machineType 不可用
Google_Compute_instance_status status 不可用
Google_Compute_instance_zone zone 不可用
Google_Compute_can_ip_forward canIpForward 不可用
Google_Compute_instance_network_interfaces_name_INDEX networkInterfaces.name 如果有更多可用的网络接口,则展开
Google_Compute_instance_network_interfaces_name_access_configs_type_INDEX networkInterfaces.accessConfigs.type 如果有更多可用的网络接口,则展开
Google_Compute_instance_network_interfaces_name_access_configs_name_INDEX networkInterfaces.accessConfigs.name 如果有更多可用的网络接口,则展开
Google_Compute_instance_network_interfaces_name_access_configs_natIP_INDEX networkInterfaces.accessConfigs.natIP 如果有更多可用的网络接口,则展开
Google_Compute_instance_metadata metadata 实例元数据中的值(以 CSV 格式列出)
Google_Compute_service_account_INDEX serviceAccounts.email 如果还有其他服务账号可用,则展开
Google_Compute_service_account_scopes_INDEX serviceAccounts.scopes 如果还有其他服务账号可用,则展开
Google_Compute_link_to_Google_Compute selfLink 不可用
Google_Compute_labels labels 提供以 CSV 格式列出的值
Google_Compute_instance_last_start_timestamp lastStartTimestamp 不可用
Google_Compute_instance_last_stop_timestamp lastStopTimestamp 不可用
JSON 结果

以下示例介绍了使用丰富实体操作时收到的 JSON 结果输出:

{
    "id": "ID",
    "creationTimestamp": "2021-04-28T21:34:57.369-07:00",
    "name": "instance-1",
    "description": "",
    "tags": {
        "fingerprint": "VALUE"
    },
    "machineType": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-central1-a/machineTypes/f1-micro",
    "status": "RUNNING",
    "zone": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-central1-a",
    "canIpForward": false,
    "networkInterfaces": [
        {
            "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/default",
            "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/subnetworks/default",
            "networkIP": "203.0.113.2",
            "name": "example",
            "accessConfigs": [
                {
                    "type": "ONE_TO_ONE_NAT",
                    "name": "External NAT",
                    "natIP": "198.51.100.59",
                    "networkTier": "PREMIUM",
                    "kind": "compute#accessConfig"
                }
            ],
            "fingerprint": "VALUE",
            "kind": "compute#networkInterface"
        }
    ],
    "disks": [
        {
            "type": "PERSISTENT",
            "mode": "READ_WRITE",
            "source": "https://www.googleapis.com/compute/v1/PROJECT_ID/zones/us-central1-a/disks/instance-1",
            "deviceName": "instance-1",
            "index": 0,
            "boot": true,
            "autoDelete": true,
            "licenses": [
                "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/licenses/LICENSE"
            ],
            "interface": "SCSI",
            "guestOsFeatures": [
                {
                    "type": "UEFI_COMPATIBLE"
                },
                {
                    "type": "VIRTIO_SCSI_MULTIQUEUE"
                }
            ],
            "diskSizeGb": "10",
            "kind": "compute#attachedDisk"
        }
    ],
    "metadata": {
        "fingerprint": "VALUE",
        "kind": "compute#metadata"
    },
    "serviceAccounts": [
        {
            "email": "user@example.com",
            "scopes": [
                "https://www.googleapis.com/auth/devstorage.read_only",
                "https://www.googleapis.com/auth/logging.write",
                "https://www.googleapis.com/auth/monitoring.write",
                "https://www.googleapis.com/auth/servicecontrol",
                "https://www.googleapis.com/auth/service.management.readonly",
                "https://www.googleapis.com/auth/trace.append"
            ]
        }
    ],
    "selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-central1-a/instances/instance-1",
    "scheduling": {
        "onHostMaintenance": "MIGRATE",
        "automaticRestart": true,
        "preemptible": false
    },
    "cpuPlatform": "Intel Haswell",
    "labels": {
        "vm_test_tag": "tag1"
    },
    "labelFingerprint": "VALUE",
    "startRestricted": false,
    "deletionProtection": false,
    "reservationAffinity": {
        "consumeReservationType": "ANY_RESERVATION"
    },
    "displayDevice": {
        "enableDisplay": false
    },
    "shieldedInstanceConfig": {
        "enableSecureBoot": false,
        "enableVtpm": true,
        "enableIntegrityMonitoring": true
    },
    "shieldedInstanceIntegrityPolicy": {
        "updateAutoLearnPolicy": true
    },
    "confidentialInstanceConfig": {
        "enableConfidentialCompute": false
    },
    "fingerprint": "VALUE",
    "lastStartTimestamp": "2021-04-28T21:35:07.865-07:00",
    "kind": "compute#instance"
}
输出消息

丰富实体操作可以返回以下输出消息:

输出消息 消息说明

Successfully enriched entities: ENTITY_ID.

Provided instance zone ZONE_ID is not valid.

Action was not able to find a match Compute Engine to enrich provided entities: ENTITY_ID.

No entities were enriched.

操作成功。
Error executing action "Enrich Entities". Reason: ERROR_REASON

操作失败。

检查与服务器的连接、输入参数或凭据。

脚本结果

下表列出了使用丰富实体操作时脚本结果输出的值:

脚本结果名称
is_success truefalse

执行虚拟机补丁作业

使用 Execute VM Patch Job 操作在 Compute Engine 实例上执行虚拟机补丁作业。

此操作不适用于 Google SecOps 实体。

操作输入

执行虚拟机补丁作业操作需要以下参数:

参数 说明
Instance Filter Object

必填。

用于指定要修补的特定实例的 JSON 对象。

默认值以所有实例为目标:

{
  "all": "true"
}
    
Name

必填。

修补作业的唯一名称。

Description

可选。

修补作业用途的简要说明。

Patching Config Object

可选。

一个 JSON 对象,用于定义不同操作系统的具体更新步骤和配置。

如果未提供任何值,则操作会使用以下默认值:

{
  "rebootConfig": "DEFAULT",
  "apt": {
    "type": "DIST"
  },
  "yum": {
    "security": true
  },
  "zypper": {
    "withUpdate": true
  },
  "windowsUpdate": {
    "classifications": ["CRITICAL", "SECURITY"]
  }
}
    
Patch Duration Timeout

必填。

修补作业可运行的最长时间(以分钟为单位)。

默认值为 60

Rollout Strategy

可选。

用于在多个可用区中部署补丁的方法。

可能的值如下:

  • Zone By Zone:一次只对一个可用区应用补丁,以最大限度地降低风险。
  • Concurrent Zones:同时将补丁应用于所有目标可用区,以缩短总维护窗口。

默认值为 Zone By Zone

Disruption Budget

必填。

可同时离线的实例数量或百分比(例如 510%)。

默认值为 10%

Wait For Completion

必填。

如果选择此项,相应操作会一直处于有效状态,直到修补作业完成。

默认处于启用状态。

Fail If Completed With Errors

必填。

如果选择此项,当作业状态为 Completed with errors 或达到超时限制时,相应操作会失败。

如果 Wait For Completion 处于停用状态,系统会忽略此参数。

默认处于启用状态。

操作输出

执行虚拟机补丁作业操作提供以下输出:

操作输出类型 可用性
案例墙附件 不可用
案例墙链接 不可用
“支持请求墙”表格 不可用
丰富化表 不可用
JSON 结果 可用
输出消息 可用
脚本结果 可用
JSON 结果

以下示例展示了在使用执行虚拟机补丁作业操作时收到的 JSON 结果输出:

{
            "name": "projects/PROJECT_ID/patchJobs/JOB_ID",
            "createTime": "2024-09-24T16:00:43.354907Z",
            "updateTime": "2024-09-24T16:00:44.626050Z",
            "state": "PATCHING",
            "patchConfig": {
                "rebootConfig": "DEFAULT",
                "apt": {
                    "type": "UPGRADE"
                },
                "yum": {},
                "zypper": {},
                "windowsUpdate": {}
            },
            "duration": "3600s",
            "instanceDetailsSummary": {
                "startedInstanceCount": "1"
            },
            "percentComplete": 20,
            "instanceFilter": {
                "instances": [
                    "zones/us-central1-a/instances/INSTANCE_ID"
                ]
            },
            "displayName": "test",
            "rollout": {
                "mode": "ZONE_BY_ZONE",
                "disruptionBudget": {
                    "percent": 25
                }
            }
        }
输出消息

执行虚拟机补丁作业操作可以返回以下输出消息:

输出消息 消息说明

Successfully executed VM patching job in Google Cloud Compute.

Successfully executed and completed VM patching job in Google Cloud Compute.

The executed patching job was canceled in Google Cloud Compute.

The executed patching job was completed, but with errors in Compute Engine. Errors: ERROR_DESCRIPTION

操作成功。
Error executing action "Execute VM Patch Job". Reason: ERROR_REASON

操作失败。

检查与服务器的连接、输入参数或凭据。

脚本结果

下表列出了使用 Execute VM Patch Job 操作时脚本结果输出的值:

脚本结果名称
is_success truefalse

获取实例 IAM 政策

使用 Get Instance IAM Policy 操作可检索特定 Compute Engine 资源的 Identity and Access Management (iam_name_short) 访问权限控制政策。

此操作不适用于 Google SecOps 实体。

操作输入

获取实例 IAM 政策操作需要以下参数:

参数 说明
Resource Name

可选。

Compute Engine 实例的完整资源名称,格式为 /project/PROJECT_ID/zone/ ZONE_ID/instances/ INSTANCE_ID

此参数的优先级高于 Project IDInstance ZoneInstance ID

Project ID

可选。

与 Compute Engine 实例关联的项目的 ID。

如果未提供任何值,该操作会从集成配置中检索项目 ID。

Instance Zone

可选。

实例所在的具体可用区。

如果您使用 Instance ZoneInstance ID 标识实例,则此参数是必需的。

Instance ID

可选。

要启动的实例的唯一 ID。

您可以使用列出实例操作检索此值。

如果您使用 Instance ZoneInstance ID 标识实例,则此参数是必需的。

操作输出

获取实例 IAM 政策操作提供以下输出:

操作输出类型 可用性
案例墙附件 不可用
案例墙链接 不可用
“支持请求墙”表格 不可用
丰富化表 不可用
JSON 结果 可用
输出消息 可用
脚本结果 可用
JSON 结果

以下示例介绍了使用获取实例 IAM 政策 操作时收到的 JSON 结果输出:

{
    "version": 1,
    "etag": "BwXBfsc47MI=",
    "bindings": [
        {
            "role": "roles/compute.networkViewer_withcond_2f0c00",
            "members": [
                "user:user@example.com"
            ]
        }
    ]
}
输出消息

获取实例 IAM 政策操作可以返回以下输出消息:

输出消息 消息说明

Compute Engine instance INSTANCE_ID IAM policy was fetched successfully.

Provided instance zone ZONE_ID is not valid.

Provided instance ID is not valid.

操作成功。
Error executing action "Get Instance IAM Policy". Reason: ERROR_REASON

操作失败。

检查与服务器的连接、输入参数或凭据。

脚本结果

下表列出了使用 Get Instance IAM Policy 操作时脚本结果输出的值:

脚本结果名称
is_success truefalse

列出实例

使用 List Instances 操作可根据指定的搜索条件列出 Compute Engine 实例。

此操作不适用于 Google SecOps 实体。

操作输入

列出实例操作需要以下参数:

参数 说明
Project ID

可选。

要列出实例的项目的 ID。

如果未提供任何值,该操作会从集成配置中使用的 Google Cloud 服务账号检索项目 ID。

Instance Zone

可选。

要搜索实例的具体可用区。

如果未提供值,该操作会在所有可用区域中进行搜索。

Instance Name

可选。

要搜索的实例的名称。

此参数接受多个值,这些值以英文逗号分隔的字符串形式表示。

Instance Status

可选。

要包含在搜索结果中的实例的当前状态,例如 RUNNINGTERMINATED

此参数接受多个值,这些值以英文逗号分隔的字符串形式表示。

Instance Labels

可选。

用于过滤实例结果的标签,以 key:value 格式提供(例如 env:production)。

此参数接受多个值,这些值以英文逗号分隔的字符串形式表示。

Max Rows to Return

可选。

结果中要返回的实例数量上限。

默认值为 50

操作输出

列出实例操作提供以下输出:

操作输出类型 可用性
案例墙附件 不可用
案例墙链接 不可用
“支持请求墙”表格 可用
丰富化表 不可用
JSON 结果 可用
输出消息 可用
脚本结果 可用
“支持请求墙”表格

列出实例操作提供以下表格:

表格名称:Compute Engine 实例

表列:

  • 实例名称
  • 实例 ID
  • 实例创建时间
  • 实例说明
  • 实例类型
  • 实例状态
  • 实例标签
JSON 结果

以下示例介绍了使用列出实例操作时收到的 JSON 结果输出:

{ "id": "projects/PROJECT_ID/zones/us-central1-a/instances",
   "items": [
       {
           "id": "ID",
           "creationTimestamp": "2021-04-28T21:34:57.369-07:00",
           "name": "instance-1",
           "description": "",
           "tags": {
               "fingerprint": "VALUE"
           },
           "machineType": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-central1-a/machineTypes/f1-micro",
           "status": "RUNNING",
           "zone": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-central1-a",
           "canIpForward": false,
           "networkInterfaces": [
               {
                   "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/default",
                   "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/subnetworks/default",
                   "networkIP": "192.0.2.2",
                   "name": "example",
                   "accessConfigs": [
                       {
                           "type": "ONE_TO_ONE_NAT",
                           "name": "External NAT",
                           "natIP": "203.0.113.59",
                           "networkTier": "PREMIUM",
                           "kind": "compute#accessConfig"
                       }
                   ],
                   "fingerprint": "VALUE",
                   "kind": "compute#networkInterface"
               }
           ],
           "disks": [
               {
                   "type": "PERSISTENT",
                   "mode": "READ_WRITE",
                   "source": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-central1-a/disks/instance-1",
                   "deviceName": "instance-1",
                   "index": 0,
                   "boot": true,
                   "autoDelete": true,
                   "licenses": [
                       "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/licenses/LICENSE"
                   ],
                   "interface": "SCSI",
                   "guestOsFeatures": [
                       {
                           "type": "UEFI_COMPATIBLE"
                       },
                       {
                           "type": "VIRTIO_SCSI_MULTIQUEUE"
                       }
                   ],
                   "diskSizeGb": "10",
                   "kind": "compute#attachedDisk"
               }
           ],
           "metadata": {
               "fingerprint": "VALUE",
               "kind": "compute#metadata"
           },
           "serviceAccounts": [
               {
                   "email": "user@example.com",
                   "scopes": [
                       "https://www.googleapis.com/auth/devstorage.read_only",
                       "https://www.googleapis.com/auth/logging.write",
                       "https://www.googleapis.com/auth/monitoring.write",
                       "https://www.googleapis.com/auth/servicecontrol",
                       "https://www.googleapis.com/auth/service.management.readonly",
                       "https://www.googleapis.com/auth/trace.append"
                   ]
               }
           ],
           "selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_IDzones/us-central1-a/instances/instance-1",
           "scheduling": {
               "onHostMaintenance": "MIGRATE",
               "automaticRestart": true,
               "preemptible": false
           },
           "cpuPlatform": "Intel Haswell",
           "labels": {
               "vm_test_tag": "tag1"
           },
           "labelFingerprint": "VALUE",
           "startRestricted": false,
           "deletionProtection": false,
           "reservationAffinity": {
               "consumeReservationType": "ANY_RESERVATION"
           },
           "displayDevice": {
               "enableDisplay": false
           },
           "shieldedInstanceConfig": {
               "enableSecureBoot": false,
               "enableVtpm": true,
               "enableIntegrityMonitoring": true
           },
           "shieldedInstanceIntegrityPolicy": {
               "updateAutoLearnPolicy": true
           },
           "confidentialInstanceConfig": {
               "enableConfidentialCompute": false
           },
           "fingerprint": "VALUE",
           "lastStartTimestamp": "2021-04-28T21:35:07.865-07:00",
           "kind": "compute#instance"
       }
   ]
}
输出消息

列出实例操作可以返回以下输出消息:

输出消息 消息说明

Successfully fetched Compute Engine instances.

Provided instance zone ZONE_ID is not valid.

No instances were found in Compute Engine.

操作成功。
Error executing action "List Instances". Reason: ERROR_REASON

操作失败。

检查与服务器的连接、输入参数或凭据。

脚本结果

下表列出了使用列出实例操作时脚本结果输出的值:

脚本结果名称
is_success truefalse

Ping

使用 Ping 操作测试与 Compute Engine 的连接。

此操作不适用于 Google SecOps 实体。

操作输入

无。

操作输出

Ping 操作提供以下输出:

操作输出类型 可用性
案例墙附件 不可用
案例墙链接 不可用
“支持请求墙”表格 不可用
丰富化表 不可用
JSON 结果 不可用
输出消息 可用
脚本结果 可用
输出消息

Ping 操作可以返回以下输出消息:

输出消息 消息说明
Successfully connected to the Compute Engine service with the provided connection parameters! 操作成功。
Failed to connect to the Compute Engine service! Error is ERROR_REASON

操作失败。

检查与服务器的连接、输入参数或凭据。

脚本结果

下表列出了使用 Ping 操作时脚本结果输出的值:

脚本结果名称
is_success truefalse

移除外部 IP 地址

使用移除外部 IP 地址操作可移除 Compute Engine 实例上的外部 IP 地址。

此操作不适用于 Google SecOps 实体。

操作输入

移除外部 IP 地址操作需要以下参数:

参数 说明
Resource Name

可选。

Compute Engine 实例的完整资源名称,格式为 /project/PROJECT_ID/zone/ ZONE_ID/instances/ INSTANCE_ID

此参数的优先级高于 Project IDInstance ZoneInstance ID

Project ID

可选。

与 Compute Engine 实例关联的项目的 ID。

如果未提供任何值,该操作会从集成配置中检索项目 ID。

Instance Zone

可选。

实例所在的具体可用区。

如果您使用 Instance ZoneInstance ID 标识实例,则此参数是必需的。

Instance ID

可选。

要启动的实例的唯一 ID。

您可以使用列出实例操作检索此值。

如果您使用 Instance ZoneInstance ID 标识实例,则此参数是必需的。

Network Interfaces

可选。

要修改的特定网络接口的英文逗号分隔列表。

如果未提供任何值,或者您使用了 * 通配符,则该操作会更新所有网络接口。

默认值为 *

操作输出

移除外部 IP 地址操作提供以下输出:

操作输出类型 可用性
案例墙附件 不可用
案例墙链接 不可用
“支持请求墙”表格 不可用
丰富化表 不可用
JSON 结果 可用
输出消息 可用
脚本结果 可用
JSON 结果

以下示例介绍了使用移除外部 IP 地址 操作时收到的 JSON 结果输出:

[
    {
        "endTime": "2024-05-21T04:28:05.371-07:00",
        "id": "ID",
        "insertTime": "2024-05-21T04:28:04.176-07:00",
        "kind": "compute#operation",
        "name": "operation-OPERATION_ID",
        "operationType": "updateNetworkInterface",
        "progress": 100,
        "selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-a/operations/operation-OPERATION_ID",
        "startTime": "2024-05-21T04:28:04.190-07:00",
        "status": "DONE",
        "targetId": "TARGET_ID",
        "targetLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-a/instances/INSTANCE_ID",
        "user": "user@example.com",
        "zone": "us-west1-a",
        "networkInterface": "example"
    },
    {
        "endTime": "2024-05-21T04:28:06.549-07:00",
        "id": "2531200345768541098",
        "insertTime": "2024-05-21T04:28:05.419-07:00",
        "kind": "compute#operation",
        "name": "operation-OPERATION_ID",
        "operationType": "deleteAccessConfig",
        "progress": 100,
        "selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-a/operations/operation-OPERATION_ID",
        "startTime": "2024-05-21T04:28:05.430-07:00",
        "status": "DONE",
        "targetId": "3905740668247239013",
        "targetLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-a/instances/INSTANCE_ID",
        "user": "user@example.com",
        "zone": "us-west1-a",
        "networkInterface": "example"
    }
]
输出消息

移除外部 IP 地址操作可能会返回以下输出消息:

输出消息 消息说明

Successfully removed external IP addresses from RESOURCE_PATH instance in INTEGRATION_NAME.

Waiting for the operation to finish execution on the RESOURCE_PATH instance in INTEGRATION_NAME.

操作成功。

Error executing action "Remove External IP Addresses". Reason: ERROR_REASON

Action ran into a timeout during execution. Pending operations: PENDING_OPERATIONS. Please increase the timeout in IDE.

The following network interfaces were not found: INTERFACES on the RESOURCE_PATH in INTEGRATION_NAME. Please check the spelling.

Provided instance zone is not valid.

Provided instance ID is not valid.

操作失败。

检查与服务器的连接、输入参数或凭据。

脚本结果

下表列出了使用移除外部 IP 地址 操作时脚本结果输出的值:

脚本结果名称
is_success truefalse

从防火墙规则中移除 IP

使用从防火墙规则中移除 IP 操作可从现有的 Compute Engine 防火墙规则中删除特定的 IP 地址范围。

此操作不适用于 Google SecOps 实体。

操作输入

从防火墙规则中移除 IP 操作需要以下参数:

参数 说明
Resource Name

可选。

Compute Engine 实例的完整资源名称,格式为 /projects/PROJECT_ID/global/ firewallsFIREWALL

此参数的优先级高于 Project IDFirewall Rule

Project ID

可选。

与 Compute Engine 实例关联的项目的 ID。

如果未提供任何值,该操作会从集成配置中检索项目 ID。

Firewall Rule

可选。

要更新的特定防火墙规则的名称。

Type

必填。

要添加的 IP 范围的流量方向。

可能的值如下:

  • Source
  • Destination

默认值为 Source

IP Ranges

必填。

要添加到防火墙规则中的 IP 地址范围(CIDR 表示法)的逗号分隔列表。

操作输出

从防火墙规则中移除 IP 操作提供以下输出:

操作输出类型 可用性
案例墙附件 不可用
案例墙链接 不可用
“支持请求墙”表格 不可用
丰富化表 不可用
JSON 结果 可用
输出消息 可用
脚本结果 可用
JSON 结果

以下示例展示了使用从防火墙规则中移除 IP 操作时收到的 JSON 结果输出:

{
  "kind": "compute#operation",
  "id": "9160761312385876914",
  "name": "operation-1716223324528-618e5619d1f93-174eac81-6b38200d",
  "operationType": "patch",
  "targetLink": "https://www.googleapis.com/compute/v1/projects/project-id/global/firewalls/firewall-name",
  "targetId": "7886634413370691799",
  "status": "DONE",
  "user": "compute-admin@project-id.iam.gserviceaccount.com",
  "progress": 100,
  "insertTime": "2024-05-20T09:42:05.150-07:00",
  "startTime": "2024-05-20T09:42:05.164-07:00",
  "endTime": "2024-05-20T09:42:09.381-07:00",
  "selfLink": "https://www.googleapis.com/compute/v1/projects/project-id/global/operations/operation-1716223324528-618e5619d1f93-174eac81-6b38200d",
  "firewall": {
    "kind": "compute#firewall",
    "id": "6297155974506248217",
    "creationTimestamp": "2023-09-13T07:28:06.690-07:00",
    "name": "firewall-name",
    "description": "",
    "network": "https://www.googleapis.com/compute/v1/projects/project-id/global/networks/vpc-network",
    "priority": 1000,
    "sourceRanges": [
      "0.0.0.0/0"
    ],
    "destinationRanges": [
      "0.0.0.0/21"
    ],
    "allowed": [
      {
        "IPProtocol": "tcp",
        "ports": [
          "22"
        ]
      }
    ],
    "direction": "INGRESS",
    "logConfig": {
      "enable": false
    },
    "disabled": false,
    "selfLink": "https://www.googleapis.com/compute/v1/projects/project-id/global/firewalls/firewall-name"
  }
}
输出消息

从防火墙规则中移除 IP 操作可以返回以下输出消息:

输出消息 消息说明

Successfully updated firewall rule in Google Cloud Compute.

Waiting for the operation to finish execution on the RESOURCE_PATH instance in Google Cloud Compute.

操作成功。
Error executing action "Remove IP From Firewall Rule". Reason: ERROR_REASON

操作失败。

检查与服务器的连接、输入参数或凭据。

脚本结果

下表列出了使用从防火墙规则中移除 IP 操作时脚本结果输出的值:

脚本结果名称
is_success truefalse

移除影音平台标记

使用移除网络标记操作从 Compute Engine 实例中移除网络标记。

此操作不适用于 Google SecOps 实体。

操作输入

移除网络标记操作需要以下参数:

参数 说明
Resource Name

可选。

Compute Engine 实例的完整资源名称,格式为 /project/PROJECT_ID/zone/ ZONE_ID/instances/ INSTANCE_ID

此参数的优先级高于 Project IDInstance ZoneInstance ID

Project ID

可选。

与 Compute Engine 实例关联的项目的 ID。

如果未提供任何值,该操作会从集成配置中检索项目 ID。

Instance Zone

可选。

实例所在的具体可用区。

如果您使用 Instance ZoneInstance ID 标识实例,则此参数是必需的。

Instance ID

可选。

要启动的实例的唯一 ID。

您可以使用列出实例操作检索此值。

如果您使用 Instance ZoneInstance ID 标识实例,则此参数是必需的。

Network Tags

必填。

要添加到实例的网络标记的逗号分隔列表。

所有标记都只能包含小写字母、数字和连字符。

操作输出

移除网络标记操作提供以下输出:

操作输出类型 可用性
案例墙附件 不可用
案例墙链接 不可用
“支持请求墙”表格 不可用
丰富化表 不可用
JSON 结果 可用
输出消息 可用
脚本结果 可用
JSON 结果

以下示例展示了使用 Example 操作时收到的 JSON 结果输出:

{
  "kind": "compute#instance",
  "id": "1459671903146615834",
  "creationTimestamp": "2023-09-13T04:20:21.993-07:00",
  "name": "instance-2",
  "description": "",
  "tags": {
    "items": [
      "another-tag",
      "tag"
    ],
    "fingerprint": "BCeEINC7Ths="
  },
  "machineType": "https://www.googleapis.com/compute/v1/projects/project-id/zones/us-central1-a/machineTypes/e2-micro",
  "status": "RUNNING",
  "zone": "https://www.googleapis.com/compute/v1/projects/project-id/zones/us-central1-a",
  "canIpForward": false,
  "networkInterfaces": [
    {
      "kind": "compute#networkInterface",
      "network": "https://www.googleapis.com/compute/v1/projects/project-id/global/networks/default",
      "subnetwork": "https://www.googleapis.com/compute/v1/projects/project-id/regions/us-central1/subnetworks/default",
      "networkIP": "10.128.0.3",
      "name": "nic0",
      "fingerprint": "-ZnnV7hiDfs=",
      "stackType": "IPV4_ONLY"
    }
  ],
  "disks": [
    {
      "kind": "compute#attachedDisk",
      "type": "PERSISTENT",
      "mode": "READ_WRITE",
      "source": "https://www.googleapis.com/compute/v1/projects/project-id/zones/us-central1-a/disks/instance-2",
      "deviceName": "instance-2",
      "index": 0,
      "boot": true,
      "autoDelete": true,
      "licenses": [
        "https://www.googleapis.com/compute/v1/projects/centos-cloud/global/licenses/centos-7"
      ],
      "interface": "SCSI",
      "guestOsFeatures": [
        {
          "type": "UEFI_COMPATIBLE"
        },
        {
          "type": "GVNIC"
        }
      ],
      "diskSizeGb": "20",
      "architecture": "X86_64"
    }
  ],
  "metadata": {
    "kind": "compute#metadata",
    "fingerprint": "NBmH4-7Jw9U=",
    "items": []
  },
  "serviceAccounts": [
    {
      "email": "1111111111-compute@developer.gserviceaccount.com",
      "scopes": [
        "https://www.googleapis.com/auth/devstorage.read_only",
        "https://www.googleapis.com/auth/logging.write",
        "https://www.googleapis.com/auth/monitoring.write",
        "https://www.googleapis.com/auth/servicecontrol",
        "https://www.googleapis.com/auth/service.management.readonly",
        "https://www.googleapis.com/auth/trace.append"
      ]
    }
  ],
  "selfLink": "https://www.googleapis.com/compute/v1/projects/project-id/zones/us-central1-a/instances/instance-2",
  "scheduling": {
    "onHostMaintenance": "MIGRATE",
    "automaticRestart": true,
    "preemptible": false,
    "provisioningModel": "STANDARD"
  },
  "cpuPlatform": "Intel Broadwell",
  "deletionProtection": false,
  "shieldedInstanceConfig": {
    "enableSecureBoot": false,
    "enableVtpm": true,
    "enableIntegrityMonitoring": true
  }
}
输出消息

移除网络标记操作可以返回以下输出消息:

输出消息 消息说明

Successfully removed network tags from the instance RESOURCE_PATH in Compute Engine.

Waiting for the operation to finish execution on the RESOURCE_PATH instance in Compute Engine.

操作成功。
Error executing action "Remove Network Tags". Reason: ERROR_REASON

操作失败。

检查与服务器的连接、输入参数或凭据。

脚本结果

下表列出了使用移除网络标记操作时脚本结果输出的值:

脚本结果名称
is_success truefalse

设置实例 IAM 政策

使用设置实例 IAM 政策操作可为指定资源设置访问权限控制政策。您在操作中提供的政策会替换任何现有政策。

此操作不适用于 Google SecOps 实体。

操作输入

设置实例 IAM 政策 操作需要以下参数:

参数 说明
Resource Name

可选。

Compute Engine 实例的完整资源名称,格式为 /project/PROJECT_ID/zone/ ZONE_ID/instances/ INSTANCE_ID

此参数的优先级高于 Project IDInstance ZoneInstance ID

Project ID

可选。

与 Compute Engine 实例关联的项目的 ID。

如果未提供任何值,该操作会从集成配置中检索项目 ID。

Instance Zone

可选。

实例所在的具体可用区。

如果您使用 Instance ZoneInstance ID 标识实例,则此参数是必需的。

Instance ID

可选。

要启动的实例的唯一 ID。

您可以使用列出实例操作检索此值。

如果您使用 Instance ZoneInstance ID 标识实例,则此参数是必需的。

Policy

必填。

要应用于实例的 IAM 政策文档,以 JSON 对象的形式提供。

操作输出

设置实例 IAM 政策操作提供以下输出:

操作输出类型 可用性
案例墙附件 不可用
案例墙链接 不可用
“支持请求墙”表格 不可用
丰富化表 不可用
JSON 结果 可用
输出消息 可用
脚本结果 可用
JSON 结果

以下示例描述了使用设置实例 IAM 政策 操作时收到的 JSON 结果输出:

{
    "version": 1,
    "etag": "BwXBftu99FE=",
    "bindings": [
        {
            "role": "roles/compute.networkViewer",
            "members": [
                "user:user@example.com"
            ]
        }
    ]
}
输出消息

设置实例 IAM 政策操作可以返回以下输出消息:

输出消息 消息说明

Successfully set new IAM policy for the Compute Engine instance INSTANCE_ID.

Provided instance zone ZONE_ID is not valid.

Provided instance ID INSTANCE_ID is not valid.

Provided policy JSON document POLICY is not valid.

操作成功。
Error executing action "Set Instance IAM Policy". Reason: ERROR_REASON

Provided resource RESOURCE is not valid.

Error executing action "Set Instance IAM Policy". Reason: "Resource Name" or "Instance Zone" and "Instance ID" needs to be provided.

操作失败。

检查与服务器的连接、输入参数或凭据。

脚本结果

下表列出了使用设置实例 IAM 政策操作时脚本结果输出的值:

脚本结果名称
is_success truefalse

启动实例

使用启动实例操作可开启处于已停止或已终止状态的 Compute Engine 实例。

此操作不适用于 Google SecOps 实体。

操作输入

启动实例操作需要以下参数:

参数 说明
Resource Name

可选。

Compute Engine 实例的完整资源名称,格式为 /project/PROJECT_ID/zone/ ZONE_ID/instances/ INSTANCE_ID

此参数的优先级高于 Project IDInstance ZoneInstance ID

Project ID

可选。

与 Compute Engine 实例关联的项目的 ID。

如果未提供任何值,该操作会从集成配置中检索项目 ID。

Instance Zone

可选。

实例所在的具体可用区。

如果您使用 Instance ZoneInstance ID 标识实例,则此参数是必需的。

Instance ID

可选。

要启动的实例的唯一 ID。

您可以使用列出实例操作检索此值。

如果您使用 Instance ZoneInstance ID 标识实例,则此参数是必需的。

操作输出

启动实例操作提供以下输出:

操作输出类型 可用性
案例墙附件 不可用
案例墙链接 不可用
“支持请求墙”表格 不可用
丰富化表 不可用
JSON 结果 可用
输出消息 可用
脚本结果 可用
JSON 结果

以下示例介绍了使用启动实例操作时收到的 JSON 结果输出:

{
   "id": "ID",
   "name": "operation-OPERATION_ID",
   "zone": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-central1-a",
   "operationType": "start",
   "targetLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-central1-a/instances/INSTANCE_ID",
   "targetId": "INSTANCE_ID",
   "status": "DONE",
   "user": "user@example.com",
   "progress": 100,
   "insertTime": "2021-04-28T23:01:29.395-07:00",
   "startTime": "2021-04-28T23:01:29.397-07:00",
   "endTime": "2021-04-28T23:01:29.397-07:00",
   "selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-central1-a/operations/operation-OPERATION_ID",
   "kind": "compute#operation"
}
输出消息

启动实例操作可以返回以下输出消息:

输出消息 消息说明

Compute Engine instance RESOURCE_PATH was started successfully.

Provided instance zone ZONE_ID is not valid.

Provided instance ID is not valid.

操作成功。

Error executing action "Start Instance". Reason: ERROR_REASON

Error executing action "Start Instance". Reason: You should provide either "Resource name" or "Instance Zone" and "Instance ID" parameters.

Error executing action "Start Instance". Reason: Given resource name string does not match expected pattern.

操作失败。

检查与服务器的连接、输入参数或凭据。

脚本结果

下表列出了使用 Start Instance 操作时脚本结果输出的值:

脚本结果名称
is_success truefalse

停止实例

使用停止实例操作关闭正在运行的 Compute Engine 实例。您可以随时重启已停止的实例。

停止实例会停止虚拟机使用费,但除非删除关联的资源(例如永久性磁盘和静态 IP 地址),否则这些资源仍会继续产生费用。

此操作不适用于 Google SecOps 实体。

操作输入

停止实例操作需要以下参数:

参数 说明
Resource Name

可选。

Compute Engine 实例的完整资源名称,格式为 /project/PROJECT_ID/zone/ ZONE_ID/instances/ INSTANCE_ID

此参数的优先级高于 Project IDInstance ZoneInstance ID

Project ID

可选。

与 Compute Engine 实例关联的项目的 ID。

如果未提供任何值,该操作会从集成配置中检索项目 ID。

Instance Zone

可选。

实例所在的具体可用区。

如果您使用 Instance ZoneInstance ID 标识实例,则此参数是必需的。

Instance ID

可选。

要启动的实例的唯一 ID。

您可以使用列出实例操作检索此值。

如果您使用 Instance ZoneInstance ID 标识实例,则此参数是必需的。

操作输出

停止实例操作提供以下输出:

操作输出类型 可用性
案例墙附件 不可用
案例墙链接 不可用
“支持请求墙”表格 不可用
丰富化表 不可用
JSON 结果 可用
输出消息 可用
脚本结果 可用
JSON 结果

以下示例介绍了使用停止实例操作时收到的 JSON 结果输出:

{
   "id": "ID",
   "name": "operation-OPERATION_ID",
   "zone": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-central1-a",
   "operationType": "stop",
   "targetLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-central1-a/instances/INSTANCE_ID",
   "targetId": "INSTANCE_ID",
   "status": "RUNNING",
   "user": "user@example.com",
   "progress": 100,
   "insertTime": "2021-04-28T23:01:29.395-07:00",
   "startTime": "2021-04-28T23:01:29.397-07:00",
   "selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-central1-a/operations/operation-OPERATION_ID",
   "kind": "compute#operation"
}
输出消息

停止实例操作可能会返回以下输出消息:

输出消息 消息说明

Compute Engine instance INSTANCE_ID was stopped successfully.

Provided instance zone ZONE_ID is not valid.

Provided instance ID is not valid.

操作成功。
Error executing action "Stop Instance". Reason: ERROR_REASON

操作失败。

检查与服务器的连接、输入参数或凭据。

脚本结果

下表列出了使用停止实例操作时脚本结果输出的值:

脚本结果名称
is_success truefalse

更新防火墙规则

使用更新防火墙规则操作修改现有 Compute Engine 防火墙规则的配置。此操作可让您在保持规则身份的同时更新特定参数。

此操作不适用于 Google SecOps 实体。

操作输入

更新防火墙规则操作需要以下参数:

参数 说明
Firewall Rule

可选。

要更新的特定防火墙规则的名称。

Project ID

可选。

与 Compute Engine 实例关联的项目的 ID。

如果未提供任何值,该操作会从集成配置中检索项目 ID。

Resource Name

可选。

Compute Engine 实例的完整资源名称,格式为 /projects/PROJECT_ID/global/ firewallsFIREWALL

此参数的优先级高于 Project IDFirewall Rule

Source IP Ranges

可选。

以英文逗号分隔的防火墙规则的来源 IP 地址范围列表。

如果设置了 none 值,则该操作会从规则中删除所有现有的源 IP 范围。

如果未提供值,则现有值保持不变。

Source Tags

可选。

要应用于规则的源网络标记的英文逗号分隔列表。

如果设置了 none 值,该操作会从规则中删除所有现有的来源标记。

如果未提供值,则现有值保持不变。

Source Service Accounts

可选。

要应用于规则的源服务账号的英文逗号分隔列表。

如果设置了 none 值,该操作会从规则中删除所有现有的源服务账号。

如果未提供值,则现有值保持不变。

TCP Ports

可选。

以英文逗号分隔的 TCP 端口或端口范围列表,用于允许或拒绝。

此参数支持 allnone 值。如果已配置,该操作会使用此值更新防火墙规则的协议和端口列表。

UDP Ports

可选。

以英文逗号分隔的 UDP 端口或端口范围列表,用于允许或拒绝。

此参数支持 allnone 值。如果已配置,该操作会使用此值更新防火墙规则的协议和端口列表。

Other Protocols

可选。

要包含在规则中的 TCP 和 UDP 以外的协议的逗号分隔列表。

如果设置了 none 值,则相应操作会使用此值更新防火墙规则的协议列表。

Destination IP Ranges

可选。

以英文逗号分隔的防火墙规则的目标 IP 地址范围列表。

如果设置了 none 值,则该操作会从规则中删除所有现有的目标 IP 范围。

如果未提供值,则现有值保持不变。

操作输出

更新防火墙规则操作提供以下输出:

操作输出类型 可用性
案例墙附件 不可用
案例墙链接 不可用
“支持请求墙”表格 不可用
丰富化表 不可用
JSON 结果 可用
输出消息 可用
脚本结果 可用
JSON 结果

以下示例描述了使用更新防火墙规则操作时收到的 JSON 结果输出:

{
  "kind": "compute#operation",
  "id": "9160761312385876914",
  "name": "operation-1716223324528-618e5619d1f93-174eac81-6b38200d",
  "operationType": "patch",
  "targetLink": "https://www.googleapis.com/compute/v1/projects/project-id/global/firewalls/firewall-name",
  "targetId": "7886634413370691799",
  "status": "DONE",
  "user": "compute-admin@project-id.iam.gserviceaccount.com",
  "progress": 100,g
  "insertTime": "2024-05-20T09:42:05.150-07:00",
  "startTime": "2024-05-20T09:42:05.164-07:00",
  "endTime": "2024-05-20T09:42:09.381-07:00",
  "selfLink": "https://www.googleapis.com/compute/v1/projects/project-id/global/operations/operation-1716223324528-618e5619d1f93-174eac81-6b38200d",
  "firewall": {
    "kind": "compute#firewall",
    "id": "6297155974506248217",
    "creationTimestamp": "2023-09-13T07:28:06.690-07:00",
    "name": "firewall-name",
    "description": "",
    "network": "https://www.googleapis.com/compute/v1/projects/project-id/global/networks/vpc-network",
    "priority": 1000,
    "sourceRanges": [
      "0.0.0.0/0"
    ],
    "destinationRanges": [
      "0.0.0.0/21"
    ],
    "allowed": [
      {
        "IPProtocol": "tcp",
        "ports": [
          "22"
        ]
      }
    ],
    "direction": "INGRESS",
    "logConfig": {
      "enable": false
    },
    "disabled": false,
    "selfLink": "https://www.googleapis.com/compute/v1/projects/project-id/global/firewalls/firewall-name"
  }
}
输出消息

更新防火墙规则操作可以返回以下输出消息:

输出消息 消息说明
Successfully updated firewall rule in Cloud Compute.

Updating firewall rule in Cloud Compute.

操作成功。
Error executing action "Update Firewall Rule". Reason: ERROR_REASON

Provided firewall name is not valid.

Action ran into a timeout during execution. Please increase the timeout in IDE.

You must provide at least some parameter to update the firewall rule with.

操作失败。

检查与服务器的连接、输入参数或凭据。

脚本结果

下表列出了使用更新防火墙规则操作时脚本结果输出的值:

脚本结果名称
is_success truefalse

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