每当我必须使用gcloud
sdk部署新的python函数时,我都会收到以下消息
是否允许未经身份验证的调用新函数[函数名称]?
(是/否(?
警告:使用有限访问IAM策略创建的函数。要启用未经授权的访问,请考虑
"gcloud alpha函数添加iam策略绑定函数名称--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
我刚刚也遇到了这个问题,发现您可以提供--no-allow-unauthenticated
来先发制人地回答"否";对于这个问题。
gcloud functions deploy MyFunction
--runtime=go116 --trigger-http --no-allow-unauthenticated
来源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
- 选择服务
- 单击"显示信息面板"以显示"权限"选项卡
- 在添加成员字段中,allUsers
- 从角色中选择云函数调用程序
- 添加
或
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"