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

使用Google Colab在GCP App Engine创建应用遇权限拒绝问题

已拥有Owner角色却无法在Colab中启用App Engine服务的原因及解决方法

问题背景

无法安装本地Google Cloud SDK,通过Google Colab操作GCP:

  1. 已用具备Owner角色的账号完成认证
  2. 执行!gcloud services enable appengine.googleapis.com无报错
  3. 运行!gcloud app create时,触发服务启用请求却返回PERMISSION_DENIED,提示无serviceusage.services.enable权限

执行代码及关键输出

%pip install google-cloud-language>=2.9.1
PROJECT_ID = "myprojectXXX"  

from google.colab import auth
auth.authenticate_user(project_id=PROJECT_ID)

✔️ Authenticated

!gcloud services enable appengine.googleapis.com
!gcloud auth list

Credentialed Accounts
ACTIVE ACCOUNT

  • XXXXXXXXXX@gmail.com
!gcloud projects get-iam-policy $PROJECT_ID

bindings:
....

  • members:
    • user:XXXXXXXXXX@gmail.com
      role: roles/owner
      ...
!gcloud app create

API [appengine.googleapis.com] not enabled on project [522309567947]. Would you like to enable and retry (this will take a few minutes)? (y/N)? y
Enabling service [appengine.googleapis.com] on project [522309567947]...
ERROR: (gcloud.app.create) PERMISSION_DENIED: Permission denied to enable service [appengine.googleapis.com]
...
'@type': type.googleapis.com/google.rpc.ErrorInfo
domain: serviceusage.googleapis.com
metadata:
permission: serviceusage.services.enable
resource: '522309567947'
service: serviceusage.googleapis.com
reason: AUTH_PERMISSION_DENIED

可能的原因

  1. Colab临时凭证的权限限制:auth.authenticate_user()获取的是短期OAuth凭证,虽然账号拥有Owner角色,但部分细粒度服务权限(如serviceusage.services.enable)可能未被包含在凭证的权限范围内。
  2. 组织策略约束:若项目隶属于GCP组织,组织级策略(如constraints/serviceuser.services)可能禁止启用App Engine服务,或限制了服务启用的权限主体,Owner角色也会受此约束。
  3. 服务启用的异步延迟:之前执行的!gcloud services enable appengine.googleapis.com是异步操作,可能尚未完成生效,gcloud app create触发的二次启用请求因状态不一致导致权限检查失败。
  4. 项目结算状态异常:项目关联的结算账号若处于欠费、暂停或未激活状态,即使拥有Owner权限,也无法启用新的GCP服务。

解决步骤

  • 确认服务启用状态并等待生效
    在Colab中执行以下命令,检查App Engine服务是否已启用:

    !gcloud services list --enabled | grep appengine
    

    若未返回结果,执行异步启用命令并等待5-10分钟:

    !gcloud services enable appengine.googleapis.com --async
    

    之后再尝试!gcloud app create。

  • 检查组织策略限制
    登录GCP控制台,进入项目的「IAM与管理员」→「组织策略」,搜索serviceuser.services约束:

    • 确认约束是否允许启用appengine.googleapis.com
    • 若存在禁止规则,联系组织管理员调整策略
  • 验证项目结算状态
    进入GCP控制台「结算」页面,确认项目的结算账号处于活跃状态,无欠费或暂停记录。

  • 使用项目字符串ID而非数字ID
    确保PROJECT_ID变量设置为项目的字符串ID(如myprojectXXX),而非命令输出中的数字项目ID,重新执行认证后再尝试命令:

    PROJECT_ID = "myprojectXXX"
    from google.colab import auth
    auth.authenticate_user(project_id=PROJECT_ID)
    
  • 直接在控制台创建App Engine应用
    若Colab的权限问题无法快速解决,直接登录GCP控制台,进入「App Engine」→「创建应用」完成初始化,之后回到Colab即可执行后续操作。

内容的提问来源于stack exchange,提问作者M. D.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 21:54:55