12

每当我必须使用gcloudsdk 部署新的 python 函数时,我都会收到此消息

允许未经身份验证调用新函数 [函数名称]?

(是/否)?

警告:使用受限访问 IAM 策略创建的函数。要启用未经授权的访问,请考虑

“gcloud alpha 函数 add-iam-policy-binding function-name --region=europe-west1 --member=allUsers --role=roles/cloudfunctions.invoker”

我可以在命令中添加任何标志以使其NO在部署时成为一个吗?

这是我用来部署一个功能的示例命令:

gcloud functions deploy function-name --region=europe-west1 --entry-point function-entry-point --trigger-resource "projects/my-project/databases/(default)/documents/user_ids/{user_id}" --trigger-event providers/cloud.firestore/eventTypes/document.create --runtime python37 --timeout 60 --project my-project
4

3 回答 3

6

来自https://cloud.google.com/sdk/docs/scripting-gcloud#disabling_prompts

disable_prompts您可以通过将配置中的属性设置为True或使用全局--quiet-q标志来禁用 gcloud CLI 命令的提示。

因此,对于您的示例,您可以运行:

gcloud functions deploy function-name --quiet --region=europe-west1 --entry-point function-entry-point --trigger-resource "projects/my-project/databases/(default)/documents/user_ids/{user_id}" --trigger-event providers/cloud.firestore/eventTypes/document.create --runtime python37 --timeout 60 --project my-project
于 2020-05-02T02:23:16.303 回答
3
  1. 选择服务
  2. 单击显示信息面板以显示权限选项卡。
  3. 在添加成员字段中,所有用户
  4. 从角色中选择 Cloud Functions Invoker
  5. 添加

或者

  gcloud functions add-iam-policy-binding FUNCTION \
  --member='serviceAccount:FUNCTION_IDENTITY' \
  --role='roles/cloudfunctions.invoker'

 gcloud run services add-iam-policy-binding [SERVICE_NAME] \
    --member="allUsers" \
    --role="roles/cloudfunctions.invoker"
于 2021-07-07T13:36:50.140 回答
0

我刚刚也遇到了这个问题,发现您可以--no-allow-unauthenticated先发制人地回答“否”这个问题。

gcloud functions deploy MyFunction \
  --runtime=go116 --trigger-http --no-allow-unauthenticated
于 2022-02-10T06:48:11.160 回答