You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何快速批量禁用GCP新项目中默认启用的所有API/服务?

批量禁用GCP新项目默认API的可复用方案

控制台手动点击禁用的方式效率极低,通过命令行脚本或者基础设施即代码模板可以实现一键清理,支持跨项目重复使用。

gcloud CLI 脚本方案

提前在本地安装初始化gcloud CLI,完成账号认证、切换到目标项目后,按以下步骤操作:

  1. 先预览当前项目所有已启用的API,确认范围:
    gcloud services list --enabled --format="value(config.name)"
  2. 配置需要保留的核心API白名单(注意不要删除资源管理、IAM、账单相关的基础依赖API,否则会导致项目权限、账单功能异常),执行批量禁用:
# 替换为你实际需要保留的API列表
REQUIRED_APIS=(
  "cloudresourcemanager.googleapis.com"
  "iam.googleapis.com"
  "iamcredentials.googleapis.com"
  "cloudbilling.googleapis.com"
)

# 批量禁用所有非白名单API
gcloud services list --enabled --format="value(config.name)" \
  | grep -vxFf <(printf "%s\n" "${REQUIRED_APIS[@]}") \
  | xargs -I {} gcloud services disable {} --force

注意:首次执行前可以把最后一行的gcloud services disable {} --force替换成echo {},先打印所有待禁用的API列表,确认没有误加核心API后再执行正式禁用命令;--force参数用于级联关闭依赖待禁用API的关联服务,避免禁用流程报错卡住。

Terraform 模板方案

如果需要频繁创建新项目,可以把API清理逻辑做成可复用的Terraform模板,新建项目时直接套用即可,不需要每次手动执行脚本:

variable "project_id" {
  type = string
  description = "目标GCP项目ID"
}

# 配置需要保留的API白名单
variable "required_apis" {
  type    = list(string)
  default = [
    "cloudresourcemanager.googleapis.com",
    "iam.googleapis.com",
    "cloudbilling.googleapis.com"
  ]
}

# 拉取项目当前所有已启用的API
data "google_project_services" "default_enabled" {
  project = var.project_id
}

# 批量禁用非白名单API
resource "google_project_service" "cleanup_unneeded" {
  for_each = toset([
    for api in data.google_project_services.default_enabled.services
    : api if !contains(var.required_apis, api)
  ])
  project            = var.project_id
  service            = each.value
  disable_on_destroy = false
}
GCP默认预加载大量API的原因
  • 降低新用户上手成本:多数初次使用GCP的用户不了解"服务需要先启用API才能调用"的逻辑,默认开启BigQuery、Cloud Datastore这类高频使用服务的API,可以避免用户操作时反复触发"API未启用"的报错,减少入门阻碍。
  • 支撑控制台基础功能:部分API是为GCP网页控制台的功能展示服务的,比如服务引导卡片、资源推荐、状态监控面板的加载都需要调用对应API,默认开启可以保证控制台页面功能正常可用。
  • 满足服务底层依赖:GCP不少计算、运维类服务存在底层依赖关系,比如Cloud Debugger、Cloud Trace这类诊断类API是GKE、Cloud Run等服务的默认运维组件依赖项,提前开启可以避免用户部署业务时因为依赖缺失出现功能异常。
    补充说明:API处于启用状态本身不会产生费用,GCP所有服务均按实际资源使用量、API调用量计费,没有实际调用的启用API不会产生账单。

内容的提问来源于stack exchange,提问作者Zach Young

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 19:42:14