使用无服务器部署允许未经身份验证的GCP功能



是否有一个参数可以在serverless.yml中添加,以部署GCP函数(Go(,就像在gcloud deploy命令中添加--allow-unauthenticated一样?

在无服务器文档中找不到任何相关信息。

我想这是不可能的。无服务器产品使用云函数API部署te云函数。要设置allow-authentited,需要使用IAM API将cloudfunctions.invoker角色添加到allUsers

gcloud CLI提供了一种在单个命令行中打包两个API调用的方便方法,但外部工具需要实现同样的额外工作才能实现这一点。这就是为什么,我确信这是不可能的。

我能够通过使用钩子来实现这一点。您需要添加自定义>脚本到serverless.yml

(注意:考虑到您使用的服务帐户具有正确的访问权限,这应该有效(

像这样:

custom:
scripts:
commands:
make-public-function: gcloud functions add-iam-policy-binding ${self:service}-${self:provider.stage}-${opt:opt.function, "functionName"} --member="allUsers" --role="roles/cloudfunctions.invoker" --project=${self:provider.project} --region=${self:provider.region} | xargs echo
hooks:   
'after:deploy:deploy': npx sls make-public-function --stage ${self:provider.stage}

相关内容

  • 没有找到相关文章

最新更新