【发布时间】:2021-05-19 23:33:12
【问题描述】:
我的团队正计划构建一个涉及 S3 与 Snowflake 集成的数据处理管道。来自 Snowflake 的This article 表明,必须创建 AWS IAM 角色才能让 Snowflake 访问 S3 的数据。
但是,在我们的管道中,我们需要确保用户之间的多租户和数据隔离。例如,假设 Alice 和 Bob 在 S3 中的文件分别位于 "s3://bucket-alice/file_a.csv" 和 "s3://bucket-bob/file_b.csv" 下。然后,我们要确保在将 Alice 的数据暂存到 Snowflake 时,Alice 只能访问"s3://bucket-alice",而在"s3://bucket-bob" 下什么也不能访问。这意味着必须为每个用户创建单独的 AWS IAM 角色。
我确实意识到 Snowflake 有自己的access control system,但我的团队希望确保从管道的 S3 到 Snowflake 阶段完全实现数据隔离,而不仅仅是依赖于 Snowflake 的访问控制。
我们担心这将无法扩展,因为 AWS 设置了 a limit of 5000 IAM users,并且在我们扩展产品时这还不够。这是确保数据多租户的唯一方法吗?有人有类似的真实应用示例吗?
【问题讨论】:
-
嗨 - 在这种情况下,您对多租户的定义是什么?您是否计划让每个租户中的用户有可能访问所有 Snowflake 功能,或者您是否计划限制他们可以做的事情,例如他们只能查询数据,而您作为多租户的所有者,将负责任何数据加载?
标签: amazon-s3 snowflake-cloud-data-platform