403来自Google Cloud Functions的响应 [英] 403 Response from Google Cloud Functions

查看:68
本文介绍了403来自Google Cloud Functions的响应的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

尝试从网络执行Cloud Function端点时收到以下错误:

I'm receiving the following error when trying to execute a Cloud Function endpoint from the web:

<!DOCTYPE html>
<html lang=en>
  <meta charset=utf-8>
  <meta name=viewport content="initial-scale=1, minimum-scale=1, width=device-width">
  <title>Error 403 (Forbidden)!!1</title>
  <style>
    *{margin:0;padding:0}html,code{font:15px/22px arial,sans-serif}html{background:#fff;color:#222;padding:15px}body{margin:7% auto 0;max-width:390px;min-height:180px;padding:30px 0 15px}* > body{background:url(//www.google.com/images/errors/robot.png) 100% 5pxno-repeat;padding-right:205px}p{margin:11px 0 22px;overflow:hidden}ins{color:#777;text-decoration:none}a img{border:0}@media screen and (max-width:772px){body{background:none;margin-top:0;max-width:none;padding-right:0}}#logo{background:url(//www.google.com/images/branding/googlelogo/1x/googlelogo_color_150x54dp.png) no-repeat;margin-left:-5px}@media only screen and (min-resolution:192dpi){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat 0% 0%/100% 100%;-moz-border-image:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) 0}}@media only screen and (-webkit-min-device-pixel-ratio:2){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat;-webkit-background-size:100% 100%}}#logo{display:inline-block;height:54px;width:150px}
  </style>
  <a href=//www.google.com/><span id=logo aria-label=Google></span></a>
  <p><b>403.</b> <ins>That’s an error.</ins>
  <p>Access is forbidden.  <ins>That’s all we know.</ins>

我遵循了本教程: https://github.com/GoogleCloudPlatform/python-docs-samples/blob/master/functions/helloworld/main.py

按此处所述调用函数时: https://cloud.google.com/functions/docs/writing/http ,我收到403错误.我已登录gcloud项目并使用了正确的用户.

When calling the function as noted here: https://cloud.google.com/functions/docs/writing/http, I receive a 403 error. I'm logged into the gcloud project and using the correct user.

部署命令:

gcloud beta functions deploy hello_get --runtime python37 --trigger-http

来自此文档: https://cloud.google.com/functions/docs/concepts/python-runtime

使用以下命令调用它: curl -X POST https://<REGION-PROJECT_ID>.cloudfunctions.net/hello_get

Called it with this command: curl -X POST https://<REGION-PROJECT_ID>.cloudfunctions.net/hello_get

来自此文档: https://cloud.google.com/functions/docs/写作/http

这很奇怪,因为这大约在3周前开始发生.旧功能停止工作并返回403响应.我在UI中部署了示例函数,该函数仅在从UI部署时有效,但在通过http请求到达端点时失败并显示403.

It's odd because this started happening about 3 weeks ago. Old functions stopped working and return a 403 response. I deployed the sample function in the UI and it only works when deploying from the UI but fails with a 403 when going to the endpoint via an http request.

此外,使用以下命令时,该函数将成功执行:gcloud functions call hello_get

Also, the function successfully executes when using the command: gcloud functions call hello_get

在过去的两周中,GCF身份验证是否发生了变化?

Was there a change in GCF auth over the last couple of weeks?

更新 我能够找出问题所在.我参与的项目和用户处于beta身份验证程序中.切换到不在程序中的用户和项目后,我便可以访问端点.

UPDATE I was able to identify the issue. The project I was on and user was in a beta auth program. After switching to a user and project not in the program, I was able to access the endpoint.

谢谢您的帮助.

推荐答案

在我看来,其他IAM功能已添加到Google Cloud Functions中,因此,您可能尚未打开allUser对功能的访问权限(FYI这样可以访问整个网络.

It seems to me that additional IAM functionality was added to Google Cloud Functions, and as a result, you may have not turned on allUser access to the function (FYI this give acess to the whole web).

  1. 在Cloud Functions主页上,突出显示要添加所有访问权限的Cloud Function.

  1. On the Cloud Functions homepage, highlight the Cloud Function you want to add all access to.

单击右上角的显示信息面板".

Click "Show Info Panel" on the top right.

单击添加成员"并键入"allUsers",然后在角色"框中的云功能"下选择云功能调用者".

Click "Add Members" and type "allUsers" then select "Cloud Function Invokers" under "Cloud Function" in the Role box.

单击保存"

这篇关于403来自Google Cloud Functions的响应的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆