【问题标题】:Securing HTTP cloud function保护 HTTP 云功能
【发布时间】:2019-12-27 17:01:56
【问题描述】:

我按照this 教程创建了一个可公开访问的 HTTP 云函数。我想保护它,理想情况下使用简单的 API 密钥 - 这可能吗?

关于保护的documentation 似乎并未涵盖如何限制行为,尽管提到您可以...

【问题讨论】:

  • “安全”是什么意思?你到底想控制什么?
  • 我正在尝试从功能/编码选项非常有限的“Zoho”中获取数据。没有使用任何谷歌云库的选项,所以目前我们计划向某个“安全”端点发出 POST 请求,并允许该端点将数据保存到云数据库中。就“安全”而言,由于 zoho 脚本语言 (Deluge) 的限制,我们可能不得不将 API 密钥用作查询参数或其他选项...
  • 那么您到底关心什么?您是否担心将 API 密钥作为查询字符串参数传递给函数?

标签: google-cloud-functions


【解决方案1】:

我想保护它,最好使用简单的 API 密钥 - 这可能吗?

是的,可以保护 HTTP 函数,但是,API keys 不如其他身份验证方法安全。

不过,如果您希望使用 API 密钥来保护您的函数,则需要 deploy a Cloud Endpoints proxyconfigure your securityDefinitions 来启用 API 密钥验证。

有关保护的文档似乎没有涵盖如何限制行为

默认情况下,任何用户或服务都可以调用 HTTP 函数。但是,您可以在 HTTP 函数上配置 Cloud Identity and Access Management (IAM) 以限制此行为。通过这样做,您可以使您的 HTTP 函数仅在请求中提供身份验证凭据时才被调用。

如上述文档所述,您可以转到 Google Cloud Platform Console 并从 Console 菜单移至 Cloud Functions。在那里,您将看到您在项目中拥有的功能:

  • 在右上角,您将看到一个字段“显示信息面板” - 请选择它。选择适当的功能后,您将能够看到权限选项卡。
  • 通过使用“添加成员”字段,您将能够输入一个或多个需要访问您的功能的身份。从下拉菜单中选择角色后,您就可以添加新成员了。

同一篇文章还解释了如何remove从函数的权限中获取现有成员。

Here您可以找到有关用户访问控制以及可用角色的更多信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-30
    • 1970-01-01
    • 2011-06-26
    • 1970-01-01
    • 2020-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多