当前位置: 首页 > 知识库问答 >
问题:

部署云函数时出错错误:(gcloud.functions.deploy)ResponseError:status=[403],code=[Forbidden]

姚淳
2023-03-14

我正在尝试通过GitLab CI/CD将云函数从GitLab中的存储库部署到Google云函数。我得到了标题和下面的错误。

错误:(gcloud.functions.deploy)ResponseError:status=[403],code=[probled],message=[Permission'cloudfunctions.functions.get'denied on resource'projects/ahinko website prd/locations/us-central1/functions/send_contact'(或资源可能不存在)。]

我的. gitlab-CI. yml文件是:

image: google/cloud-sdk:slim

stages: 
  - release 
  - function_deploy 
 
before_script:
  - gcloud auth activate-service-account --key-file $GOOGLE_SERVICE_ACCOUNT_FILE
  - gcloud config set project $GOOGLE_PROJECT_ID

release:
  stage: release
  script:
    - gsutil -m rm gs://ahinko.com/**
    - gsutil -m cp -R src/client-side/* gs://ahinko.com
  environment:
    name: production
    url: https://ahinko.com
  only: 
    - master

function_deploy: 
  stage: function_deploy
  script:
    - gcloud functions deploy send_contact --entry-point=send_contact_form --ingress-settings=all --runtime=python37 --trigger-http
  environment: 
    name: production
    url: https://ahinko.com
  only:
    - ci-test

共有1个答案

司寇季
2023-03-14

这似乎是gitlab服务帐户中缺少权限。必须授予正确的角色才能部署云函数。

您可以将角色:cloudfunctions.developer授予服务帐户:

可以创建、更新和删除功能。不能设置Cloud IAM策略,但可以查看源代码。需要额外的配置才能部署功能。

附加配置:

为了给用户分配云函数管理员(角色/cloudfunctions.admin)或云函数开发人员角色(角色/cloudfunctions.developer)或可以部署函数的自定义角色,还必须为用户分配云函数运行时服务号上的服务帐户用户云IAM角色(角色/iam.service帐户用户)。

gcloud iam service-accounts add-iam-policy-binding \
  PROJECT_ID@appspot.gserviceaccount.com \
  --member MEMBER \
  --role roles/iam.serviceAccountUser
 类似资料:
  • 我已经使用firebase云函数一段时间了,今天在代码中修复了一个小错误,在尝试部署时出现了以下错误。我取消了该更改,并尝试使用上次提交的稳定更改再次部署,但仍然是相同的错误。有什么解决办法吗?PS:这是一个typescript项目,我用tsc编译它。

  • 我已经设置和快速服务器上运行Firebase云功能。现在,我试图使用CLI使用“Firebase部署-仅函数”将其部署到Firebase,但每次都失败,说有一个意外的令牌。我怀疑在index.js文件中使用异步箭头函数有问题,但我不确定,我也需要它们来完成我的项目。 这是索引。js文件: 以下是我在尝试运行firebase deploy(仅限函数)时遇到的错误: ==部署到“homunculus-

  • 我在过去多次部署Firebase功能。由于某些原因,最近(大约2-3天)我经常在部署时出错。我使用windows来释放代码。当我尝试在我的Linux系统和Mac系统中设置相同的项目时,部署工作正常。从Windows环境发布可能存在的问题。 以下是部署时遇到的问题。 ! 功能[付款(us-central1)]:部署错误。加载用户代码时函数失败。这可能是由于用户代码中的错误造成的。错误消息:错误:请检

  • 错误:分析函数触发器时出错。 /private/var/folders/s3/gnf3bs6s0_n5jx27n2zj3xwr0000gn/T/fbfn_75373XQetWUjR4EdN/index.js:21});^ 对象的createScript(vm.js:74:10)上的参数列表后的语法错误(缺少)。在模块上运行InthisContext(vm.js:116:10)_在对象处编译(mod

  • 1.grpc@1.20.0安装/users/me/desktop/appname/appname/functions/node_modules/grpc node-pre-gyp安装--fallback-to-build--library=static_library node-pre-gyp使用needle警告node-pre-gyp https下载 3.../ext/channel.cc:29

  • 我正在构建一个有角度的Firebase web应用程序,由于一些复杂的查询,我开始从Firebase中寻找云函数。 我的项目看起来像: 我遵循了经典教程:https://firebase.google.com/docs/functions/get-started 但是使用Firebase部署仅功能时的问题: 任何想法?我做错什么了吗? 版本:“firebase”:“^5.0.4”firebase函