【问题标题】:Cut Cloud Run service from running - safety reasons停止运行 Cloud Run 服务 - 出于安全原因
【发布时间】:2021-05-17 20:23:57
【问题描述】:

假设,我运行 Google 的 Cloud Run 服务。 我们还假设有人真的想伤害您并找出所有 API 路由,或者能够通过向网站发送垃圾邮件来发送大量后期请求。

有一个电子邮件通知,会弹出您之前设置的某些限制。

还有没有办法自动切断 Cloud Run 服务,或者设置为暂时下线?我找不到任何好的资源或解决方案。

【问题讨论】:

    标签: google-cloud-platform google-cloud-run


    【解决方案1】:

    除了 Dondi 提出的身份验证解决方案之外,还有几种解决方案可以从流量 Cloud Run 服务中移除

    【讨论】:

    • 感谢您的回答。你能提供一些来源吗?如果包含来源将是最佳答案!
    • 是的,当然,我添加了指向文档的指针。如果您需要更多帮助,请告诉我
    • 非常感谢。你能描述一下我如何自动切断服务,比如在我的代码中添加一些执行的东西,如果我认识到我的限制已经达到了吗?
    • 你在说哪个限制?是通话次数吗?是预算限制吗?你能分享更多关于你的策略的背景吗?
    • 当然。这将是预算限制
    【解决方案2】:

    您不能真正“关闭” Cloud Run 服务,因为它完全由 Google 管理。如果没有请求,Cloud Run 实例会自动缩减为零,但它会继续提供流量。

    要模拟您想要执行的操作,请确保您的服务需要身份验证,然后撤消违规用户(或所有用户)的访问权限。正如docs中提到的:

    Cloud Run(完全托管)不提供使服务停止提供流量的直接方法,但您可以通过撤销调用服务的身份调用服务的权限来实现类似的结果。值得注意的是,如果您的服务是“公共的”,请从 Cloud Run Invoker 角色 (roles/run.invoker) 中删除 allUsers

    更新:通过 IAM 策略管理对资源的访问。为了以编程方式控制访问,您必须先获取 IAM 策略,然后将角色撤消给用户或服务帐户。这是提供概述的documentation

    【讨论】:

    • 感谢您的回答,这已经对我有所帮助。有没有办法将它集成到您​​的代码中?我在那里看不到一个例子。
    猜你喜欢
    • 2022-12-22
    • 1970-01-01
    • 2014-01-20
    • 1970-01-01
    • 2016-10-30
    • 1970-01-01
    • 2013-10-25
    • 2012-05-11
    • 1970-01-01
    相关资源
    最近更新 更多