【问题标题】:Can I use temporary AWS IAM credentials with the BigQuery Data Transfer Service?我可以将临时 AWS IAM 凭证用于 BigQuery Data Transfer Service 吗?
【发布时间】:2022-11-15 07:59:18
【问题描述】:

目前,我们使用 AWS IAM 用户永久凭证按照 BigQuery 数据传输服务 documentation 将客户数据从我们公司的内部 AWS S3 存储桶传输到客户的 Google BigQuery 表。

使用永久凭证存在与存储在 AWS S3 中的数据相关的安全风险。

我们想使用 AWS IAM 角色临时凭证,这需要 BiqQuery 端的会话令牌支持才能在 AWS 端获得授权。

BigQuery Data Transfer Service 是否可以使用 AWS IAM 角色或临时凭证来授权 AWS 并传输数据?


我们考虑过使用 Omni 框架 (https://cloud.google.com/bigquery/docs/omni-aws-cross-cloud-transfer) 将数据从 S3 传输到 BQ,但是,我们面临几个问题/限制:

  1. Omni 框架针对数据分析用例,而不是来自外部服务的数据传输。这让我们担心 Omni 框架的设计在大规模数据传输方面可能存在缺陷
  2. Omni framework 目前仅支持 AWS-US-EAST-1 区域(我们需要至少支持 AWS-US-WEST-2 和 AWS-EU-CENTRAL-1 以及相应的 Google 区域)。这与当前客户将数据从内部 S3 传输到客户 BQ 的设置不向后兼容。
  3. 我们当前的客户需要注册 Omni 服务才能从我们当前使用的传输解决方案正确迁移

    我们考虑了一种解决方法,即通过在 GCS 中暂存(即 S3 -> GCS -> BQ)从 S3 导出数据,但这也需要客户和我们公司双方付出大量努力才能迁移到新解决方案。

【问题讨论】:

    标签: amazon-web-services security amazon-s3 google-bigquery amazon-iam


    【解决方案1】:

    BigQuery Data Transfer Service 是否可以使用 AWS IAM 角色或临时凭证来授权 AWS 并传输数据?

    不幸的是没有。

    官方的 Google BigQuery 数据传输服务在整个文档中只提到了 AWS 访问密钥:

    访问密钥 ID 和秘密访问密钥用于代表您访问 Amazon S3 数据。作为一个最佳实践,创建专门用于 Amazon S3 传输的唯一访问密钥 ID 和秘密访问密钥,以最大限度地减少对 BigQuery 数据传输服务的访问。有关管理访问密钥的信息,请参阅AWS 通用参考文档.


    具有讽刺意味的是,虽然它指的是最佳实践并链接到官方 AWS 文档,它实际上不认可最佳实践并忽略 AWS 提到的内容:

    我们建议您在长期访问密钥上使用临时访问密钥,如上一节所述。

    重要的

    除非别无选择,否则我们强烈建议您不要创建长期访问密钥为您的(root)用户。如果恶意用户获得了对您的(root)用户访问密钥的访问权限,他们就可以完全接管您的帐户。


    你有几个选择:

    1. 手动挂接到双方(即链接各种 SDK 和/或 API)

    2. 找到一个替代 BigQuery 兼容的服务,它就是这样做的

    3. 接受长期访问密钥的风险。

      总之,谷歌没有遵循安全最佳实践是错误的,而你——作为消费者——将不得不承担风险。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-24
      • 2012-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-07
      • 1970-01-01
      相关资源
      最近更新 更多