【问题标题】:How to control the access to BigQuery based on IP addresses?如何根据 IP 地址控制对 BigQuery 的访问?
【发布时间】:2021-07-05 18:37:42
【问题描述】:

有没有办法通过 IP 地址控制对 BigQuery 数据集的访问?

我假设只有特定服务器或全局 IP 地址可以使用服务帐户密钥访问 BigQuery 数据集。

【问题讨论】:

    标签: google-bigquery


    【解决方案1】:

    也许 Google 员工会在这里纠正我,但我认为目前无法对数据集访问进行 IP 过滤 - 即使在服务帐户级别也是如此。

    一种选择是通过手动滚动您自己的后端/API(例如 AppEngine、Apache 等)来封装您的 BigQuery 数据集访问,并在其中执行您的 IP 过滤逻辑,然后再将请求卸载到 BigQuery。

    【讨论】:

    • 感谢您给我答复。我担心恶意第三方获取服务密钥文件并尝试从不同环境访问某个 BigQuery 数据集的情况。如果发生这种情况,我想我可以通过禁用密钥并创建新密钥来解决这种情况。我将尝试检查“在域级别共享数据集”是否符合我的要求。
    【解决方案2】:

    我可以创建的最“封闭”的 BigQuery 数据集:

    • 创建一个数据集,将表格放入其中。
    • 更改数据集权限,从中删除所有人。请注意,您无法移除所有所有者,因此缺少一个步骤:
    • 添加一个服务帐户作为数据集的所有者,然后删​​除所有其他所有者。

    现在没有人可以查询这个数据集,除了指定的服务帐户。

    (测试时在删除权限后等待几秒钟,因为访问可能会被临时缓存)

    为了提高安全性,如果您使用的是 Google Compute Engine,则可以使用 default service account - 这意味着无需生成或处理密钥。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-01
      • 2014-04-10
      • 2012-11-22
      • 1970-01-01
      • 2013-01-18
      • 1970-01-01
      • 2010-11-26
      • 1970-01-01
      相关资源
      最近更新 更多