2 回答

TA貢獻1786條經驗 獲得超13個贊
我想這是不可能的。無服務器產品使用云函數 API 來部署云函數。要設置允許 - 未經身份驗證,您需要使用 IAM API 將角色添加到 。cloudfunctions.invoker
allUsers
gcloud CLI提供了一種將兩個API調用打包在單個命令行中的便捷方法,但外部工具需要實現相同的額外努力來實現這一點。這就是為什么,我很確定這是不可能的。

TA貢獻1871條經驗 獲得超13個贊
我能夠通過使用鉤子來實現這一點。您需要將自定義>腳本添加到 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}
- 2 回答
- 0 關注
- 82 瀏覽
添加回答
舉報