【问题标题】:Limit access to GCP Cloud Function based on domain rather than IAM基于域而不是 IAM 限制对 GCP Cloud Function 的访问
【发布时间】:2022-02-02 04:38:44
【问题描述】:

我有一个函数,我想在一个简单的脚本标签中通过 HTTP 调用运行,即<script src="https://server-location.cloudfunctions.net/function-name />。我想确保调用仅来自列入白名单的域,例如,您可以处理云存储访问请求。

我已经看到了一些关于 SO (1 2 3) 的建议,但它们都建议 a) 请求标头中的 IAM 凭证或 b) 在函数本身中包含一些安全检查。这些不起作用,因为a)您不能发送带有script标签的标头,即使可以,我也必须将凭据存储在不安全的html中,并且b)在函数不会限制对该函数的调用次数,这就是我想要做的(以防止可怕的账单)。

有没有办法做到这一点?

【问题讨论】:

  • 有多种方法可以配置网络设置以控制进出 Cloud Functions 的进出流量。它们在doc 中进行了解释。您可以尝试使用特定的Service perimeter“仅允许内部流量”。如果这对您的用例有帮助,请告诉我。

标签: security google-cloud-platform google-cloud-functions google-cloud-iam


【解决方案1】:

您可以使用HTTPS Load Balancer with your Cloud Functions in a serverless NEG.

然后您可以在负载均衡器上激活 Cloud Armor 并设置custom rule。您可以使用request.headers 映射并在“HOST”键上进行过滤,以仅接受您想要的请求者域。

【讨论】:

    猜你喜欢
    • 2020-05-06
    • 1970-01-01
    • 2020-05-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-05
    • 1970-01-01
    • 1970-01-01
    • 2019-07-07
    相关资源
    最近更新 更多